Daniel P. Berrangé <[email protected]> writes:

> 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é <[email protected]>
> ---
>  qemu-options.hx | 61 ++++++++++++++++++++++++++++++++++++++++++++++---
>  1 file changed, 58 insertions(+), 3 deletions(-)
>
> diff --git a/qemu-options.hx b/qemu-options.hx
> index e44b47de68..1aa548c39b 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 syntax sugar for creating a character

For what it's worth, Wikipedia redirects "syntax sugar" to "syntactic
sugar", and uses only the latter in the article.

Could also use "shorthand".  Matter of taste.

> +    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 ``-monitor dev`` is syntax sugar for creating a character

Pasto, you mean ``-qmp dev``.

> +    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 historical syntax sugar

What does "historical" mean?  The next patch replaces it by
"deprecated".  Suggest to scratch it here.

> +    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 historical syntax 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 ``hmpcompatNN``.

``compat_monitorNNN``

> +        Mixing ``-object`` with the historical monitor syntax is
> +        discouraged.

Clearer, I think: "with -monitor and -mon".

The next patch deprecates -mon, and then this could become just "with
-monitor".

> +
> +        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 ``qmpcompatNN``.

``compat_monitorNNN``

> +        Mixing ``-object`` with the historical monitor syntax is
> +        discouraged.

"with -qmp, -qmp-pretty, and -mon".

The next patch deprecates -mon, and then this could become just "with
-qmp and -qmp-pretty".

> +
> +        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

Comma after 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.

Reply via email to