* [Qemu-devel] [PULL 1/9] monitor: report entirety of hmp command on error
2018-06-21 16:47 [Qemu-devel] [PULL 0/9] hmp queue Dr. David Alan Gilbert (git)
@ 2018-06-21 16:47 ` Dr. David Alan Gilbert (git)
2018-06-21 16:47 ` [Qemu-devel] [PULL 2/9] hmp-commands: use long for begin and length in dump-guest-memory Dr. David Alan Gilbert (git)
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-06-21 16:47 UTC (permalink / raw)
To: qemu-devel, imammedo, sjitindarsingh, walling; +Cc: armbru
From: Collin Walling <walling@linux.ibm.com>
When a user incorrectly provides an hmp command, an error response will be
printed that prompts the user to try "help <command name>". However, when
the command contains multiple parts e.g. "info uuid xyz", only the last
whitespace delimited string will be reported (in this example "info" will
be dropped and the message will read "Try "help uuid" for more information",
which is incorrect).
Let's correct this by capturing the entirety of the command from the command
line -- excluding any extraneous characters.
Reported-by: Mikhail Fokin <fokin@de.ibm.com>
Signed-off-by: Collin Walling <walling@linux.ibm.com>
Message-Id: <ee680f5e-ac9a-479d-f65e-9f8ae9cfe5d4@linux.ibm.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
monitor.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/monitor.c b/monitor.c
index 885e000f9b..2a8187f5d7 100644
--- a/monitor.c
+++ b/monitor.c
@@ -3431,6 +3431,7 @@ static void handle_hmp_command(Monitor *mon, const char *cmdline)
{
QDict *qdict;
const mon_cmd_t *cmd;
+ const char *cmd_start = cmdline;
trace_handle_hmp_command(mon, cmdline);
@@ -3447,8 +3448,11 @@ static void handle_hmp_command(Monitor *mon, const char *cmdline)
qdict = monitor_parse_arguments(mon, &cmdline, cmd);
if (!qdict) {
- monitor_printf(mon, "Try \"help %s\" for more information\n",
- cmd->name);
+ while (cmdline > cmd_start && qemu_isspace(cmdline[-1])) {
+ cmdline--;
+ }
+ monitor_printf(mon, "Try \"help %.*s\" for more information\n",
+ (int)(cmdline - cmd_start), cmd_start);
return;
}
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Qemu-devel] [PULL 2/9] hmp-commands: use long for begin and length in dump-guest-memory
2018-06-21 16:47 [Qemu-devel] [PULL 0/9] hmp queue Dr. David Alan Gilbert (git)
2018-06-21 16:47 ` [Qemu-devel] [PULL 1/9] monitor: report entirety of hmp command on error Dr. David Alan Gilbert (git)
@ 2018-06-21 16:47 ` Dr. David Alan Gilbert (git)
2018-06-21 16:47 ` [Qemu-devel] [PULL 3/9] hmp: Add flag for preconfig commands Dr. David Alan Gilbert (git)
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-06-21 16:47 UTC (permalink / raw)
To: qemu-devel, imammedo, sjitindarsingh, walling; +Cc: armbru
From: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
The dump-guest-memory command is used to dump an area of guest memory
to a file, the piece of memory is specified by a begin address and
a length. These parameters are specified as ints and thus have a maximum
value of 4GB. This means you can't dump the guest memory past the first
4GB and instead get:
(qemu) dump-guest-memory tmp 0x100000000 0x100000000
'dump-guest-memory' has failed: integer is for 32-bit values
Try "help dump-guest-memory" for more information
This limitation is imposed in monitor_parse_arguments() since they are
both ints. hmp_dump_guest_memory() uses 64 bit quantities to store both
the begin and length values. Thus specify begin and length as long so
that the entire guest memory space can be dumped.
Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Message-Id: <20180620003202.10546-1-sjitindarsingh@gmail.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
hmp-commands.hx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 0de7c4c29e..754620e411 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1116,7 +1116,7 @@ ETEXI
{
.name = "dump-guest-memory",
- .args_type = "paging:-p,detach:-d,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:i?,length:i?",
+ .args_type = "paging:-p,detach:-d,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:l?,length:l?",
.params = "[-p] [-d] [-z|-l|-s] filename [begin length]",
.help = "dump guest memory into file 'filename'.\n\t\t\t"
"-p: do paging to get guest's memory mapping.\n\t\t\t"
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Qemu-devel] [PULL 3/9] hmp: Add flag for preconfig commands
2018-06-21 16:47 [Qemu-devel] [PULL 0/9] hmp queue Dr. David Alan Gilbert (git)
2018-06-21 16:47 ` [Qemu-devel] [PULL 1/9] monitor: report entirety of hmp command on error Dr. David Alan Gilbert (git)
2018-06-21 16:47 ` [Qemu-devel] [PULL 2/9] hmp-commands: use long for begin and length in dump-guest-memory Dr. David Alan Gilbert (git)
@ 2018-06-21 16:47 ` Dr. David Alan Gilbert (git)
2018-06-21 16:47 ` [Qemu-devel] [PULL 4/9] hmp: Allow help on " Dr. David Alan Gilbert (git)
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-06-21 16:47 UTC (permalink / raw)
To: qemu-devel, imammedo, sjitindarsingh, walling; +Cc: armbru
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Add a flag to command definitions to allow them to be used in preconfig
and check it.
If users try to use commands that aren't available, tell them to use
the exit_preconfig comand we're adding in a few patches.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20180620153947.30834-2-dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
monitor.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/monitor.c b/monitor.c
index 2a8187f5d7..ff26d863db 100644
--- a/monitor.c
+++ b/monitor.c
@@ -128,6 +128,7 @@ typedef struct mon_cmd_t {
const char *args_type;
const char *params;
const char *help;
+ const char *flags; /* p=preconfig */
void (*cmd)(Monitor *mon, const QDict *qdict);
/* @sub_table is a list of 2nd level of commands. If it does not exist,
* cmd should be used. If it exists, sub_table[?].cmd should be
@@ -958,6 +959,19 @@ static int parse_cmdline(const char *cmdline,
return -1;
}
+/*
+ * Returns true if the command can be executed in preconfig mode
+ * i.e. it has the 'p' flag.
+ */
+static bool cmd_can_preconfig(const mon_cmd_t *cmd)
+{
+ if (!cmd->flags) {
+ return false;
+ }
+
+ return strchr(cmd->flags, 'p');
+}
+
static void help_cmd_dump_one(Monitor *mon,
const mon_cmd_t *cmd,
char **prefix_args,
@@ -3041,6 +3055,12 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon,
(int)(p - cmdp_start), cmdp_start);
return NULL;
}
+ if (runstate_check(RUN_STATE_PRECONFIG) && !cmd_can_preconfig(cmd)) {
+ monitor_printf(mon, "Command '%.*s' not available with -preconfig "
+ "until after exit_preconfig.\n",
+ (int)(p - cmdp_start), cmdp_start);
+ return NULL;
+ }
/* filter out following useless space */
while (qemu_isspace(*p)) {
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Qemu-devel] [PULL 4/9] hmp: Allow help on preconfig commands
2018-06-21 16:47 [Qemu-devel] [PULL 0/9] hmp queue Dr. David Alan Gilbert (git)
` (2 preceding siblings ...)
2018-06-21 16:47 ` [Qemu-devel] [PULL 3/9] hmp: Add flag for preconfig commands Dr. David Alan Gilbert (git)
@ 2018-06-21 16:47 ` Dr. David Alan Gilbert (git)
2018-06-21 16:47 ` [Qemu-devel] [PULL 5/9] hmp: Restrict auto-complete in preconfig Dr. David Alan Gilbert (git)
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-06-21 16:47 UTC (permalink / raw)
To: qemu-devel, imammedo, sjitindarsingh, walling; +Cc: armbru
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Allow the 'help' command in preconfig state but
make it only list the preconfig commands.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20180620153947.30834-3-dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
hmp-commands.hx | 1 +
monitor.c | 8 +++++++-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 754620e411..7ce991f4dd 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -15,6 +15,7 @@ ETEXI
.params = "[cmd]",
.help = "show the help",
.cmd = do_help_cmd,
+ .flags = "p",
},
STEXI
diff --git a/monitor.c b/monitor.c
index ff26d863db..18c2207e6d 100644
--- a/monitor.c
+++ b/monitor.c
@@ -979,6 +979,10 @@ static void help_cmd_dump_one(Monitor *mon,
{
int i;
+ if (runstate_check(RUN_STATE_PRECONFIG) && !cmd_can_preconfig(cmd)) {
+ return;
+ }
+
for (i = 0; i < prefix_args_nb; i++) {
monitor_printf(mon, "%s ", prefix_args[i]);
}
@@ -1001,7 +1005,9 @@ static void help_cmd_dump(Monitor *mon, const mon_cmd_t *cmds,
/* Find one entry to dump */
for (cmd = cmds; cmd->name != NULL; cmd++) {
- if (compare_cmd(args[arg_index], cmd->name)) {
+ if (compare_cmd(args[arg_index], cmd->name) &&
+ ((!runstate_check(RUN_STATE_PRECONFIG) ||
+ cmd_can_preconfig(cmd)))) {
if (cmd->sub_table) {
/* continue with next arg */
help_cmd_dump(mon, cmd->sub_table,
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Qemu-devel] [PULL 5/9] hmp: Restrict auto-complete in preconfig
2018-06-21 16:47 [Qemu-devel] [PULL 0/9] hmp queue Dr. David Alan Gilbert (git)
` (3 preceding siblings ...)
2018-06-21 16:47 ` [Qemu-devel] [PULL 4/9] hmp: Allow help on " Dr. David Alan Gilbert (git)
@ 2018-06-21 16:47 ` Dr. David Alan Gilbert (git)
2018-06-21 16:47 ` [Qemu-devel] [PULL 6/9] qmp: Enable a few commands in preconfig state Dr. David Alan Gilbert (git)
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-06-21 16:47 UTC (permalink / raw)
To: qemu-devel, imammedo, sjitindarsingh, walling; +Cc: armbru
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Don't show the commands that aren't available.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20180620153947.30834-4-dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
monitor.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/monitor.c b/monitor.c
index 18c2207e6d..068c094a9a 100644
--- a/monitor.c
+++ b/monitor.c
@@ -4020,12 +4020,17 @@ static void monitor_find_completion_by_table(Monitor *mon,
cmdname = args[0];
readline_set_completion_index(mon->rs, strlen(cmdname));
for (cmd = cmd_table; cmd->name != NULL; cmd++) {
- cmd_completion(mon, cmdname, cmd->name);
+ if (!runstate_check(RUN_STATE_PRECONFIG) ||
+ cmd_can_preconfig(cmd)) {
+ cmd_completion(mon, cmdname, cmd->name);
+ }
}
} else {
/* find the command */
for (cmd = cmd_table; cmd->name != NULL; cmd++) {
- if (compare_cmd(args[0], cmd->name)) {
+ if (compare_cmd(args[0], cmd->name) &&
+ (!runstate_check(RUN_STATE_PRECONFIG) ||
+ cmd_can_preconfig(cmd))) {
break;
}
}
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Qemu-devel] [PULL 6/9] qmp: Enable a few commands in preconfig state
2018-06-21 16:47 [Qemu-devel] [PULL 0/9] hmp queue Dr. David Alan Gilbert (git)
` (4 preceding siblings ...)
2018-06-21 16:47 ` [Qemu-devel] [PULL 5/9] hmp: Restrict auto-complete in preconfig Dr. David Alan Gilbert (git)
@ 2018-06-21 16:47 ` Dr. David Alan Gilbert (git)
2018-06-21 16:47 ` [Qemu-devel] [PULL 7/9] hmp: Add commands for preconfig Dr. David Alan Gilbert (git)
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-06-21 16:47 UTC (permalink / raw)
To: qemu-devel, imammedo, sjitindarsingh, walling; +Cc: armbru
From: Igor Mammedov <imammedo@redhat.com>
Commands query-chardev, query-version, query-name, query-uuid,
query-iothreads, query-memdev are informational and do not depend on
the machine being initialized. Make them available in preconfig
runstate to make the latter a little bit more useful.
The generic qom commands don't depend on the machine being initialized
either; so enabled qom-list, qom-get, qom-set, qom-list-types,
qom-list-properties.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20180620153947.30834-5-dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
qapi/char.json | 3 ++-
qapi/misc.json | 27 +++++++++++++++++----------
2 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/qapi/char.json b/qapi/char.json
index ae19dcd1ed..60f31d83fc 100644
--- a/qapi/char.json
+++ b/qapi/char.json
@@ -62,7 +62,8 @@
# }
#
##
-{ 'command': 'query-chardev', 'returns': ['ChardevInfo'] }
+{ 'command': 'query-chardev', 'returns': ['ChardevInfo'],
+ 'allow-preconfig': true }
##
# @ChardevBackendInfo:
diff --git a/qapi/misc.json b/qapi/misc.json
index f83a63a0ab..fa86831ec3 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -117,7 +117,8 @@
# }
#
##
-{ 'command': 'query-version', 'returns': 'VersionInfo' }
+{ 'command': 'query-version', 'returns': 'VersionInfo',
+ 'allow-preconfig': true }
##
# @CommandInfo:
@@ -241,7 +242,7 @@
# <- { "return": { "name": "qemu-name" } }
#
##
-{ 'command': 'query-name', 'returns': 'NameInfo' }
+{ 'command': 'query-name', 'returns': 'NameInfo', 'allow-preconfig': true }
##
# @KvmInfo:
@@ -301,7 +302,7 @@
# <- { "return": { "UUID": "550e8400-e29b-41d4-a716-446655440000" } }
#
##
-{ 'command': 'query-uuid', 'returns': 'UuidInfo' }
+{ 'command': 'query-uuid', 'returns': 'UuidInfo', 'allow-preconfig': true }
##
# @EventInfo:
@@ -710,7 +711,8 @@
# }
#
##
-{ 'command': 'query-iothreads', 'returns': ['IOThreadInfo'] }
+{ 'command': 'query-iothreads', 'returns': ['IOThreadInfo'],
+ 'allow-preconfig': true }
##
# @BalloonInfo:
@@ -1408,7 +1410,8 @@
##
{ 'command': 'qom-list',
'data': { 'path': 'str' },
- 'returns': [ 'ObjectPropertyInfo' ] }
+ 'returns': [ 'ObjectPropertyInfo' ],
+ 'allow-preconfig': true }
##
# @qom-get:
@@ -1444,7 +1447,8 @@
##
{ 'command': 'qom-get',
'data': { 'path': 'str', 'property': 'str' },
- 'returns': 'any' }
+ 'returns': 'any',
+ 'allow-preconfig': true }
##
# @qom-set:
@@ -1461,7 +1465,8 @@
# Since: 1.2
##
{ 'command': 'qom-set',
- 'data': { 'path': 'str', 'property': 'str', 'value': 'any' } }
+ 'data': { 'path': 'str', 'property': 'str', 'value': 'any' },
+ 'allow-preconfig': true }
##
# @change:
@@ -1543,7 +1548,8 @@
##
{ 'command': 'qom-list-types',
'data': { '*implements': 'str', '*abstract': 'bool' },
- 'returns': [ 'ObjectTypeInfo' ] }
+ 'returns': [ 'ObjectTypeInfo' ],
+ 'allow-preconfig': true }
##
# @device-list-properties:
@@ -1581,7 +1587,8 @@
##
{ 'command': 'qom-list-properties',
'data': { 'typename': 'str'},
- 'returns': [ 'ObjectPropertyInfo' ] }
+ 'returns': [ 'ObjectPropertyInfo' ],
+ 'allow-preconfig': true }
##
# @xen-set-global-dirty-log:
@@ -2902,7 +2909,7 @@
# }
#
##
-{ 'command': 'query-memdev', 'returns': ['Memdev'] }
+{ 'command': 'query-memdev', 'returns': ['Memdev'], 'allow-preconfig': true }
##
# @PCDIMMDeviceInfo:
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Qemu-devel] [PULL 7/9] hmp: Add commands for preconfig
2018-06-21 16:47 [Qemu-devel] [PULL 0/9] hmp queue Dr. David Alan Gilbert (git)
` (5 preceding siblings ...)
2018-06-21 16:47 ` [Qemu-devel] [PULL 6/9] qmp: Enable a few commands in preconfig state Dr. David Alan Gilbert (git)
@ 2018-06-21 16:47 ` Dr. David Alan Gilbert (git)
2018-06-21 16:47 ` [Qemu-devel] [PULL 8/9] hmp: add exit_preconfig Dr. David Alan Gilbert (git)
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-06-21 16:47 UTC (permalink / raw)
To: qemu-devel, imammedo, sjitindarsingh, walling; +Cc: armbru
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Allow a bunch of the info commands to be used in preconfig.
version, chardev, name, uuid,memdev, iothreads
Were enabled in QMP in the previous patch from Igor
status, hotpluggable_cpus
Was enabled in the original allow-preconfig series
history
is HMP specific
qom-tree
Don't have a QMP equivalent
Also enable the qom commands qom-list and qom-set.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20180620153947.30834-6-dgilbert@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Dropped info numa as per Igor's 2018-06-21 review
---
hmp-commands-info.hx | 10 ++++++++++
hmp-commands.hx | 3 +++
2 files changed, 13 insertions(+)
diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx
index ddfcd5adcc..6db3457a78 100644
--- a/hmp-commands-info.hx
+++ b/hmp-commands-info.hx
@@ -19,6 +19,7 @@ ETEXI
.params = "",
.help = "show the version of QEMU",
.cmd = hmp_info_version,
+ .flags = "p",
},
STEXI
@@ -47,6 +48,7 @@ ETEXI
.params = "",
.help = "show the character devices",
.cmd = hmp_info_chardev,
+ .flags = "p",
},
STEXI
@@ -165,6 +167,7 @@ ETEXI
.params = "",
.help = "show the command line history",
.cmd = hmp_info_history,
+ .flags = "p",
},
STEXI
@@ -399,6 +402,7 @@ ETEXI
.params = "",
.help = "show the current VM status (running|paused)",
.cmd = hmp_info_status,
+ .flags = "p",
},
STEXI
@@ -457,6 +461,7 @@ ETEXI
.params = "",
.help = "show the current VM name",
.cmd = hmp_info_name,
+ .flags = "p",
},
STEXI
@@ -471,6 +476,7 @@ ETEXI
.params = "",
.help = "show the current VM UUID",
.cmd = hmp_info_uuid,
+ .flags = "p",
},
STEXI
@@ -613,6 +619,7 @@ ETEXI
.params = "[path]",
.help = "show QOM composition tree",
.cmd = hmp_info_qom_tree,
+ .flags = "p",
},
STEXI
@@ -671,6 +678,7 @@ ETEXI
.params = "",
.help = "show memory backends",
.cmd = hmp_info_memdev,
+ .flags = "p",
},
STEXI
@@ -699,6 +707,7 @@ ETEXI
.params = "",
.help = "show iothreads",
.cmd = hmp_info_iothreads,
+ .flags = "p",
},
STEXI
@@ -829,6 +838,7 @@ ETEXI
.params = "",
.help = "Show information about hotpluggable CPUs",
.cmd = hmp_hotpluggable_cpus,
+ .flags = "p",
},
STEXI
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 7ce991f4dd..4acf6a3222 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1828,6 +1828,7 @@ ETEXI
.params = "path",
.help = "list QOM properties",
.cmd = hmp_qom_list,
+ .flags = "p",
},
STEXI
@@ -1841,6 +1842,7 @@ ETEXI
.params = "path property value",
.help = "set QOM property",
.cmd = hmp_qom_set,
+ .flags = "p",
},
STEXI
@@ -1855,6 +1857,7 @@ ETEXI
.help = "show various information about the system state",
.cmd = hmp_info_help,
.sub_table = info_cmds,
+ .flags = "p",
},
STEXI
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Qemu-devel] [PULL 8/9] hmp: add exit_preconfig
2018-06-21 16:47 [Qemu-devel] [PULL 0/9] hmp queue Dr. David Alan Gilbert (git)
` (6 preceding siblings ...)
2018-06-21 16:47 ` [Qemu-devel] [PULL 7/9] hmp: Add commands for preconfig Dr. David Alan Gilbert (git)
@ 2018-06-21 16:47 ` Dr. David Alan Gilbert (git)
2018-06-21 16:47 ` [Qemu-devel] [PULL 9/9] hmp: Allow HMP in preconfig state again Dr. David Alan Gilbert (git)
2018-06-22 13:18 ` [Qemu-devel] [PULL 0/9] hmp queue Peter Maydell
9 siblings, 0 replies; 11+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-06-21 16:47 UTC (permalink / raw)
To: qemu-devel, imammedo, sjitindarsingh, walling; +Cc: armbru
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Add the exit_preconfig command to return to normality.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20180620153947.30834-7-dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
hmp-commands.hx | 19 +++++++++++++++++++
hmp.c | 8 ++++++++
hmp.h | 1 +
3 files changed, 28 insertions(+)
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 4acf6a3222..ba9cdb8800 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -55,6 +55,25 @@ STEXI
@item q or quit
@findex quit
Quit the emulator.
+ETEXI
+
+ {
+ .name = "exit_preconfig",
+ .args_type = "",
+ .params = "",
+ .help = "exit the preconfig state",
+ .cmd = hmp_exit_preconfig,
+ .flags = "p",
+ },
+
+STEXI
+@item exit_preconfig
+@findex exit_preconfig
+This command makes QEMU exit the preconfig state and proceed with
+VM initialization using configuration data provided on the command line
+and via the QMP monitor during the preconfig state. The command is only
+available during the preconfig state (i.e. when the --preconfig command
+line option was in use).
ETEXI
{
diff --git a/hmp.c b/hmp.c
index f40d8279cf..f601099f90 100644
--- a/hmp.c
+++ b/hmp.c
@@ -1068,6 +1068,14 @@ void hmp_system_powerdown(Monitor *mon, const QDict *qdict)
qmp_system_powerdown(NULL);
}
+void hmp_exit_preconfig(Monitor *mon, const QDict *qdict)
+{
+ Error *err = NULL;
+
+ qmp_exit_preconfig(&err);
+ hmp_handle_error(mon, &err);
+}
+
void hmp_cpu(Monitor *mon, const QDict *qdict)
{
int64_t cpu_index;
diff --git a/hmp.h b/hmp.h
index 20f27439d3..33354f1bdd 100644
--- a/hmp.h
+++ b/hmp.h
@@ -44,6 +44,7 @@ void hmp_quit(Monitor *mon, const QDict *qdict);
void hmp_stop(Monitor *mon, const QDict *qdict);
void hmp_system_reset(Monitor *mon, const QDict *qdict);
void hmp_system_powerdown(Monitor *mon, const QDict *qdict);
+void hmp_exit_preconfig(Monitor *mon, const QDict *qdict);
void hmp_cpu(Monitor *mon, const QDict *qdict);
void hmp_memsave(Monitor *mon, const QDict *qdict);
void hmp_pmemsave(Monitor *mon, const QDict *qdict);
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Qemu-devel] [PULL 9/9] hmp: Allow HMP in preconfig state again
2018-06-21 16:47 [Qemu-devel] [PULL 0/9] hmp queue Dr. David Alan Gilbert (git)
` (7 preceding siblings ...)
2018-06-21 16:47 ` [Qemu-devel] [PULL 8/9] hmp: add exit_preconfig Dr. David Alan Gilbert (git)
@ 2018-06-21 16:47 ` Dr. David Alan Gilbert (git)
2018-06-22 13:18 ` [Qemu-devel] [PULL 0/9] hmp queue Peter Maydell
9 siblings, 0 replies; 11+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-06-21 16:47 UTC (permalink / raw)
To: qemu-devel, imammedo, sjitindarsingh, walling; +Cc: armbru
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Now we can cope with preconfig in HMP, reenable by reverting
commit 71dc578e116599ea73c8a2a4e693134702ec0e83.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20180620153947.30834-8-dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
monitor.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/monitor.c b/monitor.c
index 068c094a9a..0730a27172 100644
--- a/monitor.c
+++ b/monitor.c
@@ -3461,12 +3461,6 @@ static void handle_hmp_command(Monitor *mon, const char *cmdline)
trace_handle_hmp_command(mon, cmdline);
- if (runstate_check(RUN_STATE_PRECONFIG)) {
- monitor_printf(mon, "HMP not available in preconfig state, "
- "use QMP instead\n");
- return;
- }
-
cmd = monitor_parse_command(mon, cmdline, &cmdline, mon->cmd_table);
if (!cmd) {
return;
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [Qemu-devel] [PULL 0/9] hmp queue
2018-06-21 16:47 [Qemu-devel] [PULL 0/9] hmp queue Dr. David Alan Gilbert (git)
` (8 preceding siblings ...)
2018-06-21 16:47 ` [Qemu-devel] [PULL 9/9] hmp: Allow HMP in preconfig state again Dr. David Alan Gilbert (git)
@ 2018-06-22 13:18 ` Peter Maydell
9 siblings, 0 replies; 11+ messages in thread
From: Peter Maydell @ 2018-06-22 13:18 UTC (permalink / raw)
To: Dr. David Alan Gilbert (git)
Cc: QEMU Developers, Igor Mammedov, Suraj Jitindar Singh,
Collin Walling, Markus Armbruster
On 21 June 2018 at 17:47, Dr. David Alan Gilbert (git)
<dgilbert@redhat.com> wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>
> The following changes since commit 46012db666990ff2eed1d3dc199ab8006439a93b:
>
> Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20180619' into staging (2018-06-20 09:51:30 +0100)
>
> are available in the Git repository at:
>
> git://github.com/dagrh/qemu.git tags/pull-hmp-20180621
>
> for you to fetch changes up to 13163a93b729b9ec4b49501d03d3f50af4b05758:
>
> hmp: Allow HMP in preconfig state again (2018-06-21 13:18:11 +0100)
>
> ----------------------------------------------------------------
> HMP pull 2018-06-21
>
> Minor fixes and reenable preconfig
>
> ----------------------------------------------------------------
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 11+ messages in thread