mirror of
https://github.com/xemu-project/xemu.git
synced 2025-02-25 23:15:49 +00:00
Miscellaneous patches for 2018-07-16 (3.0.0-rc1)
-----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJbTKKPAAoJEDhwtADrkYZTOMYQAJlozaYHvlX2eNqoaq9bEiD9 lhtH2jei6tP1pjJHiP6cf8sabDO6acmxIQR0cnGxEanjbwPHRKZPAyfr1AEvn0iJ E0B7m0HragD1yK5fgr4VNdY6aNX8HBuf9kFvhENjwMqMAEohtEkJtBu8i3OLLJ2H rjvupmNarJ7wDXRoPgtBNOgCcqndrsOIKecTww4dyZS3ihzLXGa2x1R78u7x9dbS 5c+KOduldGJASAgn8gPXXFj8zFAx3aw+u2/vTbkzk+baFlU1lqjetHfHuOYt1SnZ YmQd54KKQvC+oHzj/w1YAKkNOH2sQJSfcdUZ7ZrtmCf+F1NyUQZ7FCjd+OOFF6hW yqRO81uCiQg9jwzRZ9b+n0wWuJ0JyGqHLliAf7L2lCOwHyv4rgjb/MY+hOQsVKwe TWayA71/RK+xJkTZeOGL6xJBcsud0wb6JC/PPvtoBRlxF//fmyGJa5elB7aiNfSq iR5GpDgVn4HdOi5jG3pEx5pQyBy3awTFwUQ8vrNjA2Fh6iLTcUC8PntcCU7l4Eib kIZVl0PReI7YZ4F1zHxWsC3tESAEBBxwkVGx+qb20beHzmjaRA3UNOOg2yZhy0aD eA7BvQk70z/duS39XQKTnBIHo4laCEEBgq321YuZGHE5rWl5bySuRlkYXXqLxl+P 6xveeS2inRKJBPXK9xGP =exdb -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/armbru/tags/pull-misc-2018-07-16' into staging Miscellaneous patches for 2018-07-16 (3.0.0-rc1) # gpg: Signature made Mon 16 Jul 2018 14:50:07 BST # gpg: using RSA key 3870B400EB918653 # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653 * remotes/armbru/tags/pull-misc-2018-07-16: monitor: Fix tracepoint crash on JSON syntax error MAINTAINERS: New section "Incompatible changes", copy libvir-list qemu-doc: Move appendix "Deprecated features" to its own file cli qmp: Mark --preconfig, exit-preconfig experimental qapi: Do not expose "allow-preconfig" in query-qmp-schema Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
102ad0a80f
@ -2194,6 +2194,10 @@ M: Daniel P. Berrange <berrange@redhat.com>
|
||||
S: Odd Fixes
|
||||
F: docs/devel/build-system.txt
|
||||
|
||||
Incompatible changes
|
||||
R: libvir-list@redhat.com
|
||||
F: qemu-deprecated.texi
|
||||
|
||||
Build System
|
||||
------------
|
||||
GIT submodules
|
||||
|
2
hmp.c
2
hmp.c
@ -1076,7 +1076,7 @@ void hmp_exit_preconfig(Monitor *mon, const QDict *qdict)
|
||||
{
|
||||
Error *err = NULL;
|
||||
|
||||
qmp_exit_preconfig(&err);
|
||||
qmp_x_exit_preconfig(&err);
|
||||
hmp_handle_error(mon, &err);
|
||||
}
|
||||
|
||||
|
@ -4224,7 +4224,7 @@ static void handle_qmp_command(JSONMessageParser *parser, GQueue *tokens)
|
||||
qdict_del(qdict, "id");
|
||||
} /* else will fail qmp_dispatch() */
|
||||
|
||||
if (trace_event_get_state_backends(TRACE_HANDLE_QMP_COMMAND)) {
|
||||
if (req && trace_event_get_state_backends(TRACE_HANDLE_QMP_COMMAND)) {
|
||||
QString *req_json = qobject_to_json(req);
|
||||
trace_handle_qmp_command(mon, qstring_get_str(req_json));
|
||||
qobject_unref(req_json);
|
||||
|
@ -262,16 +262,13 @@
|
||||
# @allow-oob: whether the command allows out-of-band execution.
|
||||
# (Since: 2.12)
|
||||
#
|
||||
# @allow-preconfig: command can be executed in preconfig runstate,
|
||||
# default: false (Since 3.0)
|
||||
#
|
||||
# TODO: @success-response (currently irrelevant, because it's QGA, not QMP)
|
||||
#
|
||||
# Since: 2.5
|
||||
##
|
||||
{ 'struct': 'SchemaInfoCommand',
|
||||
'data': { 'arg-type': 'str', 'ret-type': 'str',
|
||||
'allow-oob': 'bool', 'allow-preconfig': 'bool' } }
|
||||
'allow-oob': 'bool' } }
|
||||
|
||||
##
|
||||
# @SchemaInfoEvent:
|
||||
|
@ -1205,7 +1205,7 @@
|
||||
{ 'command': 'cont' }
|
||||
|
||||
##
|
||||
# @exit-preconfig:
|
||||
# @x-exit-preconfig:
|
||||
#
|
||||
# Exit from "preconfig" state
|
||||
#
|
||||
@ -1221,11 +1221,11 @@
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# -> { "execute": "exit-preconfig" }
|
||||
# -> { "execute": "x-exit-preconfig" }
|
||||
# <- { "return": {} }
|
||||
#
|
||||
##
|
||||
{ 'command': 'exit-preconfig', 'allow-preconfig': true }
|
||||
{ 'command': 'x-exit-preconfig', 'allow-preconfig': true }
|
||||
|
||||
##
|
||||
# @system_wakeup:
|
||||
|
234
qemu-deprecated.texi
Normal file
234
qemu-deprecated.texi
Normal file
@ -0,0 +1,234 @@
|
||||
@node Deprecated features
|
||||
@appendix Deprecated features
|
||||
|
||||
In general features are intended to be supported indefinitely once
|
||||
introduced into QEMU. In the event that a feature needs to be removed,
|
||||
it will be listed in this appendix. The feature will remain functional
|
||||
for 2 releases prior to actual removal. Deprecated features may also
|
||||
generate warnings on the console when QEMU starts up, or if activated
|
||||
via a monitor command, however, this is not a mandatory requirement.
|
||||
|
||||
Prior to the 2.10.0 release there was no official policy on how
|
||||
long features would be deprecated prior to their removal, nor
|
||||
any documented list of which features were deprecated. Thus
|
||||
any features deprecated prior to 2.10.0 will be treated as if
|
||||
they were first deprecated in the 2.10.0 release.
|
||||
|
||||
What follows is a list of all features currently marked as
|
||||
deprecated.
|
||||
|
||||
@section Build options
|
||||
|
||||
@subsection GTK 2.x
|
||||
|
||||
Previously QEMU has supported building against both GTK 2.x
|
||||
and 3.x series APIs. Support for the GTK 2.x builds will be
|
||||
discontinued, so maintainers should switch to using GTK 3.x,
|
||||
which is the default.
|
||||
|
||||
@subsection SDL 1.2
|
||||
|
||||
Previously QEMU has supported building against both SDL 1.2
|
||||
and 2.0 series APIs. Support for the SDL 1.2 builds will be
|
||||
discontinued, so maintainers should switch to using SDL 2.0,
|
||||
which is the default.
|
||||
|
||||
@section System emulator command line arguments
|
||||
|
||||
@subsection -no-kvm (since 1.3.0)
|
||||
|
||||
The ``-no-kvm'' argument is now a synonym for setting
|
||||
``-machine accel=tcg''.
|
||||
|
||||
@subsection -vnc tls (since 2.5.0)
|
||||
|
||||
The ``-vnc tls'' argument is now a synonym for setting
|
||||
``-object tls-creds-anon,id=tls0'' combined with
|
||||
``-vnc tls-creds=tls0'
|
||||
|
||||
@subsection -vnc x509 (since 2.5.0)
|
||||
|
||||
The ``-vnc x509=/path/to/certs'' argument is now a
|
||||
synonym for setting
|
||||
``-object tls-creds-x509,dir=/path/to/certs,id=tls0,verify-peer=no''
|
||||
combined with ``-vnc tls-creds=tls0'
|
||||
|
||||
@subsection -vnc x509verify (since 2.5.0)
|
||||
|
||||
The ``-vnc x509verify=/path/to/certs'' argument is now a
|
||||
synonym for setting
|
||||
``-object tls-creds-x509,dir=/path/to/certs,id=tls0,verify-peer=yes''
|
||||
combined with ``-vnc tls-creds=tls0'
|
||||
|
||||
@subsection -tftp (since 2.6.0)
|
||||
|
||||
The ``-tftp /some/dir'' argument is replaced by either
|
||||
``-netdev user,id=x,tftp=/some/dir '' (for pluggable NICs, accompanied
|
||||
with ``-device ...,netdev=x''), or ``-nic user,tftp=/some/dir''
|
||||
(for embedded NICs). The new syntax allows different settings to be
|
||||
provided per NIC.
|
||||
|
||||
@subsection -bootp (since 2.6.0)
|
||||
|
||||
The ``-bootp /some/file'' argument is replaced by either
|
||||
``-netdev user,id=x,bootp=/some/file '' (for pluggable NICs, accompanied
|
||||
with ``-device ...,netdev=x''), or ``-nic user,bootp=/some/file''
|
||||
(for embedded NICs). The new syntax allows different settings to be
|
||||
provided per NIC.
|
||||
|
||||
@subsection -redir (since 2.6.0)
|
||||
|
||||
The ``-redir [tcp|udp]:hostport:[guestaddr]:guestport'' argument is
|
||||
replaced by either
|
||||
``-netdev user,id=x,hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport''
|
||||
(for pluggable NICs, accompanied with ``-device ...,netdev=x'') or
|
||||
``-nic user,hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport''
|
||||
(for embedded NICs). The new syntax allows different settings to be
|
||||
provided per NIC.
|
||||
|
||||
@subsection -smb (since 2.6.0)
|
||||
|
||||
The ``-smb /some/dir'' argument is replaced by either
|
||||
``-netdev user,id=x,smb=/some/dir '' (for pluggable NICs, accompanied
|
||||
with ``-device ...,netdev=x''), or ``-nic user,smb=/some/dir''
|
||||
(for embedded NICs). The new syntax allows different settings to be
|
||||
provided per NIC.
|
||||
|
||||
@subsection -drive cyls=...,heads=...,secs=...,trans=... (since 2.10.0)
|
||||
|
||||
The drive geometry arguments are replaced by the the geometry arguments
|
||||
that can be specified with the ``-device'' parameter.
|
||||
|
||||
@subsection -drive serial=... (since 2.10.0)
|
||||
|
||||
The drive serial argument is replaced by the the serial argument
|
||||
that can be specified with the ``-device'' parameter.
|
||||
|
||||
@subsection -drive addr=... (since 2.10.0)
|
||||
|
||||
The drive addr argument is replaced by the the addr argument
|
||||
that can be specified with the ``-device'' parameter.
|
||||
|
||||
@subsection -usbdevice (since 2.10.0)
|
||||
|
||||
The ``-usbdevice DEV'' argument is now a synonym for setting
|
||||
the ``-device usb-DEV'' argument instead. The deprecated syntax
|
||||
would automatically enable USB support on the machine type.
|
||||
If using the new syntax, USB support must be explicitly
|
||||
enabled via the ``-machine usb=on'' argument.
|
||||
|
||||
@subsection -nodefconfig (since 2.11.0)
|
||||
|
||||
The ``-nodefconfig`` argument is a synonym for ``-no-user-config``.
|
||||
|
||||
@subsection -balloon (since 2.12.0)
|
||||
|
||||
The @option{--balloon virtio} argument has been superseded by
|
||||
@option{--device virtio-balloon}.
|
||||
|
||||
@subsection -machine s390-squash-mcss=on|off (since 2.12.0)
|
||||
|
||||
The ``s390-squash-mcss=on`` property has been obsoleted by allowing the
|
||||
cssid to be chosen freely. Instead of squashing subchannels into the
|
||||
default channel subsystem image for guests that do not support multiple
|
||||
channel subsystems, all devices can be put into the default channel
|
||||
subsystem image.
|
||||
|
||||
@subsection -fsdev handle (since 2.12.0)
|
||||
|
||||
The ``handle'' fsdev backend does not support symlinks and causes the 9p
|
||||
filesystem in the guest to fail a fair amount of tests from the PJD POSIX
|
||||
filesystem test suite. Also it requires the CAP_DAC_READ_SEARCH capability,
|
||||
which is not the recommended way to run QEMU. This backend should not be
|
||||
used and it will be removed with no replacement.
|
||||
|
||||
@subsection -no-frame (since 2.12.0)
|
||||
|
||||
The @code{--no-frame} argument works with SDL 1.2 only. The other user
|
||||
interfaces never implemented this in the first place. So this will be
|
||||
removed together with SDL 1.2 support.
|
||||
|
||||
@subsection -rtc-td-hack (since 2.12.0)
|
||||
|
||||
The @code{-rtc-td-hack} option has been replaced by
|
||||
@code{-rtc driftfix=slew}.
|
||||
|
||||
@subsection -localtime (since 2.12.0)
|
||||
|
||||
The @code{-localtime} option has been replaced by @code{-rtc base=localtime}.
|
||||
|
||||
@subsection -startdate (since 2.12.0)
|
||||
|
||||
The @code{-startdate} option has been replaced by @code{-rtc base=@var{date}}.
|
||||
|
||||
@subsection -virtioconsole (since 3.0.0)
|
||||
|
||||
Option @option{-virtioconsole} has been replaced by
|
||||
@option{-device virtconsole}.
|
||||
|
||||
@subsection -clock (since 3.0.0)
|
||||
|
||||
The @code{-clock} option is ignored since QEMU version 1.7.0. There is no
|
||||
replacement since it is not needed anymore.
|
||||
|
||||
@subsection -enable-hax (since 3.0.0)
|
||||
|
||||
The @option{-enable-hax} option has been replaced by @option{-accel hax}.
|
||||
Both options have been introduced in QEMU version 2.9.0.
|
||||
|
||||
@subsection -drive file=json:@{...@{'driver':'file'@}@} (since 3.0)
|
||||
|
||||
The 'file' driver for drives is no longer appropriate for character or host
|
||||
devices and will only accept regular files (S_IFREG). The correct driver
|
||||
for these file types is 'host_cdrom' or 'host_device' as appropriate.
|
||||
|
||||
@section QEMU Machine Protocol (QMP) commands
|
||||
|
||||
@subsection block-dirty-bitmap-add "autoload" parameter (since 2.12.0)
|
||||
|
||||
"autoload" parameter is now ignored. All bitmaps are automatically loaded
|
||||
from qcow2 images.
|
||||
|
||||
@subsection query-cpus (since 2.12.0)
|
||||
|
||||
The ``query-cpus'' command is replaced by the ``query-cpus-fast'' command.
|
||||
|
||||
@subsection query-cpus-fast "arch" output member (since 3.0.0)
|
||||
|
||||
The ``arch'' output member of the ``query-cpus-fast'' command is
|
||||
replaced by the ``target'' output member.
|
||||
|
||||
@section System emulator devices
|
||||
|
||||
@subsection ivshmem (since 2.6.0)
|
||||
|
||||
The ``ivshmem'' device type is replaced by either the ``ivshmem-plain''
|
||||
or ``ivshmem-doorbell`` device types.
|
||||
|
||||
@subsection Page size support < 4k for embedded PowerPC CPUs (since 2.12.0)
|
||||
|
||||
qemu-system-ppcemb will be removed. qemu-system-ppc (or qemu-system-ppc64)
|
||||
should be used instead. That means that embedded 4xx PowerPC CPUs will not
|
||||
support page sizes < 4096 any longer.
|
||||
|
||||
@section System emulator machines
|
||||
|
||||
@subsection pc-0.10 and pc-0.11 (since 3.0)
|
||||
|
||||
These machine types are very old and likely can not be used for live migration
|
||||
from old QEMU versions anymore. A newer machine type should be used instead.
|
||||
|
||||
@section Device options
|
||||
|
||||
@subsection Block device options
|
||||
|
||||
@subsubsection "backing": "" (since 2.12.0)
|
||||
|
||||
In order to prevent QEMU from automatically opening an image's backing
|
||||
chain, use ``"backing": null'' instead.
|
||||
|
||||
@subsection vio-spapr-device device options
|
||||
|
||||
@subsubsection "irq": "" (since 3.0.0)
|
||||
|
||||
The ``irq'' property is obsoleted.
|
235
qemu-doc.texi
235
qemu-doc.texi
@ -2791,240 +2791,7 @@ Run the emulation in single step mode.
|
||||
|
||||
@include qemu-tech.texi
|
||||
|
||||
@node Deprecated features
|
||||
@appendix Deprecated features
|
||||
|
||||
In general features are intended to be supported indefinitely once
|
||||
introduced into QEMU. In the event that a feature needs to be removed,
|
||||
it will be listed in this appendix. The feature will remain functional
|
||||
for 2 releases prior to actual removal. Deprecated features may also
|
||||
generate warnings on the console when QEMU starts up, or if activated
|
||||
via a monitor command, however, this is not a mandatory requirement.
|
||||
|
||||
Prior to the 2.10.0 release there was no official policy on how
|
||||
long features would be deprecated prior to their removal, nor
|
||||
any documented list of which features were deprecated. Thus
|
||||
any features deprecated prior to 2.10.0 will be treated as if
|
||||
they were first deprecated in the 2.10.0 release.
|
||||
|
||||
What follows is a list of all features currently marked as
|
||||
deprecated.
|
||||
|
||||
@section Build options
|
||||
|
||||
@subsection GTK 2.x
|
||||
|
||||
Previously QEMU has supported building against both GTK 2.x
|
||||
and 3.x series APIs. Support for the GTK 2.x builds will be
|
||||
discontinued, so maintainers should switch to using GTK 3.x,
|
||||
which is the default.
|
||||
|
||||
@subsection SDL 1.2
|
||||
|
||||
Previously QEMU has supported building against both SDL 1.2
|
||||
and 2.0 series APIs. Support for the SDL 1.2 builds will be
|
||||
discontinued, so maintainers should switch to using SDL 2.0,
|
||||
which is the default.
|
||||
|
||||
@section System emulator command line arguments
|
||||
|
||||
@subsection -no-kvm (since 1.3.0)
|
||||
|
||||
The ``-no-kvm'' argument is now a synonym for setting
|
||||
``-machine accel=tcg''.
|
||||
|
||||
@subsection -vnc tls (since 2.5.0)
|
||||
|
||||
The ``-vnc tls'' argument is now a synonym for setting
|
||||
``-object tls-creds-anon,id=tls0'' combined with
|
||||
``-vnc tls-creds=tls0'
|
||||
|
||||
@subsection -vnc x509 (since 2.5.0)
|
||||
|
||||
The ``-vnc x509=/path/to/certs'' argument is now a
|
||||
synonym for setting
|
||||
``-object tls-creds-x509,dir=/path/to/certs,id=tls0,verify-peer=no''
|
||||
combined with ``-vnc tls-creds=tls0'
|
||||
|
||||
@subsection -vnc x509verify (since 2.5.0)
|
||||
|
||||
The ``-vnc x509verify=/path/to/certs'' argument is now a
|
||||
synonym for setting
|
||||
``-object tls-creds-x509,dir=/path/to/certs,id=tls0,verify-peer=yes''
|
||||
combined with ``-vnc tls-creds=tls0'
|
||||
|
||||
@subsection -tftp (since 2.6.0)
|
||||
|
||||
The ``-tftp /some/dir'' argument is replaced by either
|
||||
``-netdev user,id=x,tftp=/some/dir '' (for pluggable NICs, accompanied
|
||||
with ``-device ...,netdev=x''), or ``-nic user,tftp=/some/dir''
|
||||
(for embedded NICs). The new syntax allows different settings to be
|
||||
provided per NIC.
|
||||
|
||||
@subsection -bootp (since 2.6.0)
|
||||
|
||||
The ``-bootp /some/file'' argument is replaced by either
|
||||
``-netdev user,id=x,bootp=/some/file '' (for pluggable NICs, accompanied
|
||||
with ``-device ...,netdev=x''), or ``-nic user,bootp=/some/file''
|
||||
(for embedded NICs). The new syntax allows different settings to be
|
||||
provided per NIC.
|
||||
|
||||
@subsection -redir (since 2.6.0)
|
||||
|
||||
The ``-redir [tcp|udp]:hostport:[guestaddr]:guestport'' argument is
|
||||
replaced by either
|
||||
``-netdev user,id=x,hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport''
|
||||
(for pluggable NICs, accompanied with ``-device ...,netdev=x'') or
|
||||
``-nic user,hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport''
|
||||
(for embedded NICs). The new syntax allows different settings to be
|
||||
provided per NIC.
|
||||
|
||||
@subsection -smb (since 2.6.0)
|
||||
|
||||
The ``-smb /some/dir'' argument is replaced by either
|
||||
``-netdev user,id=x,smb=/some/dir '' (for pluggable NICs, accompanied
|
||||
with ``-device ...,netdev=x''), or ``-nic user,smb=/some/dir''
|
||||
(for embedded NICs). The new syntax allows different settings to be
|
||||
provided per NIC.
|
||||
|
||||
@subsection -drive cyls=...,heads=...,secs=...,trans=... (since 2.10.0)
|
||||
|
||||
The drive geometry arguments are replaced by the the geometry arguments
|
||||
that can be specified with the ``-device'' parameter.
|
||||
|
||||
@subsection -drive serial=... (since 2.10.0)
|
||||
|
||||
The drive serial argument is replaced by the the serial argument
|
||||
that can be specified with the ``-device'' parameter.
|
||||
|
||||
@subsection -drive addr=... (since 2.10.0)
|
||||
|
||||
The drive addr argument is replaced by the the addr argument
|
||||
that can be specified with the ``-device'' parameter.
|
||||
|
||||
@subsection -usbdevice (since 2.10.0)
|
||||
|
||||
The ``-usbdevice DEV'' argument is now a synonym for setting
|
||||
the ``-device usb-DEV'' argument instead. The deprecated syntax
|
||||
would automatically enable USB support on the machine type.
|
||||
If using the new syntax, USB support must be explicitly
|
||||
enabled via the ``-machine usb=on'' argument.
|
||||
|
||||
@subsection -nodefconfig (since 2.11.0)
|
||||
|
||||
The ``-nodefconfig`` argument is a synonym for ``-no-user-config``.
|
||||
|
||||
@subsection -balloon (since 2.12.0)
|
||||
|
||||
The @option{--balloon virtio} argument has been superseded by
|
||||
@option{--device virtio-balloon}.
|
||||
|
||||
@subsection -machine s390-squash-mcss=on|off (since 2.12.0)
|
||||
|
||||
The ``s390-squash-mcss=on`` property has been obsoleted by allowing the
|
||||
cssid to be chosen freely. Instead of squashing subchannels into the
|
||||
default channel subsystem image for guests that do not support multiple
|
||||
channel subsystems, all devices can be put into the default channel
|
||||
subsystem image.
|
||||
|
||||
@subsection -fsdev handle (since 2.12.0)
|
||||
|
||||
The ``handle'' fsdev backend does not support symlinks and causes the 9p
|
||||
filesystem in the guest to fail a fair amount of tests from the PJD POSIX
|
||||
filesystem test suite. Also it requires the CAP_DAC_READ_SEARCH capability,
|
||||
which is not the recommended way to run QEMU. This backend should not be
|
||||
used and it will be removed with no replacement.
|
||||
|
||||
@subsection -no-frame (since 2.12.0)
|
||||
|
||||
The @code{--no-frame} argument works with SDL 1.2 only. The other user
|
||||
interfaces never implemented this in the first place. So this will be
|
||||
removed together with SDL 1.2 support.
|
||||
|
||||
@subsection -rtc-td-hack (since 2.12.0)
|
||||
|
||||
The @code{-rtc-td-hack} option has been replaced by
|
||||
@code{-rtc driftfix=slew}.
|
||||
|
||||
@subsection -localtime (since 2.12.0)
|
||||
|
||||
The @code{-localtime} option has been replaced by @code{-rtc base=localtime}.
|
||||
|
||||
@subsection -startdate (since 2.12.0)
|
||||
|
||||
The @code{-startdate} option has been replaced by @code{-rtc base=@var{date}}.
|
||||
|
||||
@subsection -virtioconsole (since 3.0.0)
|
||||
|
||||
Option @option{-virtioconsole} has been replaced by
|
||||
@option{-device virtconsole}.
|
||||
|
||||
@subsection -clock (since 3.0.0)
|
||||
|
||||
The @code{-clock} option is ignored since QEMU version 1.7.0. There is no
|
||||
replacement since it is not needed anymore.
|
||||
|
||||
@subsection -enable-hax (since 3.0.0)
|
||||
|
||||
The @option{-enable-hax} option has been replaced by @option{-accel hax}.
|
||||
Both options have been introduced in QEMU version 2.9.0.
|
||||
|
||||
@subsection -drive file=json:@{...@{'driver':'file'@}@} (since 3.0)
|
||||
|
||||
The 'file' driver for drives is no longer appropriate for character or host
|
||||
devices and will only accept regular files (S_IFREG). The correct driver
|
||||
for these file types is 'host_cdrom' or 'host_device' as appropriate.
|
||||
|
||||
@section QEMU Machine Protocol (QMP) commands
|
||||
|
||||
@subsection block-dirty-bitmap-add "autoload" parameter (since 2.12.0)
|
||||
|
||||
"autoload" parameter is now ignored. All bitmaps are automatically loaded
|
||||
from qcow2 images.
|
||||
|
||||
@subsection query-cpus (since 2.12.0)
|
||||
|
||||
The ``query-cpus'' command is replaced by the ``query-cpus-fast'' command.
|
||||
|
||||
@subsection query-cpus-fast "arch" output member (since 3.0.0)
|
||||
|
||||
The ``arch'' output member of the ``query-cpus-fast'' command is
|
||||
replaced by the ``target'' output member.
|
||||
|
||||
@section System emulator devices
|
||||
|
||||
@subsection ivshmem (since 2.6.0)
|
||||
|
||||
The ``ivshmem'' device type is replaced by either the ``ivshmem-plain''
|
||||
or ``ivshmem-doorbell`` device types.
|
||||
|
||||
@subsection Page size support < 4k for embedded PowerPC CPUs (since 2.12.0)
|
||||
|
||||
qemu-system-ppcemb will be removed. qemu-system-ppc (or qemu-system-ppc64)
|
||||
should be used instead. That means that embedded 4xx PowerPC CPUs will not
|
||||
support page sizes < 4096 any longer.
|
||||
|
||||
@section System emulator machines
|
||||
|
||||
@subsection pc-0.10 and pc-0.11 (since 3.0)
|
||||
|
||||
These machine types are very old and likely can not be used for live migration
|
||||
from old QEMU versions anymore. A newer machine type should be used instead.
|
||||
|
||||
@section Device options
|
||||
|
||||
@subsection Block device options
|
||||
|
||||
@subsubsection "backing": "" (since 2.12.0)
|
||||
|
||||
In order to prevent QEMU from automatically opening an image's backing
|
||||
chain, use ``"backing": null'' instead.
|
||||
|
||||
@subsection vio-spapr-device device options
|
||||
|
||||
@subsubsection "irq": "" (since 3.0.0)
|
||||
|
||||
The ``irq'' property is obsoleted.
|
||||
@include qemu-deprecated.texi
|
||||
|
||||
@node Supported build platforms
|
||||
@appendix Supported build platforms
|
||||
|
@ -3303,16 +3303,17 @@ Run the emulation in single step mode.
|
||||
ETEXI
|
||||
|
||||
DEF("preconfig", 0, QEMU_OPTION_preconfig, \
|
||||
"--preconfig pause QEMU before machine is initialized\n",
|
||||
"--preconfig pause QEMU before machine is initialized (experimental)\n",
|
||||
QEMU_ARCH_ALL)
|
||||
STEXI
|
||||
@item --preconfig
|
||||
@findex --preconfig
|
||||
Pause QEMU for interactive configuration before the machine is created,
|
||||
which allows querying and configuring properties that will affect
|
||||
machine initialization. Use the QMP command 'exit-preconfig' to exit
|
||||
the preconfig state and move to the next state (ie. run guest if -S
|
||||
isn't used or pause the second time if -S is used).
|
||||
machine initialization. Use QMP command 'x-exit-preconfig' to exit
|
||||
the preconfig state and move to the next state (i.e. run guest if -S
|
||||
isn't used or pause the second time if -S is used). This option is
|
||||
experimental.
|
||||
ETEXI
|
||||
|
||||
DEF("S", 0, QEMU_OPTION_S, \
|
||||
|
@ -336,9 +336,9 @@ additionally configure the machine (by hotplugging devices) in runtime before
|
||||
allowing VM code to run.
|
||||
|
||||
However, at the -S pause point, it's impossible to configure options that affect
|
||||
initial VM creation (like: -smp/-m/-numa ...) or cold plug devices. That's
|
||||
when the --preconfig command line option should be used. It allows pausing QEMU
|
||||
before the initial VM creation, in a new preconfig state, where additional
|
||||
initial VM creation (like: -smp/-m/-numa ...) or cold plug devices. The
|
||||
experimental --preconfig command line option allows pausing QEMU
|
||||
before the initial VM creation, in a ``preconfig'' state, where additional
|
||||
queries and configuration can be performed via QMP before moving on to
|
||||
the resulting configuration startup. In the preconfig state, QEMU only allows
|
||||
a limited set of commands over the QMP monitor, where the commands do not
|
||||
@ -348,11 +348,8 @@ depend on an initialized machine, including but not limited to:
|
||||
@item query-qmp-schema
|
||||
@item query-commands
|
||||
@item query-status
|
||||
@item exit-preconfig
|
||||
@item x-exit-preconfig
|
||||
@end table
|
||||
The full list of commands is in QMP schema which could be queried with
|
||||
query-qmp-schema, where commands supported at preconfig state have option
|
||||
'allow-preconfig' set to true.
|
||||
|
||||
@node Bibliography
|
||||
@section Bibliography
|
||||
|
2
qmp.c
2
qmp.c
@ -129,7 +129,7 @@ void qmp_cpu_add(int64_t id, Error **errp)
|
||||
}
|
||||
}
|
||||
|
||||
void qmp_exit_preconfig(Error **errp)
|
||||
void qmp_x_exit_preconfig(Error **errp)
|
||||
{
|
||||
if (!runstate_check(RUN_STATE_PRECONFIG)) {
|
||||
error_setg(errp, "The command is permitted only in '%s' state",
|
||||
|
@ -187,8 +187,8 @@ const QLitObject %(c_name)s = %(c_string)s;
|
||||
self._gen_qlit(name, 'command',
|
||||
{'arg-type': self._use_type(arg_type),
|
||||
'ret-type': self._use_type(ret_type),
|
||||
'allow-oob': allow_oob,
|
||||
'allow-preconfig': allow_preconfig}, ifcond)
|
||||
'allow-oob': allow_oob},
|
||||
ifcond)
|
||||
|
||||
def visit_event(self, name, info, ifcond, arg_type, boxed):
|
||||
arg_type = arg_type or self._schema.the_empty_object_type
|
||||
|
@ -285,7 +285,7 @@ static void pc_dynamic_cpu_cfg(const void *data)
|
||||
" 'arguments': { 'type': 'cpu', 'node-id': 1, 'socket-id': 0 } }")));
|
||||
|
||||
/* let machine initialization to complete and run */
|
||||
g_assert(!qmp_rsp_is_err(qtest_qmp(qs, "{ 'execute': 'exit-preconfig' }")));
|
||||
g_assert(!qmp_rsp_is_err(qtest_qmp(qs, "{ 'execute': 'x-exit-preconfig' }")));
|
||||
qtest_qmp_eventwait(qs, "RESUME");
|
||||
|
||||
/* check that CPUs are mapped as expected */
|
||||
|
@ -453,7 +453,7 @@ static void test_qmp_preconfig(void)
|
||||
qobject_unref(rsp);
|
||||
|
||||
/* exit preconfig state */
|
||||
g_assert(!qmp_rsp_is_err(qtest_qmp(qs, "{ 'execute': 'exit-preconfig' }")));
|
||||
g_assert(!qmp_rsp_is_err(qtest_qmp(qs, "{ 'execute': 'x-exit-preconfig' }")));
|
||||
qtest_qmp_eventwait(qs, "RESUME");
|
||||
|
||||
/* check that query-status returns running state */
|
||||
@ -463,8 +463,8 @@ static void test_qmp_preconfig(void)
|
||||
g_assert_cmpstr(qdict_get_try_str(ret, "status"), ==, "running");
|
||||
qobject_unref(rsp);
|
||||
|
||||
/* check that exit-preconfig returns error after exiting preconfig */
|
||||
g_assert(qmp_rsp_is_err(qtest_qmp(qs, "{ 'execute': 'exit-preconfig' }")));
|
||||
/* check that x-exit-preconfig returns error after exiting preconfig */
|
||||
g_assert(qmp_rsp_is_err(qtest_qmp(qs, "{ 'execute': 'x-exit-preconfig' }")));
|
||||
|
||||
/* enabled commands, no error expected */
|
||||
g_assert(!qmp_rsp_is_err(qtest_qmp(qs, "{ 'execute': 'query-cpus' }")));
|
||||
|
Loading…
x
Reference in New Issue
Block a user