xref: /qemu/docs/about/removed-features.rst (revision 875bb7e35b78c609252187dc7bd68d90bf742da9)
12c5060cdSThomas Huth
22c5060cdSThomas HuthRemoved features
32c5060cdSThomas Huth================
42c5060cdSThomas Huth
52c5060cdSThomas HuthWhat follows is a record of recently removed, formerly deprecated
62c5060cdSThomas Huthfeatures that serves as a record for users who have encountered
72c5060cdSThomas Huthtrouble after a recent upgrade.
82c5060cdSThomas Huth
92c5060cdSThomas HuthSystem emulator command line arguments
102c5060cdSThomas Huth--------------------------------------
112c5060cdSThomas Huth
122c5060cdSThomas Huth``-net ...,name=``\ *name* (removed in 5.1)
132c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''
142c5060cdSThomas Huth
152c5060cdSThomas HuthThe ``name`` parameter of the ``-net`` option was a synonym
162c5060cdSThomas Huthfor the ``id`` parameter, which should now be used instead.
172c5060cdSThomas Huth
182c5060cdSThomas Huth``-no-kvm`` (removed in 5.2)
192c5060cdSThomas Huth''''''''''''''''''''''''''''
202c5060cdSThomas Huth
212c5060cdSThomas HuthThe ``-no-kvm`` argument was a synonym for setting ``-machine accel=tcg``.
222c5060cdSThomas Huth
23c8c9dc42SThomas Huth``-realtime`` (removed in 6.0)
24c8c9dc42SThomas Huth''''''''''''''''''''''''''''''
25c8c9dc42SThomas Huth
26c8c9dc42SThomas HuthThe ``-realtime mlock=on|off`` argument has been replaced by the
27c8c9dc42SThomas Huth``-overcommit mem-lock=on|off`` argument.
28c8c9dc42SThomas Huth
29e2680403SThomas Huth``-show-cursor`` option (removed in 6.0)
30e2680403SThomas Huth''''''''''''''''''''''''''''''''''''''''
3190d6a086SThomas Huth
3290d6a086SThomas HuthUse ``-display sdl,show-cursor=on``, ``-display gtk,show-cursor=on``
3390d6a086SThomas Huthor ``-display default,show-cursor=on`` instead.
3490d6a086SThomas Huth
352c5060cdSThomas Huth``-tb-size`` option (removed in 6.0)
362c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''
372c5060cdSThomas Huth
382c5060cdSThomas HuthQEMU 5.0 introduced an alternative syntax to specify the size of the translation
392c5060cdSThomas Huthblock cache, ``-accel tcg,tb-size=``.
402c5060cdSThomas Huth
416db34277SThomas Huth``-usbdevice audio`` (removed in 6.0)
426db34277SThomas Huth'''''''''''''''''''''''''''''''''''''
436db34277SThomas Huth
446db34277SThomas HuthThis option lacked the possibility to specify an audio backend device.
456db34277SThomas HuthUse ``-device usb-audio`` now instead (and specify a corresponding USB
466db34277SThomas Huthhost controller or ``-usb`` if necessary).
476db34277SThomas Huth
485994dcb8SDaniel P. Berrangé``-vnc acl`` (removed in 6.0)
495994dcb8SDaniel P. Berrangé'''''''''''''''''''''''''''''
505994dcb8SDaniel P. Berrangé
515994dcb8SDaniel P. BerrangéThe ``acl`` option to the ``-vnc`` argument has been replaced
525994dcb8SDaniel P. Berrangéby the ``tls-authz`` and ``sasl-authz`` options.
536db34277SThomas Huth
54283d845cSDaniel P. Berrangé``-mon ...,control=readline,pretty=on|off`` (removed in 6.0)
55283d845cSDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
56283d845cSDaniel P. Berrangé
57283d845cSDaniel P. BerrangéThe ``pretty=on|off`` switch has no effect for HMP monitors and
58283d845cSDaniel P. Berrangéits use is rejected.
59283d845cSDaniel P. Berrangé
608d17adf3SDaniel P. Berrangé``-drive file=json:{...{'driver':'file'}}`` (removed 6.0)
618d17adf3SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
628d17adf3SDaniel P. Berrangé
638d17adf3SDaniel P. BerrangéThe 'file' driver for drives is no longer appropriate for character or host
648d17adf3SDaniel P. Berrangédevices and will only accept regular files (S_IFREG). The correct driver
658d17adf3SDaniel P. Berrangéfor these file types is 'host_cdrom' or 'host_device' as appropriate.
668d17adf3SDaniel P. Berrangé
6736585e2bSMarkus ArmbrusterFloppy controllers' drive properties (removed in 6.0)
6836585e2bSMarkus Armbruster'''''''''''''''''''''''''''''''''''''''''''''''''''''
6936585e2bSMarkus Armbruster
7036585e2bSMarkus ArmbrusterUse ``-device floppy,...`` instead.  When configuring onboard floppy
7136585e2bSMarkus Armbrustercontrollers
7236585e2bSMarkus Armbruster::
7336585e2bSMarkus Armbruster
7436585e2bSMarkus Armbruster    -global isa-fdc.driveA=...
7536585e2bSMarkus Armbruster    -global sysbus-fdc.driveA=...
7636585e2bSMarkus Armbruster    -global SUNW,fdtwo.drive=...
7736585e2bSMarkus Armbruster
7836585e2bSMarkus Armbrusterbecome
7936585e2bSMarkus Armbruster::
8036585e2bSMarkus Armbruster
8136585e2bSMarkus Armbruster    -device floppy,unit=0,drive=...
8236585e2bSMarkus Armbruster
8336585e2bSMarkus Armbrusterand
8436585e2bSMarkus Armbruster::
8536585e2bSMarkus Armbruster
8636585e2bSMarkus Armbruster    -global isa-fdc.driveB=...
8736585e2bSMarkus Armbruster    -global sysbus-fdc.driveB=...
8836585e2bSMarkus Armbruster
8936585e2bSMarkus Armbrusterbecome
9036585e2bSMarkus Armbruster::
9136585e2bSMarkus Armbruster
9236585e2bSMarkus Armbruster    -device floppy,unit=1,drive=...
9336585e2bSMarkus Armbruster
9436585e2bSMarkus ArmbrusterWhen plugging in a floppy controller
9536585e2bSMarkus Armbruster::
9636585e2bSMarkus Armbruster
9736585e2bSMarkus Armbruster    -device isa-fdc,...,driveA=...
9836585e2bSMarkus Armbruster
9936585e2bSMarkus Armbrusterbecomes
10036585e2bSMarkus Armbruster::
10136585e2bSMarkus Armbruster
10236585e2bSMarkus Armbruster    -device isa-fdc,...
10336585e2bSMarkus Armbruster    -device floppy,unit=0,drive=...
10436585e2bSMarkus Armbruster
10536585e2bSMarkus Armbrusterand
10636585e2bSMarkus Armbruster::
10736585e2bSMarkus Armbruster
10836585e2bSMarkus Armbruster    -device isa-fdc,...,driveB=...
10936585e2bSMarkus Armbruster
11036585e2bSMarkus Armbrusterbecomes
11136585e2bSMarkus Armbruster::
11236585e2bSMarkus Armbruster
11336585e2bSMarkus Armbruster    -device isa-fdc,...
11436585e2bSMarkus Armbruster    -device floppy,unit=1,drive=...
11536585e2bSMarkus Armbruster
116fe9f70a1SMarkus Armbruster``-drive`` with bogus interface type (removed in 6.0)
117fe9f70a1SMarkus Armbruster'''''''''''''''''''''''''''''''''''''''''''''''''''''
118fe9f70a1SMarkus Armbruster
119fe9f70a1SMarkus ArmbrusterDrives with interface types other than ``if=none`` are for onboard
120fe9f70a1SMarkus Armbrusterdevices.  Drives the board doesn't pick up can no longer be used with
121fe9f70a1SMarkus Armbruster-device.  Use ``if=none`` instead.
122fe9f70a1SMarkus Armbruster
123d2aea775SThomas Huth``-usbdevice ccid`` (removed in 6.0)
124d2aea775SThomas Huth'''''''''''''''''''''''''''''''''''''
125d2aea775SThomas Huth
126d2aea775SThomas HuthThis option was undocumented and not used in the field.
127d2aea775SThomas HuthUse `-device usb-ccid`` instead.
128d2aea775SThomas Huth
12936585e2bSMarkus Armbruster
1302c5060cdSThomas HuthQEMU Machine Protocol (QMP) commands
1312c5060cdSThomas Huth------------------------------------
1322c5060cdSThomas Huth
1332c5060cdSThomas Huth``block-dirty-bitmap-add`` "autoload" parameter (removed in 4.2.0)
1342c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
1352c5060cdSThomas Huth
1362c5060cdSThomas HuthThe "autoload" parameter has been ignored since 2.12.0. All bitmaps
1372c5060cdSThomas Huthare automatically loaded from qcow2 images.
1382c5060cdSThomas Huth
1392c5060cdSThomas Huth``cpu-add`` (removed in 5.2)
1402c5060cdSThomas Huth''''''''''''''''''''''''''''
1412c5060cdSThomas Huth
1422c5060cdSThomas HuthUse ``device_add`` for hotplugging vCPUs instead of ``cpu-add``.  See
1432c5060cdSThomas Huthdocumentation of ``query-hotpluggable-cpus`` for additional details.
1442c5060cdSThomas Huth
1450afec757SPaolo Bonzini``change`` (removed in 6.0)
1460afec757SPaolo Bonzini'''''''''''''''''''''''''''
1470afec757SPaolo Bonzini
1480afec757SPaolo BonziniUse ``blockdev-change-medium`` or ``change-vnc-password`` instead.
1490afec757SPaolo Bonzini
1508becb360SDaniel P. Berrangé``query-events`` (removed in 6.0)
1518becb360SDaniel P. Berrangé'''''''''''''''''''''''''''''''''
1528becb360SDaniel P. Berrangé
1538becb360SDaniel P. BerrangéThe ``query-events`` command has been superseded by the more powerful
1548becb360SDaniel P. Berrangéand accurate ``query-qmp-schema`` command.
1558becb360SDaniel P. Berrangé
156cbde7be9SDaniel P. Berrangé``migrate_set_cache_size`` and ``query-migrate-cache-size`` (removed in 6.0)
157cbde7be9SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
158cbde7be9SDaniel P. Berrangé
159cbde7be9SDaniel P. BerrangéUse ``migrate_set_parameter`` and ``info migrate_parameters`` instead.
160cbde7be9SDaniel P. Berrangé
161cbde7be9SDaniel P. Berrangé``migrate_set_downtime`` and ``migrate_set_speed`` (removed in 6.0)
162cbde7be9SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
163cbde7be9SDaniel P. Berrangé
164cbde7be9SDaniel P. BerrangéUse ``migrate_set_parameter`` instead.
165cbde7be9SDaniel P. Berrangé
1668af54b91SDaniel P. Berrangé``query-cpus`` (removed in 6.0)
1678af54b91SDaniel P. Berrangé'''''''''''''''''''''''''''''''
1688af54b91SDaniel P. Berrangé
1698af54b91SDaniel P. BerrangéThe ``query-cpus`` command is replaced by the ``query-cpus-fast`` command.
1708af54b91SDaniel P. Berrangé
171445a5b40SDaniel P. Berrangé``query-cpus-fast`` ``arch`` output member (removed in 6.0)
172445a5b40SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
173445a5b40SDaniel P. Berrangé
174445a5b40SDaniel P. BerrangéThe ``arch`` output member of the ``query-cpus-fast`` command is
175445a5b40SDaniel P. Berrangéreplaced by the ``target`` output member.
176445a5b40SDaniel P. Berrangé
17724e13a4dSDaniel P. Berrangéchardev client socket with ``wait`` option (removed in 6.0)
17824e13a4dSDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
17924e13a4dSDaniel P. Berrangé
18024e13a4dSDaniel P. BerrangéCharacter devices creating sockets in client mode should not specify
18124e13a4dSDaniel P. Berrangéthe 'wait' field, which is only applicable to sockets in server mode
18224e13a4dSDaniel P. Berrangé
183ad1324e0SDaniel P. Berrangé``query-named-block-nodes`` result ``encryption_key_missing`` (removed in 6.0)
184ad1324e0SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
185ad1324e0SDaniel P. Berrangé
186ad1324e0SDaniel P. BerrangéRemoved with no replacement.
187ad1324e0SDaniel P. Berrangé
188ad1324e0SDaniel P. Berrangé``query-block`` result ``inserted.encryption_key_missing`` (removed in 6.0)
189ad1324e0SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
190ad1324e0SDaniel P. Berrangé
191ad1324e0SDaniel P. BerrangéRemoved with no replacement.
192ad1324e0SDaniel P. Berrangé
19381cbfd50SDaniel P. Berrangé``query-named-block-nodes`` and ``query-block`` result dirty-bitmaps[i].status (removed in 6.0)
19481cbfd50SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
19581cbfd50SDaniel P. Berrangé
19681cbfd50SDaniel P. BerrangéThe ``status`` field of the ``BlockDirtyInfo`` structure, returned by
19781cbfd50SDaniel P. Berrangéthese commands is removed. Two new boolean fields, ``recording`` and
19881cbfd50SDaniel P. Berrangé``busy`` effectively replace it.
19981cbfd50SDaniel P. Berrangé
200e67d8e29SDaniel P. Berrangé``query-block`` result field ``dirty-bitmaps`` (removed in 6.0)
201e67d8e29SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
202e67d8e29SDaniel P. Berrangé
203e67d8e29SDaniel P. BerrangéThe ``dirty-bitmaps`` field of the ``BlockInfo`` structure, returned by
204e67d8e29SDaniel P. Berrangéthe query-block command is itself now removed. The ``dirty-bitmaps``
205e67d8e29SDaniel P. Berrangéfield of the ``BlockDeviceInfo`` struct should be used instead, which is the
206e67d8e29SDaniel P. Berrangétype of the ``inserted`` field in query-block replies, as well as the
207e67d8e29SDaniel P. Berrangétype of array items in query-named-block-nodes.
208e67d8e29SDaniel P. Berrangé
20950243407SKevin Wolf``object-add`` option ``props`` (removed in 6.0)
21050243407SKevin Wolf''''''''''''''''''''''''''''''''''''''''''''''''
21150243407SKevin Wolf
21250243407SKevin WolfSpecify the properties for the object as top-level arguments instead.
21350243407SKevin Wolf
2142c5060cdSThomas HuthHuman Monitor Protocol (HMP) commands
2152c5060cdSThomas Huth-------------------------------------
2162c5060cdSThomas Huth
2172c5060cdSThomas HuthThe ``hub_id`` parameter of ``hostfwd_add`` / ``hostfwd_remove`` (removed in 5.0)
2182c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
2192c5060cdSThomas Huth
2202c5060cdSThomas HuthThe ``[hub_id name]`` parameter tuple of the 'hostfwd_add' and
2212c5060cdSThomas Huth'hostfwd_remove' HMP commands has been replaced by ``netdev_id``.
2222c5060cdSThomas Huth
2232c5060cdSThomas Huth``cpu-add`` (removed in 5.2)
2242c5060cdSThomas Huth''''''''''''''''''''''''''''
2252c5060cdSThomas Huth
2262c5060cdSThomas HuthUse ``device_add`` for hotplugging vCPUs instead of ``cpu-add``.  See
2272c5060cdSThomas Huthdocumentation of ``query-hotpluggable-cpus`` for additional details.
2282c5060cdSThomas Huth
229cfb5387aSPaolo Bonzini``change vnc TARGET`` (removed in 6.0)
230cfb5387aSPaolo Bonzini''''''''''''''''''''''''''''''''''''''
231cfb5387aSPaolo Bonzini
232cfb5387aSPaolo BonziniNo replacement.  The ``change vnc password`` and ``change DEVICE MEDIUM``
233cfb5387aSPaolo Bonzinicommands are not affected.
234cfb5387aSPaolo Bonzini
2355994dcb8SDaniel P. Berrangé``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, ``acl_remove`` (removed in 6.0)
2365994dcb8SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
2375994dcb8SDaniel P. Berrangé
2385994dcb8SDaniel P. BerrangéThe ``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, and
2395994dcb8SDaniel P. Berrangé``acl_remove`` commands were removed with no replacement. Authorization
2405994dcb8SDaniel P. Berrangéfor VNC should be performed using the pluggable QAuthZ objects.
2415994dcb8SDaniel P. Berrangé
242cbde7be9SDaniel P. Berrangé``migrate-set-cache-size`` and ``info migrate-cache-size`` (removed in 6.0)
243cbde7be9SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
244cbde7be9SDaniel P. Berrangé
245cbde7be9SDaniel P. BerrangéUse ``migrate-set-parameters`` and ``info migrate-parameters`` instead.
246cbde7be9SDaniel P. Berrangé
247cbde7be9SDaniel P. Berrangé``migrate_set_downtime`` and ``migrate_set_speed`` (removed in 6.0)
248cbde7be9SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
249cbde7be9SDaniel P. Berrangé
250cbde7be9SDaniel P. BerrangéUse ``migrate-set-parameters`` instead.
251cbde7be9SDaniel P. Berrangé
2522c5060cdSThomas HuthGuest Emulator ISAs
2532c5060cdSThomas Huth-------------------
2542c5060cdSThomas Huth
2552c5060cdSThomas HuthRISC-V ISA privilege specification version 1.09.1 (removed in 5.1)
2562c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
2572c5060cdSThomas Huth
2582c5060cdSThomas HuthThe RISC-V ISA privilege specification version 1.09.1 has been removed.
2592c5060cdSThomas HuthQEMU supports both the newer version 1.10.0 and the ratified version 1.11.0, these
2602c5060cdSThomas Huthshould be used instead of the 1.09.1 version.
2612c5060cdSThomas Huth
2622c5060cdSThomas HuthSystem emulator CPUS
2632c5060cdSThomas Huth--------------------
2642c5060cdSThomas Huth
2652c5060cdSThomas HuthKVM guest support on 32-bit Arm hosts (removed in 5.2)
2662c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''
2672c5060cdSThomas Huth
2682c5060cdSThomas HuthThe Linux kernel has dropped support for allowing 32-bit Arm systems
2692c5060cdSThomas Huthto host KVM guests as of the 5.7 kernel. Accordingly, QEMU is deprecating
2702c5060cdSThomas Huthits support for this configuration and will remove it in a future version.
2712c5060cdSThomas HuthRunning 32-bit guests on a 64-bit Arm host remains supported.
2722c5060cdSThomas Huth
2732c5060cdSThomas HuthRISC-V ISA Specific CPUs (removed in 5.1)
2742c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''
2752c5060cdSThomas Huth
2762c5060cdSThomas HuthThe RISC-V cpus with the ISA version in the CPU name have been removed. The
2772c5060cdSThomas Huthfour CPUs are: ``rv32gcsu-v1.9.1``, ``rv32gcsu-v1.10.0``, ``rv64gcsu-v1.9.1`` and
2782c5060cdSThomas Huth``rv64gcsu-v1.10.0``. Instead the version can be specified via the CPU ``priv_spec``
2792c5060cdSThomas Huthoption when using the ``rv32`` or ``rv64`` CPUs.
2802c5060cdSThomas Huth
2812c5060cdSThomas HuthRISC-V no MMU CPUs (removed in 5.1)
2822c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''
2832c5060cdSThomas Huth
2842c5060cdSThomas HuthThe RISC-V no MMU cpus have been removed. The two CPUs: ``rv32imacu-nommu`` and
2852c5060cdSThomas Huth``rv64imacu-nommu`` can no longer be used. Instead the MMU status can be specified
2862c5060cdSThomas Huthvia the CPU ``mmu`` option when using the ``rv32`` or ``rv64`` CPUs.
2872c5060cdSThomas Huth
288a058b895SGreg Kurz``compat`` property of server class POWER CPUs (removed in 6.0)
289a058b895SGreg Kurz'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
290a058b895SGreg Kurz
291a058b895SGreg KurzThe ``max-cpu-compat`` property of the ``pseries`` machine type should be used
292a058b895SGreg Kurzinstead.
293a058b895SGreg Kurz
294875bb7e3SThomas Huth``moxie`` CPU (removed in 6.1)
295875bb7e3SThomas Huth''''''''''''''''''''''''''''''
296875bb7e3SThomas Huth
297875bb7e3SThomas HuthNobody was using this CPU emulation in QEMU, and there were no test images
298875bb7e3SThomas Huthavailable to make sure that the code is still working, so it has been removed
299875bb7e3SThomas Huthwithout replacement.
300875bb7e3SThomas Huth
3012c5060cdSThomas HuthSystem emulator machines
3022c5060cdSThomas Huth------------------------
3032c5060cdSThomas Huth
3042c5060cdSThomas Huth``spike_v1.9.1`` and ``spike_v1.10`` (removed in 5.1)
3052c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''
3062c5060cdSThomas Huth
3072c5060cdSThomas HuthThe version specific Spike machines have been removed in favour of the
3082c5060cdSThomas Huthgeneric ``spike`` machine. If you need to specify an older version of the RISC-V
3092c5060cdSThomas Huthspec you can use the ``-cpu rv64gcsu,priv_spec=v1.10.0`` command line argument.
3102c5060cdSThomas Huth
3112c5060cdSThomas Huthmips ``r4k`` platform (removed in 5.2)
3122c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''
3132c5060cdSThomas Huth
3142c5060cdSThomas HuthThis machine type was very old and unmaintained. Users should use the ``malta``
3152c5060cdSThomas Huthmachine type instead.
3162c5060cdSThomas Huth
317cd669e20SPhilippe Mathieu-Daudémips ``fulong2e`` machine alias (removed in 6.0)
318cd669e20SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''''''''''''
319cd669e20SPhilippe Mathieu-Daudé
320cd669e20SPhilippe Mathieu-DaudéThis machine has been renamed ``fuloong2e``.
321cd669e20SPhilippe Mathieu-Daudé
322f862ddbbSThomas Huth``pc-1.0``, ``pc-1.1``, ``pc-1.2`` and ``pc-1.3`` (removed in 6.0)
323f862ddbbSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
324f862ddbbSThomas Huth
325f862ddbbSThomas HuthThese machine types were very old and likely could not be used for live
326f862ddbbSThomas Huthmigration from old QEMU versions anymore. Use a newer machine type instead.
327f862ddbbSThomas Huth
3282cc1a901SThomas Huth
3292cc1a901SThomas Huthlinux-user mode CPUs
3302cc1a901SThomas Huth--------------------
3312cc1a901SThomas Huth
3322cc1a901SThomas Huth``tilegx`` CPUs (removed in 6.0)
3332cc1a901SThomas Huth''''''''''''''''''''''''''''''''
3342cc1a901SThomas Huth
3352cc1a901SThomas HuthThe ``tilegx`` guest CPU support has been removed without replacement. It was
3362cc1a901SThomas Huthonly implemented in linux-user mode, but support for this CPU was removed from
3372cc1a901SThomas Huththe upstream Linux kernel in 2018, and it has also been dropped from glibc, so
3382cc1a901SThomas Huththere is no new Linux development taking place with this architecture. For
3392cc1a901SThomas Huthrunning the old binaries, you can use older versions of QEMU.
3402cc1a901SThomas Huth
341b5010183SDaniel P. BerrangéSystem emulator devices
342b5010183SDaniel P. Berrangé-----------------------
343b5010183SDaniel P. Berrangé
344b5010183SDaniel P. Berrangé``ide-drive`` (removed in 6.0)
345b5010183SDaniel P. Berrangé''''''''''''''''''''''''''''''
346b5010183SDaniel P. Berrangé
347b5010183SDaniel P. BerrangéThe 'ide-drive' device has been removed. Users should use 'ide-hd' or
348b5010183SDaniel P. Berrangé'ide-cd' as appropriate to get an IDE hard disk or CD-ROM as needed.
3492cc1a901SThomas Huth
350879be3afSDaniel P. Berrangé``scsi-disk`` (removed in 6.0)
351879be3afSDaniel P. Berrangé''''''''''''''''''''''''''''''
352879be3afSDaniel P. Berrangé
353879be3afSDaniel P. BerrangéThe 'scsi-disk' device has been removed. Users should use 'scsi-hd' or
354879be3afSDaniel P. Berrangé'scsi-cd' as appropriate to get a SCSI hard disk or CD-ROM as needed.
355879be3afSDaniel P. Berrangé
3562c5060cdSThomas HuthRelated binaries
3572c5060cdSThomas Huth----------------
3582c5060cdSThomas Huth
3592c5060cdSThomas Huth``qemu-nbd --partition`` (removed in 5.0)
3602c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''
3612c5060cdSThomas Huth
3622c5060cdSThomas HuthThe ``qemu-nbd --partition $digit`` code (also spelled ``-P``)
3632c5060cdSThomas Huthcould only handle MBR partitions, and never correctly handled logical
3642c5060cdSThomas Huthpartitions beyond partition 5.  Exporting a partition can still be
3652c5060cdSThomas Huthdone by utilizing the ``--image-opts`` option with a raw blockdev
3662c5060cdSThomas Huthusing the ``offset`` and ``size`` parameters layered on top of
3672c5060cdSThomas Huthany other existing blockdev. For example, if partition 1 is 100MiB
3682c5060cdSThomas Huthlong starting at 1MiB, the old command::
3692c5060cdSThomas Huth
3702c5060cdSThomas Huth  qemu-nbd -t -P 1 -f qcow2 file.qcow2
3712c5060cdSThomas Huth
3722c5060cdSThomas Huthcan be rewritten as::
3732c5060cdSThomas Huth
3742c5060cdSThomas Huth  qemu-nbd -t --image-opts driver=raw,offset=1M,size=100M,file.driver=qcow2,file.file.driver=file,file.file.filename=file.qcow2
3752c5060cdSThomas Huth
3762c5060cdSThomas Huth``qemu-img convert -n -o`` (removed in 5.1)
3772c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''
3782c5060cdSThomas Huth
3792c5060cdSThomas HuthAll options specified in ``-o`` are image creation options, so
3802c5060cdSThomas Huththey are now rejected when used with ``-n`` to skip image creation.
3812c5060cdSThomas Huth
3822c5060cdSThomas Huth
3832c5060cdSThomas Huth``qemu-img create -b bad file $size`` (removed in 5.1)
3842c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''
3852c5060cdSThomas Huth
3862c5060cdSThomas HuthWhen creating an image with a backing file that could not be opened,
3872c5060cdSThomas Huth``qemu-img create`` used to issue a warning about the failure but
3882c5060cdSThomas Huthproceed with the image creation if an explicit size was provided.
3892c5060cdSThomas HuthHowever, as the ``-u`` option exists for this purpose, it is safer to
3902c5060cdSThomas Huthenforce that any failure to open the backing image (including if the
3912c5060cdSThomas Huthbacking file is missing or an incorrect format was specified) is an
3922c5060cdSThomas Hutherror when ``-u`` is not used.
3932c5060cdSThomas Huth
3942c5060cdSThomas HuthCommand line options
3952c5060cdSThomas Huth--------------------
3962c5060cdSThomas Huth
3972c5060cdSThomas Huth``-smp`` (invalid topologies) (removed 5.2)
3982c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''
3992c5060cdSThomas Huth
4002c5060cdSThomas HuthCPU topology properties should describe whole machine topology including
4012c5060cdSThomas Huthpossible CPUs.
4022c5060cdSThomas Huth
4032c5060cdSThomas HuthHowever, historically it was possible to start QEMU with an incorrect topology
4042c5060cdSThomas Huthwhere *n* <= *sockets* * *cores* * *threads* < *maxcpus*,
4052c5060cdSThomas Huthwhich could lead to an incorrect topology enumeration by the guest.
4062c5060cdSThomas HuthSupport for invalid topologies is removed, the user must ensure
4072c5060cdSThomas Huthtopologies described with -smp include all possible cpus, i.e.
4082c5060cdSThomas Huth*sockets* * *cores* * *threads* = *maxcpus*.
4092c5060cdSThomas Huth
4102c5060cdSThomas Huth``-numa`` node (without memory specified) (removed 5.2)
4112c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''
4122c5060cdSThomas Huth
4132c5060cdSThomas HuthSplitting RAM by default between NUMA nodes had the same issues as ``mem``
4142c5060cdSThomas Huthparameter with the difference that the role of the user plays QEMU using
4152c5060cdSThomas Huthimplicit generic or board specific splitting rule.
4162c5060cdSThomas HuthUse ``memdev`` with *memory-backend-ram* backend or ``mem`` (if
4172c5060cdSThomas Huthit's supported by used machine type) to define mapping explicitly instead.
4182c5060cdSThomas HuthUsers of existing VMs, wishing to preserve the same RAM distribution, should
4192c5060cdSThomas Huthconfigure it explicitly using ``-numa node,memdev`` options. Current RAM
4202c5060cdSThomas Huthdistribution can be retrieved using HMP command ``info numa`` and if separate
4212c5060cdSThomas Huthmemory devices (pc|nv-dimm) are present use ``info memory-device`` and subtract
4222c5060cdSThomas Huthdevice memory from output of ``info numa``.
4232c5060cdSThomas Huth
4242c5060cdSThomas Huth``-numa node,mem=``\ *size* (removed in 5.1)
4252c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''
4262c5060cdSThomas Huth
4272c5060cdSThomas HuthThe parameter ``mem`` of ``-numa node`` was used to assign a part of
4282c5060cdSThomas Huthguest RAM to a NUMA node. But when using it, it's impossible to manage a specified
4292c5060cdSThomas HuthRAM chunk on the host side (like bind it to a host node, setting bind policy, ...),
4302c5060cdSThomas Huthso the guest ends up with the fake NUMA configuration with suboptiomal performance.
4312c5060cdSThomas HuthHowever since 2014 there is an alternative way to assign RAM to a NUMA node
4322c5060cdSThomas Huthusing parameter ``memdev``, which does the same as ``mem`` and adds
4332c5060cdSThomas Huthmeans to actually manage node RAM on the host side. Use parameter ``memdev``
4342c5060cdSThomas Huthwith *memory-backend-ram* backend as replacement for parameter ``mem``
4352c5060cdSThomas Huthto achieve the same fake NUMA effect or a properly configured
4362c5060cdSThomas Huth*memory-backend-file* backend to actually benefit from NUMA configuration.
4372c5060cdSThomas HuthNew machine versions (since 5.1) will not accept the option but it will still
4382c5060cdSThomas Huthwork with old machine types. User can check the QAPI schema to see if the legacy
4392c5060cdSThomas Huthoption is supported by looking at MachineInfo::numa-mem-supported property.
4402c5060cdSThomas Huth
4412c5060cdSThomas Huth``-mem-path`` fallback to RAM (removed in 5.0)
4422c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''
4432c5060cdSThomas Huth
4442c5060cdSThomas HuthIf guest RAM allocation from file pointed by ``mem-path`` failed,
4452c5060cdSThomas HuthQEMU was falling back to allocating from RAM, which might have resulted
4462c5060cdSThomas Huthin unpredictable behavior since the backing file specified by the user
4472c5060cdSThomas Huthas ignored. Currently, users are responsible for making sure the backing storage
4482c5060cdSThomas Huthspecified with ``-mem-path`` can actually provide the guest RAM configured with
4492c5060cdSThomas Huth``-m`` and QEMU fails to start up if RAM allocation is unsuccessful.
4502c5060cdSThomas Huth
4512c5060cdSThomas Huth``-smp`` (invalid topologies) (removed 5.2)
4522c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''
4532c5060cdSThomas Huth
4542c5060cdSThomas HuthCPU topology properties should describe whole machine topology including
4552c5060cdSThomas Huthpossible CPUs.
4562c5060cdSThomas Huth
4572c5060cdSThomas HuthHowever, historically it was possible to start QEMU with an incorrect topology
4582c5060cdSThomas Huthwhere *n* <= *sockets* * *cores* * *threads* < *maxcpus*,
4592c5060cdSThomas Huthwhich could lead to an incorrect topology enumeration by the guest.
4602c5060cdSThomas HuthSupport for invalid topologies is removed, the user must ensure
4612c5060cdSThomas Huthtopologies described with -smp include all possible cpus, i.e.
4622c5060cdSThomas Huth*sockets* * *cores* * *threads* = *maxcpus*.
4632c5060cdSThomas Huth
4642c5060cdSThomas Huth``-machine enforce-config-section=on|off`` (removed 5.2)
4652c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''
4662c5060cdSThomas Huth
4672c5060cdSThomas HuthThe ``enforce-config-section`` property was replaced by the
4682c5060cdSThomas Huth``-global migration.send-configuration={on|off}`` option.
4692c5060cdSThomas Huth
4702c5060cdSThomas HuthBlock devices
4712c5060cdSThomas Huth-------------
4722c5060cdSThomas Huth
4732c5060cdSThomas HuthVXHS backend (removed in 5.1)
4742c5060cdSThomas Huth'''''''''''''''''''''''''''''
4752c5060cdSThomas Huth
4762c5060cdSThomas HuthThe VXHS code did not compile since v2.12.0. It was removed in 5.1.
477