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>
diff --git a/monitor/hmp.c b/monitor/hmp.c
index d40f4f4..f2fe192 100644
--- a/monitor/hmp.c
+++ b/monitor/hmp.c
@@ -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_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 @@
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;
}