Add new docs for the `-object monitor-hmp` and `-object monitor-qmp`
options, updating `-mon` to state that it is legacy syntax sugar
for the new `-object` args.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
qemu-options.hx | 61 ++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 58 insertions(+), 3 deletions(-)
diff --git a/qemu-options.hx b/qemu-options.hx
index e44b47de68..fe76c18c81 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -4955,6 +4955,11 @@ SRST
port). The default device is ``vc`` in graphical mode and ``stdio``
in non graphical mode. Use ``-monitor none`` to disable the default
monitor.
+
+ The use of ``-monitor dev`` is syntactic sugar for creating a character
+ device from ``dev`` and pairing it with ``-object monitor-hmp``.
+ Both the character device and monitor object will be given an ID
+ ``compat_monitorNNN`` where ``NNN`` is a counter starting from 0.
ERST
DEF("qmp", HAS_ARG, QEMU_OPTION_qmp, \
"-qmp dev like -monitor but opens in 'control' mode\n",
@@ -4966,9 +4971,10 @@ SRST
-qmp tcp:localhost:4444,server=on,wait=off
- Not all options are configurable via this syntax; for maximum
- flexibility use the ``-mon`` option and an accompanying ``-chardev``.
-
+ The use of ``-qmp dev`` is syntactic sugar for creating a character
+ device from ``dev`` and pairing it with ``-object monitor-qmp``.
+ Both the character device and monitor object will be given an ID
+ ``compat_monitorNNN`` where ``NNN`` is a counter starting from 0.
ERST
DEF("qmp-pretty", HAS_ARG, QEMU_OPTION_qmp_pretty, \
"-qmp-pretty dev like -qmp but uses pretty JSON formatting\n",
@@ -4997,6 +5003,16 @@ SRST
-mon chardev=mon1,mode=control,pretty=on
enables the QMP monitor on localhost port 4444 with pretty-printing.
+
+ The use of ``-mon mode=readline`` is syntactic sugar
+ for the new ``-object monitor-hmp`` option, each use of which
+ creates an object with the ID ``compat_monitorNNN`` where ``NNN`` is
+ a counter starting from 0.
+
+ The use of ``-mon mode=control`` is syntactic sugar
+ for the new ``-object monitor-qmp`` option, each use of which
+ creates an object with the ID ``compat_monitorNNN`` where ``NNN`` is
+ a counter starting from 0.
ERST
DEF("debugcon", HAS_ARG, QEMU_OPTION_debugcon, \
@@ -5747,6 +5763,45 @@ SRST
they are specified. Note that the 'id' property must be set. These
objects are placed in the '/objects' path.
+ ``-object monitor-hmp,id=id,chardev=chardev_id,readline=on|off``
+ Set up a monitor running the Human Monitor Protocol,
+ connected to the chardev ``chardev_id``.
+
+ The ``id`` parameter is a unique ID that can be used
+ to dynamically delete the monitor at runtime. Note
+ that monitors created using the historical syntax
+ will be allocated IDs following the pattern ``compat_monmitorNNN``.
+ Mixing ``-object`` with ``-monitor`` and ``-mon`` syntax is
+ discouraged.
+
+ The ``readline`` parameter, which defaults to ``on``,
+ controls whether the monitor provides line editing.
+
+ ``-object monitor-qmp,id=id,chardev=chardev_id,pretty=on|off,close-action=none|delete``
+ Set up a monitor running the QEMU Monitor Protocol,
+ connected to the chardev ``chardev_id``.
+
+ The ``id`` parameter is a unique ID that can be used
+ to dynamically delete the monitor at runtime. Note
+ that monitors created using the historical syntax
+ will be allocated IDs following the pattern ``compat_monitorNNN``.
+ Mixing ``-object`` with ``-qmp``, ``-qmp-pretty`` and
+ ``-mon`` syntax is discouraged.
+
+ The ``pretty`` parameter, which defaults to ``off``,
+ controls whether the monitor responses are pretty
+ printed as multi-line indented JSON, as opposed to
+ constrained to a single line without extraneous
+ whitespace.
+
+ The ``close-action`` parameter, which defaults to ``none``,
+ controls what happens when the connection to the monitor
+ is terminated by the user. If set to ``delete``, then the
+ ``monitor-qmp`` object and its associated character
+ device are both immediately deleted. This can be useful
+ if an extra monitor was hotplugged for a specific task
+ and should be unplugged when completed.
+
``-object memory-backend-file,id=id,size=size,mem-path=dir,share=on|off,discard-data=on|off,merge=on|off,dump=on|off,prealloc=on|off,host-nodes=host-nodes,policy=default|preferred|bind|interleave,align=align,offset=offset,readonly=on|off,rom=on|off|auto``
Creates a memory file backend object, which can be used to back
the guest RAM with huge pages.
--
2.55.0