diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2019-06-18 10:47:00 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2019-06-18 10:47:00 +0100 |
| commit | cdfaa2720f4a09e5254868bd1f6e33f3e9eae76f (patch) | |
| tree | c2fc47de84278d1aacad857a22b754b90cabf9e8 /vl.c | |
| parent | 076243ffe6c1b687e9e6d98348c3bf3398df78f3 (diff) | |
| parent | 3c45f62570aeacadf4a05bfa1afaa12bea05ae86 (diff) | |
| download | focaccia-qemu-cdfaa2720f4a09e5254868bd1f6e33f3e9eae76f.tar.gz focaccia-qemu-cdfaa2720f4a09e5254868bd1f6e33f3e9eae76f.zip | |
Merge remote-tracking branch 'remotes/armbru/tags/pull-monitor-2019-06-17-v2' into staging
Monitor patches for 2019-06-17
# gpg: Signature made Tue 18 Jun 2019 07:20:25 BST
# gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg: issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* remotes/armbru/tags/pull-monitor-2019-06-17-v2:
vl: Deprecate -mon pretty=... for HMP monitors
monitor: Replace monitor_init() with monitor_init_{hmp, qmp}()
monitor: Split Monitor.flags into separate bools
monitor: Split out monitor/monitor.c
monitor: Split out monitor/hmp.c
monitor: Split out monitor/qmp.c
monitor: Create monitor-internal.h with common definitions
monitor: Move {hmp, qmp}.c to monitor/{hmp, qmp}-cmds.c
Move monitor.c to monitor/misc.c
monitor: Rename HMP command type and tables
monitor: Remove Monitor.cmd_table indirection
monitor: Create MonitorHMP with readline state
monitor: Make MonitorQMP a child class of Monitor
monitor: Split monitor_init in HMP and QMP function
monitor: Remove unused password prompting fields
monitor: Fix return type of monitor_fdset_dup_fd_find
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'vl.c')
| -rw-r--r-- | vl.c | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/vl.c b/vl.c index 005468cbfb..99a56b5556 100644 --- a/vl.c +++ b/vl.c @@ -2299,25 +2299,31 @@ static int fsdev_init_func(void *opaque, QemuOpts *opts, Error **errp) static int mon_init_func(void *opaque, QemuOpts *opts, Error **errp) { Chardev *chr; + bool qmp; + bool pretty = false; const char *chardev; const char *mode; - int flags; mode = qemu_opt_get(opts, "mode"); if (mode == NULL) { mode = "readline"; } if (strcmp(mode, "readline") == 0) { - flags = MONITOR_USE_READLINE; + qmp = false; } else if (strcmp(mode, "control") == 0) { - flags = MONITOR_USE_CONTROL; + qmp = true; } else { error_setg(errp, "unknown monitor mode \"%s\"", mode); return -1; } - if (qemu_opt_get_bool(opts, "pretty", 0)) - flags |= MONITOR_USE_PRETTY; + if (!qmp && qemu_opt_get(opts, "pretty")) { + warn_report("'pretty' is deprecated for HMP monitors, it has no effect " + "and will be removed in future versions"); + } + if (qemu_opt_get_bool(opts, "pretty", 0)) { + pretty = true; + } chardev = qemu_opt_get(opts, "chardev"); if (!chardev) { @@ -2330,7 +2336,11 @@ static int mon_init_func(void *opaque, QemuOpts *opts, Error **errp) return -1; } - monitor_init(chr, flags); + if (qmp) { + monitor_init_qmp(chr, pretty); + } else { + monitor_init_hmp(chr, true); + } return 0; } @@ -2356,7 +2366,11 @@ static void monitor_parse(const char *optarg, const char *mode, bool pretty) opts = qemu_opts_create(qemu_find_opts("mon"), label, 1, &error_fatal); qemu_opt_set(opts, "mode", mode, &error_abort); qemu_opt_set(opts, "chardev", label, &error_abort); - qemu_opt_set_bool(opts, "pretty", pretty, &error_abort); + if (!strcmp(mode, "control")) { + qemu_opt_set_bool(opts, "pretty", pretty, &error_abort); + } else { + assert(pretty == false); + } monitor_device_index++; } |