remove preconfig state

The preconfig state is only used if -incoming is not specified, which
makes the RunState state machine more tricky than it need be.  However
there is already an equivalent condition which works even with -incoming,
namely qdev_hotplug.  Use it instead of a separate runstate.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2020-10-27 04:44:18 -04:00
parent 69e92bd558
commit 164dafd174
11 changed files with 34 additions and 29 deletions

View file

@ -24,6 +24,7 @@
#include "qemu/osdep.h"
#include <dirent.h>
#include "hw/qdev-core.h"
#include "monitor-internal.h"
#include "qapi/error.h"
#include "qapi/qmp/qdict.h"
@ -215,7 +216,7 @@ static bool cmd_can_preconfig(const HMPCommand *cmd)
static bool cmd_available(const HMPCommand *cmd)
{
return !runstate_check(RUN_STATE_PRECONFIG) || cmd_can_preconfig(cmd);
return qdev_hotplug || cmd_can_preconfig(cmd);
}
static void help_cmd_dump_one(Monitor *mon,
@ -658,8 +659,8 @@ static const HMPCommand *monitor_parse_command(MonitorHMP *hmp_mon,
return NULL;
}
if (!cmd_available(cmd)) {
monitor_printf(mon, "Command '%.*s' not available with -preconfig "
"until after exit_preconfig.\n",
monitor_printf(mon, "Command '%.*s' not available "
"until machine initialization has completed.\n",
(int)(p - cmdp_start), cmdp_start);
return NULL;
}