xref: /qemu/docs/about/removed-features.rst (revision e7dba30e827d0ab59b23de444a4d7f7412430223)
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
123d9c7ec9SThomas Huth``-hdachs`` (removed in 2.12)
133d9c7ec9SThomas Huth'''''''''''''''''''''''''''''
143d9c7ec9SThomas Huth
153d9c7ec9SThomas HuthThe geometry defined by ``-hdachs c,h,s,t`` should now be specified via
163d9c7ec9SThomas Huth``-device ide-hd,drive=dr,cyls=c,heads=h,secs=s,bios-chs-trans=t``
173d9c7ec9SThomas Huth(together with ``-drive if=none,id=dr,...``).
183d9c7ec9SThomas Huth
193d9c7ec9SThomas Huth``-net channel`` (removed in 2.12)
203d9c7ec9SThomas Huth''''''''''''''''''''''''''''''''''
213d9c7ec9SThomas Huth
223d9c7ec9SThomas HuthThis option has been replaced by ``-net user,guestfwd=...``.
233d9c7ec9SThomas Huth
243d9c7ec9SThomas Huth``-net dump`` (removed in 2.12)
253d9c7ec9SThomas Huth'''''''''''''''''''''''''''''''
263d9c7ec9SThomas Huth
273d9c7ec9SThomas Huth``-net dump[,vlan=n][,file=filename][,len=maxlen]`` has been replaced by
283d9c7ec9SThomas Huth``-object filter-dump,id=id,netdev=dev[,file=filename][,maxlen=maxlen]``.
293d9c7ec9SThomas HuthNote that the new syntax works with netdev IDs instead of the old "vlan" hubs.
303d9c7ec9SThomas Huth
313d9c7ec9SThomas Huth``-no-kvm-pit`` (removed in 2.12)
323d9c7ec9SThomas Huth'''''''''''''''''''''''''''''''''
333d9c7ec9SThomas Huth
343d9c7ec9SThomas HuthThis was just a dummy option that has been ignored, since the in-kernel PIT
353d9c7ec9SThomas Huthcannot be disabled separately from the irqchip anymore. A similar effect
363d9c7ec9SThomas Huth(which also disables the KVM IOAPIC) can be obtained with
373d9c7ec9SThomas Huth``-M kernel_irqchip=split``.
383d9c7ec9SThomas Huth
393d9c7ec9SThomas Huth``-tdf`` (removed in 2.12)
403d9c7ec9SThomas Huth''''''''''''''''''''''''''
413d9c7ec9SThomas Huth
423d9c7ec9SThomas HuthThere is no replacement, the ``-tdf`` option has just been ignored since the
433d9c7ec9SThomas Huthbehaviour that could be changed by this option in qemu-kvm is now the default
443d9c7ec9SThomas Huthwhen using the KVM PIT. It still can be requested explicitly using
453d9c7ec9SThomas Huth``-global kvm-pit.lost_tick_policy=delay``.
463d9c7ec9SThomas Huth
478cc461c1SThomas Huth``-drive secs=s``, ``-drive heads=h`` & ``-drive cyls=c`` (removed in 3.0)
488cc461c1SThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
498cc461c1SThomas Huth
508cc461c1SThomas HuthThe drive geometry should now be specified via
518cc461c1SThomas Huth``-device ...,drive=dr,cyls=c,heads=h,secs=s`` (together with
528cc461c1SThomas Huth``-drive if=none,id=dr,...``).
538cc461c1SThomas Huth
548cc461c1SThomas Huth``-drive serial=``, ``-drive trans=`` & ``-drive addr=`` (removed in 3.0)
558cc461c1SThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
568cc461c1SThomas Huth
578cc461c1SThomas HuthUse ``-device ...,drive=dr,serial=r,bios-chs-trans=t,addr=a`` instead
588cc461c1SThomas Huth(together with ``-drive if=none,id=dr,...``).
598cc461c1SThomas Huth
608cc461c1SThomas Huth``-net ...,vlan=x`` (removed in 3.0)
618cc461c1SThomas Huth''''''''''''''''''''''''''''''''''''
628cc461c1SThomas Huth
638cc461c1SThomas HuthThe term "vlan" was very confusing for most users in this context (it's about
648cc461c1SThomas Huthspecifying a hub ID, not about IEEE 802.1Q or something similar), so this
658cc461c1SThomas Huthhas been removed. To connect one NIC frontend with a network backend, either
668cc461c1SThomas Huthuse ``-nic ...`` (e.g. for on-board NICs) or use ``-netdev ...,id=n`` together
678cc461c1SThomas Huthwith ``-device ...,netdev=n`` (for full control over pluggable NICs). To
688cc461c1SThomas Huthconnect multiple NICs or network backends via a hub device (which is what
698cc461c1SThomas Huthvlan did), use ``-nic hubport,hubid=x,...`` or
708cc461c1SThomas Huth``-netdev hubport,id=n,hubid=x,...`` (with ``-device ...,netdev=n``) instead.
718cc461c1SThomas Huth
728cc461c1SThomas Huth``-no-kvm-irqchip`` (removed in 3.0)
738cc461c1SThomas Huth''''''''''''''''''''''''''''''''''''
748cc461c1SThomas Huth
758cc461c1SThomas HuthUse ``-machine kernel_irqchip=off`` instead.
768cc461c1SThomas Huth
778cc461c1SThomas Huth``-no-kvm-pit-reinjection`` (removed in 3.0)
788cc461c1SThomas Huth''''''''''''''''''''''''''''''''''''''''''''
798cc461c1SThomas Huth
808cc461c1SThomas HuthUse ``-global kvm-pit.lost_tick_policy=discard`` instead.
818cc461c1SThomas Huth
8229e04475SThomas Huth``-balloon`` (removed in 3.1)
8329e04475SThomas Huth'''''''''''''''''''''''''''''
8429e04475SThomas Huth
8529e04475SThomas HuthThe ``-balloon virtio`` option has been replaced by ``-device virtio-balloon``.
8629e04475SThomas HuthThe ``-balloon none`` option was a no-op and has no replacement.
8729e04475SThomas Huth
8829e04475SThomas Huth``-bootp`` (removed in 3.1)
8929e04475SThomas Huth'''''''''''''''''''''''''''
9029e04475SThomas Huth
9129e04475SThomas HuthThe ``-bootp /some/file`` argument is replaced by either
9229e04475SThomas Huth``-netdev user,id=x,bootp=/some/file`` (for pluggable NICs, accompanied with
9329e04475SThomas Huth``-device ...,netdev=x``), or ``-nic user,bootp=/some/file`` (for on-board NICs).
9429e04475SThomas HuthThe new syntax allows different settings to be provided per NIC.
9529e04475SThomas Huth
9629e04475SThomas Huth``-redir`` (removed in 3.1)
9729e04475SThomas Huth'''''''''''''''''''''''''''
9829e04475SThomas Huth
9929e04475SThomas HuthThe ``-redir [tcp|udp]:hostport:[guestaddr]:guestport`` option is replaced
10029e04475SThomas Huthby either ``-netdev
10129e04475SThomas Huthuser,id=x,hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport``
10229e04475SThomas Huth(for pluggable NICs, accompanied with ``-device ...,netdev=x``) or by the option
10329e04475SThomas Huth``-nic user,hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport``
10429e04475SThomas Huth(for on-board NICs). The new syntax allows different settings to be provided
10529e04475SThomas Huthper NIC.
10629e04475SThomas Huth
10729e04475SThomas Huth``-smb`` (removed in 3.1)
10829e04475SThomas Huth'''''''''''''''''''''''''
10929e04475SThomas Huth
11029e04475SThomas HuthThe ``-smb /some/dir`` argument is replaced by either
11129e04475SThomas Huth``-netdev user,id=x,smb=/some/dir`` (for pluggable NICs, accompanied with
11229e04475SThomas Huth``-device ...,netdev=x``), or ``-nic user,smb=/some/dir`` (for on-board NICs).
11329e04475SThomas HuthThe new syntax allows different settings to be provided per NIC.
11429e04475SThomas Huth
11529e04475SThomas Huth``-tftp`` (removed in 3.1)
11629e04475SThomas Huth''''''''''''''''''''''''''
11729e04475SThomas Huth
11829e04475SThomas HuthThe ``-tftp /some/dir`` argument is replaced by either
11929e04475SThomas Huth``-netdev user,id=x,tftp=/some/dir`` (for pluggable NICs, accompanied with
12029e04475SThomas Huth``-device ...,netdev=x``), or ``-nic user,tftp=/some/dir`` (for embedded NICs).
12129e04475SThomas HuthThe new syntax allows different settings to be provided per NIC.
12229e04475SThomas Huth
12329e04475SThomas Huth``-localtime`` (removed in 3.1)
12429e04475SThomas Huth'''''''''''''''''''''''''''''''
12529e04475SThomas Huth
12629e04475SThomas HuthReplaced by ``-rtc base=localtime``.
12729e04475SThomas Huth
12829e04475SThomas Huth``-nodefconfig`` (removed in 3.1)
12929e04475SThomas Huth'''''''''''''''''''''''''''''''''
13029e04475SThomas Huth
13129e04475SThomas HuthUse ``-no-user-config`` instead.
13229e04475SThomas Huth
13329e04475SThomas Huth``-rtc-td-hack`` (removed in 3.1)
13429e04475SThomas Huth'''''''''''''''''''''''''''''''''
13529e04475SThomas Huth
13629e04475SThomas HuthUse ``-rtc driftfix=slew`` instead.
13729e04475SThomas Huth
13829e04475SThomas Huth``-startdate`` (removed in 3.1)
13929e04475SThomas Huth'''''''''''''''''''''''''''''''
14029e04475SThomas Huth
14129e04475SThomas HuthReplaced by ``-rtc base=date``.
14229e04475SThomas Huth
1437f697d7bSYanan Wang``-vnc ...,tls=...``, ``-vnc ...,x509=...`` & ``-vnc ...,x509verify=...`` (removed in 3.1)
1447f697d7bSYanan Wang''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
14529e04475SThomas Huth
14629e04475SThomas HuthThe "tls-creds" option should be used instead to point to a "tls-creds-x509"
14729e04475SThomas Huthobject created using "-object".
14829e04475SThomas Huth
14941f421e0SThomas Huth``-mem-path`` fallback to RAM (removed in 5.0)
15041f421e0SThomas Huth''''''''''''''''''''''''''''''''''''''''''''''
15141f421e0SThomas Huth
15241f421e0SThomas HuthIf guest RAM allocation from file pointed by ``mem-path`` failed,
15341f421e0SThomas HuthQEMU was falling back to allocating from RAM, which might have resulted
15441f421e0SThomas Huthin unpredictable behavior since the backing file specified by the user
15541f421e0SThomas Huthas ignored. Currently, users are responsible for making sure the backing storage
15641f421e0SThomas Huthspecified with ``-mem-path`` can actually provide the guest RAM configured with
15741f421e0SThomas Huth``-m`` and QEMU fails to start up if RAM allocation is unsuccessful.
15841f421e0SThomas Huth
1593d9c7ec9SThomas Huth``-net ...,name=...`` (removed in 5.1)
1603d9c7ec9SThomas Huth''''''''''''''''''''''''''''''''''''''
1612c5060cdSThomas Huth
1622c5060cdSThomas HuthThe ``name`` parameter of the ``-net`` option was a synonym
1632c5060cdSThomas Huthfor the ``id`` parameter, which should now be used instead.
1642c5060cdSThomas Huth
16541f421e0SThomas Huth``-numa node,mem=...`` (removed in 5.1)
16641f421e0SThomas Huth'''''''''''''''''''''''''''''''''''''''
16741f421e0SThomas Huth
16841f421e0SThomas HuthThe parameter ``mem`` of ``-numa node`` was used to assign a part of guest RAM
16941f421e0SThomas Huthto a NUMA node. But when using it, it's impossible to manage a specified RAM
17041f421e0SThomas Huthchunk on the host side (like bind it to a host node, setting bind policy, ...),
17141f421e0SThomas Huthso the guest ends up with the fake NUMA configuration with suboptiomal
17241f421e0SThomas Huthperformance.
17341f421e0SThomas HuthHowever since 2014 there is an alternative way to assign RAM to a NUMA node
17441f421e0SThomas Huthusing parameter ``memdev``, which does the same as ``mem`` and adds
17541f421e0SThomas Huthmeans to actually manage node RAM on the host side. Use parameter ``memdev``
17641f421e0SThomas Huthwith *memory-backend-ram* backend as replacement for parameter ``mem``
17741f421e0SThomas Huthto achieve the same fake NUMA effect or a properly configured
17841f421e0SThomas Huth*memory-backend-file* backend to actually benefit from NUMA configuration.
17941f421e0SThomas HuthNew machine versions (since 5.1) will not accept the option but it will still
18041f421e0SThomas Huthwork with old machine types. User can check the QAPI schema to see if the legacy
18141f421e0SThomas Huthoption is supported by looking at MachineInfo::numa-mem-supported property.
18241f421e0SThomas Huth
18341f421e0SThomas Huth``-numa`` node (without memory specified) (removed in 5.2)
18441f421e0SThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
18541f421e0SThomas Huth
18641f421e0SThomas HuthSplitting RAM by default between NUMA nodes had the same issues as ``mem``
18741f421e0SThomas Huthparameter with the difference that the role of the user plays QEMU using
18841f421e0SThomas Huthimplicit generic or board specific splitting rule.
18941f421e0SThomas HuthUse ``memdev`` with *memory-backend-ram* backend or ``mem`` (if
19041f421e0SThomas Huthit's supported by used machine type) to define mapping explicitly instead.
19141f421e0SThomas HuthUsers of existing VMs, wishing to preserve the same RAM distribution, should
19241f421e0SThomas Huthconfigure it explicitly using ``-numa node,memdev`` options. Current RAM
19341f421e0SThomas Huthdistribution can be retrieved using HMP command ``info numa`` and if separate
19441f421e0SThomas Huthmemory devices (pc|nv-dimm) are present use ``info memory-device`` and subtract
19541f421e0SThomas Huthdevice memory from output of ``info numa``.
19641f421e0SThomas Huth
19741f421e0SThomas Huth``-smp`` (invalid topologies) (removed in 5.2)
19841f421e0SThomas Huth''''''''''''''''''''''''''''''''''''''''''''''
19941f421e0SThomas Huth
20041f421e0SThomas HuthCPU topology properties should describe whole machine topology including
20141f421e0SThomas Huthpossible CPUs.
20241f421e0SThomas Huth
20341f421e0SThomas HuthHowever, historically it was possible to start QEMU with an incorrect topology
20441f421e0SThomas Huthwhere *n* <= *sockets* * *cores* * *threads* < *maxcpus*,
20541f421e0SThomas Huthwhich could lead to an incorrect topology enumeration by the guest.
20641f421e0SThomas HuthSupport for invalid topologies is removed, the user must ensure
20741f421e0SThomas Huthtopologies described with -smp include all possible cpus, i.e.
20841f421e0SThomas Huth*sockets* * *cores* * *threads* = *maxcpus*.
20941f421e0SThomas Huth
21041f421e0SThomas Huth``-machine enforce-config-section=on|off`` (removed in 5.2)
21141f421e0SThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
21241f421e0SThomas Huth
21341f421e0SThomas HuthThe ``enforce-config-section`` property was replaced by the
21441f421e0SThomas Huth``-global migration.send-configuration={on|off}`` option.
21541f421e0SThomas Huth
2162c5060cdSThomas Huth``-no-kvm`` (removed in 5.2)
2172c5060cdSThomas Huth''''''''''''''''''''''''''''
2182c5060cdSThomas Huth
2192c5060cdSThomas HuthThe ``-no-kvm`` argument was a synonym for setting ``-machine accel=tcg``.
2202c5060cdSThomas Huth
221c8c9dc42SThomas Huth``-realtime`` (removed in 6.0)
222c8c9dc42SThomas Huth''''''''''''''''''''''''''''''
223c8c9dc42SThomas Huth
224c8c9dc42SThomas HuthThe ``-realtime mlock=on|off`` argument has been replaced by the
225c8c9dc42SThomas Huth``-overcommit mem-lock=on|off`` argument.
226c8c9dc42SThomas Huth
227e2680403SThomas Huth``-show-cursor`` option (removed in 6.0)
228e2680403SThomas Huth''''''''''''''''''''''''''''''''''''''''
22990d6a086SThomas Huth
23090d6a086SThomas HuthUse ``-display sdl,show-cursor=on``, ``-display gtk,show-cursor=on``
23190d6a086SThomas Huthor ``-display default,show-cursor=on`` instead.
23290d6a086SThomas Huth
2332c5060cdSThomas Huth``-tb-size`` option (removed in 6.0)
2342c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''
2352c5060cdSThomas Huth
2362c5060cdSThomas HuthQEMU 5.0 introduced an alternative syntax to specify the size of the translation
2372c5060cdSThomas Huthblock cache, ``-accel tcg,tb-size=``.
2382c5060cdSThomas Huth
2396db34277SThomas Huth``-usbdevice audio`` (removed in 6.0)
2406db34277SThomas Huth'''''''''''''''''''''''''''''''''''''
2416db34277SThomas Huth
2426db34277SThomas HuthThis option lacked the possibility to specify an audio backend device.
2436db34277SThomas HuthUse ``-device usb-audio`` now instead (and specify a corresponding USB
2446db34277SThomas Huthhost controller or ``-usb`` if necessary).
2456db34277SThomas Huth
2465994dcb8SDaniel P. Berrangé``-vnc acl`` (removed in 6.0)
2475994dcb8SDaniel P. Berrangé'''''''''''''''''''''''''''''
2485994dcb8SDaniel P. Berrangé
2495994dcb8SDaniel P. BerrangéThe ``acl`` option to the ``-vnc`` argument has been replaced
2505994dcb8SDaniel P. Berrangéby the ``tls-authz`` and ``sasl-authz`` options.
2516db34277SThomas Huth
252283d845cSDaniel P. Berrangé``-mon ...,control=readline,pretty=on|off`` (removed in 6.0)
253283d845cSDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
254283d845cSDaniel P. Berrangé
255283d845cSDaniel P. BerrangéThe ``pretty=on|off`` switch has no effect for HMP monitors and
256283d845cSDaniel P. Berrangéits use is rejected.
257283d845cSDaniel P. Berrangé
258e2cc363bSYanan Wang``-drive file=json:{...{'driver':'file'}}`` (removed in 6.0)
259e2cc363bSYanan Wang''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
2608d17adf3SDaniel P. Berrangé
2618d17adf3SDaniel P. BerrangéThe 'file' driver for drives is no longer appropriate for character or host
2628d17adf3SDaniel P. Berrangédevices and will only accept regular files (S_IFREG). The correct driver
2638d17adf3SDaniel P. Berrangéfor these file types is 'host_cdrom' or 'host_device' as appropriate.
2648d17adf3SDaniel P. Berrangé
26536585e2bSMarkus ArmbrusterFloppy controllers' drive properties (removed in 6.0)
26636585e2bSMarkus Armbruster'''''''''''''''''''''''''''''''''''''''''''''''''''''
26736585e2bSMarkus Armbruster
26836585e2bSMarkus ArmbrusterUse ``-device floppy,...`` instead.  When configuring onboard floppy
26936585e2bSMarkus Armbrustercontrollers
27036585e2bSMarkus Armbruster::
27136585e2bSMarkus Armbruster
27236585e2bSMarkus Armbruster    -global isa-fdc.driveA=...
27336585e2bSMarkus Armbruster    -global sysbus-fdc.driveA=...
27436585e2bSMarkus Armbruster    -global SUNW,fdtwo.drive=...
27536585e2bSMarkus Armbruster
27636585e2bSMarkus Armbrusterbecome
27736585e2bSMarkus Armbruster::
27836585e2bSMarkus Armbruster
27936585e2bSMarkus Armbruster    -device floppy,unit=0,drive=...
28036585e2bSMarkus Armbruster
28136585e2bSMarkus Armbrusterand
28236585e2bSMarkus Armbruster::
28336585e2bSMarkus Armbruster
28436585e2bSMarkus Armbruster    -global isa-fdc.driveB=...
28536585e2bSMarkus Armbruster    -global sysbus-fdc.driveB=...
28636585e2bSMarkus Armbruster
28736585e2bSMarkus Armbrusterbecome
28836585e2bSMarkus Armbruster::
28936585e2bSMarkus Armbruster
29036585e2bSMarkus Armbruster    -device floppy,unit=1,drive=...
29136585e2bSMarkus Armbruster
29236585e2bSMarkus ArmbrusterWhen plugging in a floppy controller
29336585e2bSMarkus Armbruster::
29436585e2bSMarkus Armbruster
29536585e2bSMarkus Armbruster    -device isa-fdc,...,driveA=...
29636585e2bSMarkus Armbruster
29736585e2bSMarkus Armbrusterbecomes
29836585e2bSMarkus Armbruster::
29936585e2bSMarkus Armbruster
30036585e2bSMarkus Armbruster    -device isa-fdc,...
30136585e2bSMarkus Armbruster    -device floppy,unit=0,drive=...
30236585e2bSMarkus Armbruster
30336585e2bSMarkus Armbrusterand
30436585e2bSMarkus Armbruster::
30536585e2bSMarkus Armbruster
30636585e2bSMarkus Armbruster    -device isa-fdc,...,driveB=...
30736585e2bSMarkus Armbruster
30836585e2bSMarkus Armbrusterbecomes
30936585e2bSMarkus Armbruster::
31036585e2bSMarkus Armbruster
31136585e2bSMarkus Armbruster    -device isa-fdc,...
31236585e2bSMarkus Armbruster    -device floppy,unit=1,drive=...
31336585e2bSMarkus Armbruster
314fe9f70a1SMarkus Armbruster``-drive`` with bogus interface type (removed in 6.0)
315fe9f70a1SMarkus Armbruster'''''''''''''''''''''''''''''''''''''''''''''''''''''
316fe9f70a1SMarkus Armbruster
317fe9f70a1SMarkus ArmbrusterDrives with interface types other than ``if=none`` are for onboard
318fe9f70a1SMarkus Armbrusterdevices.  Drives the board doesn't pick up can no longer be used with
319fe9f70a1SMarkus Armbruster-device.  Use ``if=none`` instead.
320fe9f70a1SMarkus Armbruster
321d2aea775SThomas Huth``-usbdevice ccid`` (removed in 6.0)
322d2aea775SThomas Huth'''''''''''''''''''''''''''''''''''''
323d2aea775SThomas Huth
324d2aea775SThomas HuthThis option was undocumented and not used in the field.
3251662ea9fSPeter MaydellUse ``-device usb-ccid`` instead.
326d2aea775SThomas Huth
3276debd840SAlistair FrancisRISC-V firmware not booted by default (removed in 5.1)
3286debd840SAlistair Francis''''''''''''''''''''''''''''''''''''''''''''''''''''''
3296debd840SAlistair Francis
3306debd840SAlistair FrancisQEMU 5.1 changes the default behaviour from ``-bios none`` to ``-bios default``
3316debd840SAlistair Francisfor the RISC-V ``virt`` machine and ``sifive_u`` machine.
33236585e2bSMarkus Armbruster
333fe86fe23SThomas Huth``-no-quit`` (removed in 7.0)
334fe86fe23SThomas Huth'''''''''''''''''''''''''''''
335fe86fe23SThomas Huth
336fe86fe23SThomas HuthThe ``-no-quit`` was a synonym for ``-display ...,window-close=off`` which
337fe86fe23SThomas Huthshould be used instead.
338fe86fe23SThomas Huth
339c6b310b3SDaniel P. Berrangé``--enable-fips`` (removed in 7.1)
340c6b310b3SDaniel P. Berrangé''''''''''''''''''''''''''''''''''
341c6b310b3SDaniel P. Berrangé
342c6b310b3SDaniel P. BerrangéThis option restricted usage of certain cryptographic algorithms when
343c6b310b3SDaniel P. Berrangéthe host is operating in FIPS mode.
344c6b310b3SDaniel P. Berrangé
345c6b310b3SDaniel P. BerrangéIf FIPS compliance is required, QEMU should be built with the ``libgcrypt``
346c6b310b3SDaniel P. Berrangéor ``gnutls`` library enabled as a cryptography provider.
347c6b310b3SDaniel P. Berrangé
348c6b310b3SDaniel P. BerrangéNeither the ``nettle`` library, or the built-in cryptography provider are
349c6b310b3SDaniel P. Berrangésupported on FIPS enabled hosts.
350fe86fe23SThomas Huth
351e960a7eeSPaolo Bonzini``-writeconfig`` (removed in 7.1)
352e960a7eeSPaolo Bonzini'''''''''''''''''''''''''''''''''
353e960a7eeSPaolo Bonzini
354e960a7eeSPaolo BonziniThe ``-writeconfig`` option was not able to serialize the entire contents
355e960a7eeSPaolo Bonziniof the QEMU command line.  It is thus considered a failed experiment
356e960a7eeSPaolo Bonziniand removed without a replacement.
357e960a7eeSPaolo Bonzini
35862eb377eSDaniel P. Berrangé``loaded`` property of secret and TLS credential objects (removed in 9.2)
35962eb377eSDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
3600310641cSPaolo Bonzini
3610310641cSPaolo BonziniThe ``loaded=on`` option in the command line or QMP ``object-add`` either had
3620310641cSPaolo Bonzinino effect (if ``loaded`` was the last option) or caused options to be
3630310641cSPaolo Bonzinieffectively ignored as if they were not given.  The property is therefore
36462eb377eSDaniel P. Berrangéuseless and has been removed.
3650310641cSPaolo Bonzini
3666e577937SPaolo Bonzini``opened`` property of ``rng-*`` objects (removed in 7.1)
3676e577937SPaolo Bonzini'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
3686e577937SPaolo Bonzini
3696e577937SPaolo BonziniThe ``opened=on`` option in the command line or QMP ``object-add`` either had
3706e577937SPaolo Bonzinino effect (if ``opened`` was the last option) or caused errors.  The property
3716e577937SPaolo Bonziniis therefore useless and should simply be removed.
3720310641cSPaolo Bonzini
373a743d60bSThomas Huth``-display sdl,window_close=...`` (removed in 7.1)
374a743d60bSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''
375a743d60bSThomas Huth
376a743d60bSThomas HuthUse ``-display sdl,window-close=...`` instead (i.e. with a minus instead of
377a743d60bSThomas Huthan underscore between "window" and "close").
378a743d60bSThomas Huth
379a743d60bSThomas Huth``-alt-grab`` and ``-display sdl,alt_grab=on`` (removed in 7.1)
380a743d60bSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
381a743d60bSThomas Huth
382a743d60bSThomas HuthUse ``-display sdl,grab-mod=lshift-lctrl-lalt`` instead.
383a743d60bSThomas Huth
384a743d60bSThomas Huth``-ctrl-grab`` and ``-display sdl,ctrl_grab=on`` (removed in 7.1)
385a743d60bSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
386a743d60bSThomas Huth
387a743d60bSThomas HuthUse ``-display sdl,grab-mod=rctrl`` instead.
388a743d60bSThomas Huth
389707d93d4SThomas Huth``-sdl`` (removed in 7.1)
390707d93d4SThomas Huth'''''''''''''''''''''''''
391707d93d4SThomas Huth
392707d93d4SThomas HuthUse ``-display sdl`` instead.
393707d93d4SThomas Huth
394707d93d4SThomas Huth``-curses`` (removed in 7.1)
395707d93d4SThomas Huth''''''''''''''''''''''''''''
396707d93d4SThomas Huth
397707d93d4SThomas HuthUse ``-display curses`` instead.
398707d93d4SThomas Huth
3999878fbf3SThomas HuthCreating sound card devices using ``-soundhw`` (removed in 7.1)
4009878fbf3SThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
4019878fbf3SThomas Huth
4029878fbf3SThomas HuthSound card devices should be created using ``-device`` or ``-audio``.
4039878fbf3SThomas HuthThe exception is ``pcspk`` which can be activated using ``-machine
4049878fbf3SThomas Huthpcspk-audiodev=<name>``.
4059878fbf3SThomas Huth
4061dd1a36dSPhilippe Mathieu-Daudé``-watchdog`` (removed in 7.2)
4071dd1a36dSPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''
4085433af76SPaolo Bonzini
4095433af76SPaolo BonziniUse ``-device`` instead.
4105433af76SPaolo Bonzini
4111dd1a36dSPhilippe Mathieu-DaudéHexadecimal sizes with scaling multipliers (removed in 8.0)
4121dd1a36dSPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
4138b902e3dSPaolo Bonzini
4148b902e3dSPaolo BonziniInput parameters that take a size value should only use a size suffix
4158b902e3dSPaolo Bonzini(such as 'k' or 'M') when the base is written in decimal, and not when
4168b902e3dSPaolo Bonzinithe value is hexadecimal.  That is, '0x20M' should be written either as
4178b902e3dSPaolo Bonzini'32M' or as '0x2000000'.
4188b902e3dSPaolo Bonzini
4196f9f6308SPaolo Bonzini``-chardev`` backend aliases ``tty`` and ``parport`` (removed in 8.0)
4206f9f6308SPaolo Bonzini'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
4216f9f6308SPaolo Bonzini
4226f9f6308SPaolo Bonzini``tty`` and ``parport`` used to be aliases for ``serial`` and ``parallel``
4236f9f6308SPaolo Bonzinirespectively. The actual backend names should be used instead.
424a743d60bSThomas Huth
425e803a7f9SThomas Huth``-drive if=none`` for the sifive_u OTP device (removed in 8.0)
426e803a7f9SThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
427e803a7f9SThomas Huth
428e803a7f9SThomas HuthUse ``-drive if=pflash`` to configure the OTP device of the sifive_u
429e803a7f9SThomas HuthRISC-V machine instead.
430e803a7f9SThomas Huth
43136debafdSDaniel P. Berrangé``-spice password=string`` (removed in 8.0)
43236debafdSDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''
43336debafdSDaniel P. Berrangé
43436debafdSDaniel P. BerrangéThis option was insecure because the SPICE password remained visible in
43536debafdSDaniel P. Berrangéthe process listing. This was replaced by the new ``password-secret``
43636debafdSDaniel P. Berrangéoption which lets the password be securely provided on the command
43736debafdSDaniel P. Berrangéline using a ``secret`` object instance.
438e803a7f9SThomas Huth
43969a80279SPaolo Bonzini``QEMU_AUDIO_`` environment variables and ``-audio-help`` (removed in 8.2)
44069a80279SPaolo Bonzini''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
44169a80279SPaolo Bonzini
44269a80279SPaolo BonziniThe ``-audiodev`` and ``-audio`` command line options are now the only
44369a80279SPaolo Bonziniway to specify audio backend settings.
44469a80279SPaolo Bonzini
44522f84d4fSPaolo BonziniUsing ``-audiodev`` to define the default audio backend (removed in 8.2)
44622f84d4fSPaolo Bonzini''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
44722f84d4fSPaolo Bonzini
44822f84d4fSPaolo BonziniIf no audiodev property is specified, previous versions would use the
44922f84d4fSPaolo Bonzinifirst ``-audiodev`` command line option as a fallback.  Starting with
45022f84d4fSPaolo Bonziniversion 8.2, audio backends created with ``-audiodev`` will only be
45122f84d4fSPaolo Bonziniused by clients (sound cards, machines with embedded sound hardware, VNC)
45222f84d4fSPaolo Bonzinithat refer to it in an ``audiodev=`` property.
45322f84d4fSPaolo Bonzini
45422f84d4fSPaolo BonziniIn order to configure a default audio backend, use the ``-audio``
45522f84d4fSPaolo Bonzinicommand line option without specifying a ``model``; while previous
45622f84d4fSPaolo Bonziniversions of QEMU required a model, starting with version 8.2
45722f84d4fSPaolo BonziniQEMU does not require a model and will not create any sound card
45822f84d4fSPaolo Bonziniin this case.
45922f84d4fSPaolo Bonzini
460c753bf47SPaolo BonziniNote that the default audio backend must be configured on the command
461c753bf47SPaolo Bonziniline if the ``-nodefaults`` options is used.
462c753bf47SPaolo Bonzini
46348c1c25aSThomas Huth``-no-hpet`` (removed in 9.0)
46448c1c25aSThomas Huth'''''''''''''''''''''''''''''
46548c1c25aSThomas Huth
46648c1c25aSThomas HuthThe HPET setting has been turned into a machine property.
46748c1c25aSThomas HuthUse ``-machine hpet=off`` instead.
46848c1c25aSThomas Huth
4694a641010SThomas Huth``-no-acpi`` (removed in 9.0)
4704a641010SThomas Huth'''''''''''''''''''''''''''''
4714a641010SThomas Huth
4724a641010SThomas HuthThe ``-no-acpi`` setting has been turned into a machine property.
4734a641010SThomas HuthUse ``-machine acpi=off`` instead.
47448c1c25aSThomas Huth
4752582489fSThomas Huth``-async-teardown`` (removed in 9.0)
4762582489fSThomas Huth''''''''''''''''''''''''''''''''''''
4772582489fSThomas Huth
4782582489fSThomas HuthUse ``-run-with async-teardown=on`` instead.
4792582489fSThomas Huth
4801e7886e9SThomas Huth``-chroot`` (removed in 9.0)
4811e7886e9SThomas Huth''''''''''''''''''''''''''''
4821e7886e9SThomas Huth
4831e7886e9SThomas HuthUse ``-run-with chroot=dir`` instead.
4841e7886e9SThomas Huth
485c61a0d31SPhilippe Mathieu-Daudé``-singlestep`` (removed in 9.0)
486c61a0d31SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''
487c61a0d31SPhilippe Mathieu-Daudé
488c61a0d31SPhilippe Mathieu-DaudéThe ``-singlestep`` option has been turned into an accelerator property,
489c61a0d31SPhilippe Mathieu-Daudéand given a name that better reflects what it actually does.
490c61a0d31SPhilippe Mathieu-DaudéUse ``-accel tcg,one-insn-per-tb=on`` instead.
491c61a0d31SPhilippe Mathieu-Daudé
49272d346f3SZhao Liu``-smp`` ("parameter=0" SMP configurations) (removed in 9.0)
49372d346f3SZhao Liu''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
49472d346f3SZhao Liu
49572d346f3SZhao LiuSpecified CPU topology parameters must be greater than zero.
49672d346f3SZhao Liu
49772d346f3SZhao LiuIn the SMP configuration, users should either provide a CPU topology
49872d346f3SZhao Liuparameter with a reasonable value (greater than zero) or just omit it
49972d346f3SZhao Liuand QEMU will compute the missing value.
50072d346f3SZhao Liu
50172d346f3SZhao LiuHowever, historically it was implicitly allowed for users to provide
50272d346f3SZhao Liua parameter with zero value, which is meaningless and could also possibly
50372d346f3SZhao Liucause unexpected results in the -smp parsing. So support for this kind of
50472d346f3SZhao Liuconfigurations (e.g. -smp 8,sockets=0) is removed since 9.0, users have
50572d346f3SZhao Liuto ensure that all the topology members described with -smp are greater
50672d346f3SZhao Liuthan zero.
507c61a0d31SPhilippe Mathieu-Daudé
5080222111aSFabiano Rosas``-global migration.decompress-error-check`` (removed in 9.1)
5090222111aSFabiano Rosas'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
5100222111aSFabiano Rosas
5110222111aSFabiano RosasRemoved along with the ``compression`` migration capability.
5120222111aSFabiano Rosas
5131dd1a36dSPhilippe Mathieu-Daudé``-device virtio-blk,scsi=on|off`` (removed in 9.1)
5141dd1a36dSPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''''''''''''''''
515a271b8d7SPaolo Bonzini
516a271b8d7SPaolo BonziniThe virtio-blk SCSI passthrough feature is a legacy VIRTIO feature.  VIRTIO 1.0
517a271b8d7SPaolo Bonziniand later do not support it because the virtio-scsi device was introduced for
518a271b8d7SPaolo Bonzinifull SCSI support.  Use virtio-scsi instead when SCSI passthrough is required.
519a271b8d7SPaolo Bonzini
5201dd1a36dSPhilippe Mathieu-Daudé``-fsdev proxy`` and ``-virtfs proxy`` (removed in 9.2)
5211dd1a36dSPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''''''''''''''''''''
522ed766718SPaolo Bonzini
523ed766718SPaolo BonziniThe 9p ``proxy`` filesystem backend driver was originally developed to
524ed766718SPaolo Bonzinienhance security by dispatching low level filesystem operations from 9p
525ed766718SPaolo Bonziniserver (QEMU process) over to a separate process (the virtfs-proxy-helper
526ed766718SPaolo Bonzinibinary). However the proxy backend was much slower than the local backend,
527ed766718SPaolo Bonzinididn't see any development in years, and showed to be less secure,
528ed766718SPaolo Bonziniespecially due to the fact that its helper daemon must be run as root.
529ed766718SPaolo Bonzini
530ed766718SPaolo BonziniUse ``local``, possibly mapping permissions et al by using its 'mapped'
531ed766718SPaolo Bonzinisecurity model option, or switch to ``virtiofs``.   The virtiofs daemon
532ed766718SPaolo Bonzini``virtiofsd`` uses vhost to eliminate the high latency costs of the 9p
533ed766718SPaolo Bonzini``proxy`` backend.
534a271b8d7SPaolo Bonzini
5351dd1a36dSPhilippe Mathieu-Daudé``-portrait`` and ``-rotate`` (removed in 9.2)
5361dd1a36dSPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''''''''''
537f7214f99SPeter Maydell
538f7214f99SPeter MaydellThe ``-portrait`` and ``-rotate`` options were documented as only
539f7214f99SPeter Maydellworking with the PXA LCD device, and all the machine types using
540f7214f99SPeter Maydellthat display device were removed in 9.2, so these options also
541f7214f99SPeter Maydellhave been dropped.
542f7214f99SPeter Maydell
543f7214f99SPeter MaydellThese options were intended to simulate a mobile device being
544f7214f99SPeter Maydellrotated by the user, and had three effects:
545f7214f99SPeter Maydell
546f7214f99SPeter Maydell* the display output was rotated by 90, 180 or 270 degrees
547f7214f99SPeter Maydell* the mouse/trackpad input was rotated the opposite way
548f7214f99SPeter Maydell* the machine model would signal to the guest about its
549f7214f99SPeter Maydell  orientation
550f7214f99SPeter Maydell
551f7214f99SPeter MaydellOf these three things, the input-rotation was coded without being
552f7214f99SPeter Maydellrestricted to boards which supported the full set of device-rotation
553f7214f99SPeter Maydellhandling, so in theory the options were usable on other machine models
554f7214f99SPeter Maydellto produce an odd effect (rotating input but not display output). But
555f7214f99SPeter Maydellthis was never intended or documented behaviour, so we have dropped
556f7214f99SPeter Maydellthe options along with the machine models they were intended for.
557f7214f99SPeter Maydell
55800cfbdcbSThomas Huth``-runas`` (removed in 10.0)
55900cfbdcbSThomas Huth''''''''''''''''''''''''''''
56000cfbdcbSThomas Huth
56100cfbdcbSThomas HuthUse ``-run-with user=..`` instead.
56200cfbdcbSThomas Huth
56300cfbdcbSThomas Huth
564c61a0d31SPhilippe Mathieu-DaudéUser-mode emulator command line arguments
565c61a0d31SPhilippe Mathieu-Daudé-----------------------------------------
566c61a0d31SPhilippe Mathieu-Daudé
567c61a0d31SPhilippe Mathieu-Daudé``-singlestep`` (removed in 9.0)
568c61a0d31SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''
569c61a0d31SPhilippe Mathieu-Daudé
570c61a0d31SPhilippe Mathieu-DaudéThe ``-singlestep`` option has been given a name that better reflects
571c61a0d31SPhilippe Mathieu-Daudéwhat it actually does. For both linux-user and bsd-user, use the
572c61a0d31SPhilippe Mathieu-Daudé``-one-insn-per-tb`` option instead.
573c61a0d31SPhilippe Mathieu-Daudé
57448c1c25aSThomas Huth
5752c5060cdSThomas HuthQEMU Machine Protocol (QMP) commands
5762c5060cdSThomas Huth------------------------------------
5772c5060cdSThomas Huth
578e2cc363bSYanan Wang``block-dirty-bitmap-add`` "autoload" parameter (removed in 4.2)
579e2cc363bSYanan Wang''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
5802c5060cdSThomas Huth
5812c5060cdSThomas HuthThe "autoload" parameter has been ignored since 2.12.0. All bitmaps
5822c5060cdSThomas Huthare automatically loaded from qcow2 images.
5832c5060cdSThomas Huth
5842c5060cdSThomas Huth``cpu-add`` (removed in 5.2)
5852c5060cdSThomas Huth''''''''''''''''''''''''''''
5862c5060cdSThomas Huth
5872c5060cdSThomas HuthUse ``device_add`` for hotplugging vCPUs instead of ``cpu-add``.  See
5882c5060cdSThomas Huthdocumentation of ``query-hotpluggable-cpus`` for additional details.
5892c5060cdSThomas Huth
5900afec757SPaolo Bonzini``change`` (removed in 6.0)
5910afec757SPaolo Bonzini'''''''''''''''''''''''''''
5920afec757SPaolo Bonzini
593abea1946SVladimir Sementsov-OgievskiyUse ``blockdev-change-medium`` or ``change-vnc-password`` or
594abea1946SVladimir Sementsov-Ogievskiy``display-update`` instead.
5950afec757SPaolo Bonzini
5968becb360SDaniel P. Berrangé``query-events`` (removed in 6.0)
5978becb360SDaniel P. Berrangé'''''''''''''''''''''''''''''''''
5988becb360SDaniel P. Berrangé
5998becb360SDaniel P. BerrangéThe ``query-events`` command has been superseded by the more powerful
6008becb360SDaniel P. Berrangéand accurate ``query-qmp-schema`` command.
6018becb360SDaniel P. Berrangé
602cbde7be9SDaniel P. Berrangé``migrate_set_cache_size`` and ``query-migrate-cache-size`` (removed in 6.0)
603cbde7be9SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
604cbde7be9SDaniel P. Berrangé
605cbde7be9SDaniel P. BerrangéUse ``migrate_set_parameter`` and ``info migrate_parameters`` instead.
606cbde7be9SDaniel P. Berrangé
607cbde7be9SDaniel P. Berrangé``migrate_set_downtime`` and ``migrate_set_speed`` (removed in 6.0)
608cbde7be9SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
609cbde7be9SDaniel P. Berrangé
610cbde7be9SDaniel P. BerrangéUse ``migrate_set_parameter`` instead.
611cbde7be9SDaniel P. Berrangé
6128af54b91SDaniel P. Berrangé``query-cpus`` (removed in 6.0)
6138af54b91SDaniel P. Berrangé'''''''''''''''''''''''''''''''
6148af54b91SDaniel P. Berrangé
6158af54b91SDaniel P. BerrangéThe ``query-cpus`` command is replaced by the ``query-cpus-fast`` command.
6168af54b91SDaniel P. Berrangé
617445a5b40SDaniel P. Berrangé``query-cpus-fast`` ``arch`` output member (removed in 6.0)
618445a5b40SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
619445a5b40SDaniel P. Berrangé
620445a5b40SDaniel P. BerrangéThe ``arch`` output member of the ``query-cpus-fast`` command is
621445a5b40SDaniel P. Berrangéreplaced by the ``target`` output member.
622445a5b40SDaniel P. Berrangé
62324e13a4dSDaniel P. Berrangéchardev client socket with ``wait`` option (removed in 6.0)
62424e13a4dSDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
62524e13a4dSDaniel P. Berrangé
62624e13a4dSDaniel P. BerrangéCharacter devices creating sockets in client mode should not specify
62724e13a4dSDaniel P. Berrangéthe 'wait' field, which is only applicable to sockets in server mode
62824e13a4dSDaniel P. Berrangé
629ad1324e0SDaniel P. Berrangé``query-named-block-nodes`` result ``encryption_key_missing`` (removed in 6.0)
630ad1324e0SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
631ad1324e0SDaniel P. Berrangé
632ad1324e0SDaniel P. BerrangéRemoved with no replacement.
633ad1324e0SDaniel P. Berrangé
634ad1324e0SDaniel P. Berrangé``query-block`` result ``inserted.encryption_key_missing`` (removed in 6.0)
635ad1324e0SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
636ad1324e0SDaniel P. Berrangé
637ad1324e0SDaniel P. BerrangéRemoved with no replacement.
638ad1324e0SDaniel P. Berrangé
63981cbfd50SDaniel P. Berrangé``query-named-block-nodes`` and ``query-block`` result dirty-bitmaps[i].status (removed in 6.0)
64081cbfd50SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
64181cbfd50SDaniel P. Berrangé
64281cbfd50SDaniel P. BerrangéThe ``status`` field of the ``BlockDirtyInfo`` structure, returned by
64381cbfd50SDaniel P. Berrangéthese commands is removed. Two new boolean fields, ``recording`` and
64481cbfd50SDaniel P. Berrangé``busy`` effectively replace it.
64581cbfd50SDaniel P. Berrangé
646e67d8e29SDaniel P. Berrangé``query-block`` result field ``dirty-bitmaps`` (removed in 6.0)
647e67d8e29SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
648e67d8e29SDaniel P. Berrangé
649e67d8e29SDaniel P. BerrangéThe ``dirty-bitmaps`` field of the ``BlockInfo`` structure, returned by
650e67d8e29SDaniel P. Berrangéthe query-block command is itself now removed. The ``dirty-bitmaps``
651e67d8e29SDaniel P. Berrangéfield of the ``BlockDeviceInfo`` struct should be used instead, which is the
652e67d8e29SDaniel P. Berrangétype of the ``inserted`` field in query-block replies, as well as the
653e67d8e29SDaniel P. Berrangétype of array items in query-named-block-nodes.
654e67d8e29SDaniel P. Berrangé
65550243407SKevin Wolf``object-add`` option ``props`` (removed in 6.0)
65650243407SKevin Wolf''''''''''''''''''''''''''''''''''''''''''''''''
65750243407SKevin Wolf
65850243407SKevin WolfSpecify the properties for the object as top-level arguments instead.
65950243407SKevin Wolf
660fb418b51SPaolo Bonzini``query-sgx`` return value member ``section-size`` (removed in 8.0)
661fb418b51SPaolo Bonzini'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
662fb418b51SPaolo Bonzini
663fb418b51SPaolo BonziniMember ``section-size`` in the return value of ``query-sgx``
664fb418b51SPaolo Bonziniwas superseded by ``sections``.
665fb418b51SPaolo Bonzini
666fb418b51SPaolo Bonzini
667fb418b51SPaolo Bonzini``query-sgx-capabilities`` return value member ``section-size`` (removed in 8.0)
668fb418b51SPaolo Bonzini''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
669fb418b51SPaolo Bonzini
670fb418b51SPaolo BonziniMember ``section-size`` in the return value of ``query-sgx-capabilities``
671fb418b51SPaolo Bonziniwas superseded by ``sections``.
672fb418b51SPaolo Bonzini
673f7b1cd3cSFabiano Rosas``query-migrate`` return value member ``skipped`` (removed in 9.1)
674f7b1cd3cSFabiano Rosas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
675f7b1cd3cSFabiano Rosas
676f7b1cd3cSFabiano RosasMember ``skipped`` of the ``MigrationStats`` struct hasn't been used
677f7b1cd3cSFabiano Rosasfor more than 10 years. Removed with no replacement.
678f7b1cd3cSFabiano Rosas
67961c4e39fSFabiano Rosas``migrate`` command option ``inc`` (removed in 9.1)
68061c4e39fSFabiano Rosas'''''''''''''''''''''''''''''''''''''''''''''''''''
68161c4e39fSFabiano Rosas
68261c4e39fSFabiano RosasUse blockdev-mirror with NBD instead. See "QMP invocation for live
68361c4e39fSFabiano Rosasstorage migration with ``blockdev-mirror`` + NBD" in
68461c4e39fSFabiano Rosasdocs/interop/live-block-operations.rst for a detailed explanation.
68561c4e39fSFabiano Rosas
68618d154f5SFabiano Rosas``migrate`` command option ``blk`` (removed in 9.1)
68718d154f5SFabiano Rosas'''''''''''''''''''''''''''''''''''''''''''''''''''
68818d154f5SFabiano Rosas
68918d154f5SFabiano RosasUse blockdev-mirror with NBD instead. See "QMP invocation for live
69018d154f5SFabiano Rosasstorage migration with ``blockdev-mirror`` + NBD" in
69118d154f5SFabiano Rosasdocs/interop/live-block-operations.rst for a detailed explanation.
69218d154f5SFabiano Rosas
693eef0bae3SFabiano Rosas``migrate-set-capabilities`` ``block`` option (removed in 9.1)
694eef0bae3SFabiano Rosas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
695eef0bae3SFabiano Rosas
696eef0bae3SFabiano RosasBlock migration has been removed. For a replacement, see "QMP
697eef0bae3SFabiano Rosasinvocation for live storage migration with ``blockdev-mirror`` + NBD"
698eef0bae3SFabiano Rosasin docs/interop/live-block-operations.rst.
699eef0bae3SFabiano Rosas
7000222111aSFabiano Rosas``migrate-set-parameter`` ``compress-level`` option (removed in 9.1)
7010222111aSFabiano Rosas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7020222111aSFabiano Rosas
7030222111aSFabiano RosasUse ``multifd-zlib-level`` or ``multifd-zstd-level`` instead.
7040222111aSFabiano Rosas
7050222111aSFabiano Rosas``migrate-set-parameter`` ``compress-threads`` option (removed in 9.1)
7060222111aSFabiano Rosas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7070222111aSFabiano Rosas
7080222111aSFabiano RosasUse ``multifd-channels`` instead.
7090222111aSFabiano Rosas
7100222111aSFabiano Rosas``migrate-set-parameter`` ``compress-wait-thread`` option (removed in 9.1)
7110222111aSFabiano Rosas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7120222111aSFabiano Rosas
7130222111aSFabiano RosasRemoved with no replacement.
7140222111aSFabiano Rosas
7150222111aSFabiano Rosas``migrate-set-parameter`` ``decompress-threads`` option (removed in 9.1)
7160222111aSFabiano Rosas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7170222111aSFabiano Rosas
7180222111aSFabiano RosasUse ``multifd-channels`` instead.
7190222111aSFabiano Rosas
7200222111aSFabiano Rosas``migrate-set-capability`` ``compress`` option (removed in 9.1)
7210222111aSFabiano Rosas'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7220222111aSFabiano Rosas
7230222111aSFabiano RosasUse ``multifd-compression`` instead.
7240222111aSFabiano Rosas
7250f910b87SPhilippe Mathieu-DaudéQEMU Machine Protocol (QMP) events
7260f910b87SPhilippe Mathieu-Daudé----------------------------------
7270f910b87SPhilippe Mathieu-Daudé
7280f910b87SPhilippe Mathieu-Daudé``MEM_UNPLUG_ERROR`` (removed in 9.1)
7290f910b87SPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''
7300f910b87SPhilippe Mathieu-Daudé
7310f910b87SPhilippe Mathieu-DaudéMEM_UNPLUG_ERROR has been replaced by the more generic ``DEVICE_UNPLUG_GUEST_ERROR`` event.
7320f910b87SPhilippe Mathieu-Daudé
7337ffc4894SPhilippe Mathieu-Daudé``vcpu`` trace events (removed in 9.1)
7347ffc4894SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''
7357ffc4894SPhilippe Mathieu-Daudé
7367ffc4894SPhilippe Mathieu-DaudéThe ability to instrument QEMU helper functions with vCPU-aware trace
7377ffc4894SPhilippe Mathieu-Daudépoints was removed in 7.0.
7387ffc4894SPhilippe Mathieu-Daudé
7390f910b87SPhilippe Mathieu-Daudé
7402c5060cdSThomas HuthHuman Monitor Protocol (HMP) commands
7412c5060cdSThomas Huth-------------------------------------
7422c5060cdSThomas Huth
7435d82c101SThomas Huth``usb_add`` and ``usb_remove`` (removed in 2.12)
7445d82c101SThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''
7455d82c101SThomas Huth
7465d82c101SThomas HuthReplaced by ``device_add`` and ``device_del`` (use ``device_add help`` for a
7475d82c101SThomas Huthlist of available devices).
7485d82c101SThomas Huth
7495d82c101SThomas Huth``host_net_add`` and ``host_net_remove`` (removed in 2.12)
7505d82c101SThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7515d82c101SThomas Huth
7525d82c101SThomas HuthReplaced by ``netdev_add`` and ``netdev_del``.
7535d82c101SThomas Huth
7542c5060cdSThomas HuthThe ``hub_id`` parameter of ``hostfwd_add`` / ``hostfwd_remove`` (removed in 5.0)
7552c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7562c5060cdSThomas Huth
7572c5060cdSThomas HuthThe ``[hub_id name]`` parameter tuple of the 'hostfwd_add' and
7582c5060cdSThomas Huth'hostfwd_remove' HMP commands has been replaced by ``netdev_id``.
7592c5060cdSThomas Huth
7602c5060cdSThomas Huth``cpu-add`` (removed in 5.2)
7612c5060cdSThomas Huth''''''''''''''''''''''''''''
7622c5060cdSThomas Huth
7632c5060cdSThomas HuthUse ``device_add`` for hotplugging vCPUs instead of ``cpu-add``.  See
7642c5060cdSThomas Huthdocumentation of ``query-hotpluggable-cpus`` for additional details.
7652c5060cdSThomas Huth
766cfb5387aSPaolo Bonzini``change vnc TARGET`` (removed in 6.0)
767cfb5387aSPaolo Bonzini''''''''''''''''''''''''''''''''''''''
768cfb5387aSPaolo Bonzini
769cfb5387aSPaolo BonziniNo replacement.  The ``change vnc password`` and ``change DEVICE MEDIUM``
770cfb5387aSPaolo Bonzinicommands are not affected.
771cfb5387aSPaolo Bonzini
7725994dcb8SDaniel P. Berrangé``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, ``acl_remove`` (removed in 6.0)
7735994dcb8SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7745994dcb8SDaniel P. Berrangé
7755994dcb8SDaniel P. BerrangéThe ``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, and
7765994dcb8SDaniel P. Berrangé``acl_remove`` commands were removed with no replacement. Authorization
7775994dcb8SDaniel P. Berrangéfor VNC should be performed using the pluggable QAuthZ objects.
7785994dcb8SDaniel P. Berrangé
779cbde7be9SDaniel P. Berrangé``migrate-set-cache-size`` and ``info migrate-cache-size`` (removed in 6.0)
780cbde7be9SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
781cbde7be9SDaniel P. Berrangé
782cbde7be9SDaniel P. BerrangéUse ``migrate-set-parameters`` and ``info migrate-parameters`` instead.
783cbde7be9SDaniel P. Berrangé
784cbde7be9SDaniel P. Berrangé``migrate_set_downtime`` and ``migrate_set_speed`` (removed in 6.0)
785cbde7be9SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
786cbde7be9SDaniel P. Berrangé
787cbde7be9SDaniel P. BerrangéUse ``migrate-set-parameters`` instead.
788cbde7be9SDaniel P. Berrangé
789ca24b0b9SBruno Larsen (billionai)``info cpustats`` (removed in 6.1)
790ca24b0b9SBruno Larsen (billionai)''''''''''''''''''''''''''''''''''
791ca24b0b9SBruno Larsen (billionai)
792ca24b0b9SBruno Larsen (billionai)This command didn't produce any output already. Removed with no replacement.
793ca24b0b9SBruno Larsen (billionai)
79497b6e1d3SPhilippe Mathieu-Daudé``singlestep`` (removed in 9.0)
79597b6e1d3SPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''
79697b6e1d3SPhilippe Mathieu-Daudé
79797b6e1d3SPhilippe Mathieu-DaudéThe ``singlestep`` command has been replaced by the ``one-insn-per-tb``
79897b6e1d3SPhilippe Mathieu-Daudécommand, which has the same behaviour but a less misleading name.
79997b6e1d3SPhilippe Mathieu-Daudé
80061c4e39fSFabiano Rosas``migrate`` command ``-i`` option (removed in 9.1)
80161c4e39fSFabiano Rosas''''''''''''''''''''''''''''''''''''''''''''''''''
80261c4e39fSFabiano Rosas
80361c4e39fSFabiano RosasUse blockdev-mirror with NBD instead. See "QMP invocation for live
80461c4e39fSFabiano Rosasstorage migration with ``blockdev-mirror`` + NBD" in
80561c4e39fSFabiano Rosasdocs/interop/live-block-operations.rst for a detailed explanation.
80661c4e39fSFabiano Rosas
80718d154f5SFabiano Rosas``migrate`` command ``-b`` option (removed in 9.1)
80818d154f5SFabiano Rosas''''''''''''''''''''''''''''''''''''''''''''''''''
80918d154f5SFabiano Rosas
81018d154f5SFabiano RosasUse blockdev-mirror with NBD instead. See "QMP invocation for live
81118d154f5SFabiano Rosasstorage migration with ``blockdev-mirror`` + NBD" in
81218d154f5SFabiano Rosasdocs/interop/live-block-operations.rst for a detailed explanation.
81318d154f5SFabiano Rosas
814eef0bae3SFabiano Rosas``migrate_set_capability`` ``block`` option (removed in 9.1)
815eef0bae3SFabiano Rosas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
816eef0bae3SFabiano Rosas
817eef0bae3SFabiano RosasBlock migration has been removed. For a replacement, see "QMP
818eef0bae3SFabiano Rosasinvocation for live storage migration with ``blockdev-mirror`` + NBD"
819eef0bae3SFabiano Rosasin docs/interop/live-block-operations.rst.
820eef0bae3SFabiano Rosas
8210222111aSFabiano Rosas``migrate_set_parameter`` ``compress-level`` option (removed in 9.1)
8220222111aSFabiano Rosas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
8230222111aSFabiano Rosas
8240222111aSFabiano RosasUse ``multifd-zlib-level`` or ``multifd-zstd-level`` instead.
8250222111aSFabiano Rosas
8260222111aSFabiano Rosas``migrate_set_parameter`` ``compress-threads`` option (removed in 9.1)
8270222111aSFabiano Rosas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
8280222111aSFabiano Rosas
8290222111aSFabiano RosasUse ``multifd-channels`` instead.
8300222111aSFabiano Rosas
8310222111aSFabiano Rosas``migrate_set_parameter`` ``compress-wait-thread`` option (removed in 9.1)
8320222111aSFabiano Rosas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
8330222111aSFabiano Rosas
8340222111aSFabiano RosasRemoved with no replacement.
8350222111aSFabiano Rosas
8360222111aSFabiano Rosas``migrate_set_parameter`` ``decompress-threads`` option (removed in 9.1)
8370222111aSFabiano Rosas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
8380222111aSFabiano Rosas
8390222111aSFabiano RosasUse ``multifd-channels`` instead.
8400222111aSFabiano Rosas
8410222111aSFabiano Rosas``migrate_set_capability`` ``compress`` option (removed in 9.1)
8420222111aSFabiano Rosas'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
8430222111aSFabiano Rosas
8440222111aSFabiano RosasUse ``multifd-compression`` instead.
8450222111aSFabiano Rosas
84634fabc85SPeter MaydellHost Architectures
84734fabc85SPeter Maydell------------------
84834fabc85SPeter Maydell
84934fabc85SPeter MaydellSystem emulation on 32-bit Windows hosts (removed in 9.0)
85034fabc85SPeter Maydell'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
85134fabc85SPeter Maydell
85234fabc85SPeter MaydellWindows 11 has no support for 32-bit host installs, and Windows 10 did
85334fabc85SPeter Maydellnot support new 32-bit installs, only upgrades. 32-bit Windows support
85434fabc85SPeter Maydellhas now been dropped by the MSYS2 project. QEMU also is deprecating
85534fabc85SPeter Maydelland dropping support for 32-bit x86 host deployments in
85634fabc85SPeter Maydellgeneral. 32-bit Windows is therefore no longer a supported host for
85734fabc85SPeter MaydellQEMU.  Since all recent x86 hardware from the past >10 years is
85834fabc85SPeter Maydellcapable of the 64-bit x86 extensions, a corresponding 64-bit OS should
85934fabc85SPeter Maydellbe used instead.
86034fabc85SPeter Maydell
8612c5060cdSThomas HuthGuest Emulator ISAs
8622c5060cdSThomas Huth-------------------
8632c5060cdSThomas Huth
8642c5060cdSThomas HuthRISC-V ISA privilege specification version 1.09.1 (removed in 5.1)
8652c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
8662c5060cdSThomas Huth
8672c5060cdSThomas HuthThe RISC-V ISA privilege specification version 1.09.1 has been removed.
8682c5060cdSThomas HuthQEMU supports both the newer version 1.10.0 and the ratified version 1.11.0, these
8692c5060cdSThomas Huthshould be used instead of the 1.09.1 version.
8702c5060cdSThomas Huth
8712c5060cdSThomas HuthSystem emulator CPUS
8722c5060cdSThomas Huth--------------------
8732c5060cdSThomas Huth
8742c5060cdSThomas HuthKVM guest support on 32-bit Arm hosts (removed in 5.2)
8752c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''
8762c5060cdSThomas Huth
8772c5060cdSThomas HuthThe Linux kernel has dropped support for allowing 32-bit Arm systems
8789d3f8b32SPaolo Bonzinito host KVM guests as of the 5.7 kernel, and was thus removed from QEMU
8799d3f8b32SPaolo Bonzinias well.  Running 32-bit guests on a 64-bit Arm host remains supported.
8802c5060cdSThomas Huth
8812c5060cdSThomas HuthRISC-V ISA Specific CPUs (removed in 5.1)
8822c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''
8832c5060cdSThomas Huth
8842c5060cdSThomas HuthThe RISC-V cpus with the ISA version in the CPU name have been removed. The
8852c5060cdSThomas Huthfour CPUs are: ``rv32gcsu-v1.9.1``, ``rv32gcsu-v1.10.0``, ``rv64gcsu-v1.9.1`` and
8862c5060cdSThomas Huth``rv64gcsu-v1.10.0``. Instead the version can be specified via the CPU ``priv_spec``
8872c5060cdSThomas Huthoption when using the ``rv32`` or ``rv64`` CPUs.
8882c5060cdSThomas Huth
8892c5060cdSThomas HuthRISC-V no MMU CPUs (removed in 5.1)
8902c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''
8912c5060cdSThomas Huth
8922c5060cdSThomas HuthThe RISC-V no MMU cpus have been removed. The two CPUs: ``rv32imacu-nommu`` and
8932c5060cdSThomas Huth``rv64imacu-nommu`` can no longer be used. Instead the MMU status can be specified
8942c5060cdSThomas Huthvia the CPU ``mmu`` option when using the ``rv32`` or ``rv64`` CPUs.
8952c5060cdSThomas Huth
896d83234d3SPhilippe Mathieu-DaudéRISC-V 'any' CPU type ``-cpu any`` (removed in 9.2)
897d83234d3SPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''''''''''''''''
898d83234d3SPhilippe Mathieu-Daudé
899d83234d3SPhilippe Mathieu-DaudéThe 'any' CPU type was introduced back in 2018 and was around since the
900d83234d3SPhilippe Mathieu-Daudéinitial RISC-V QEMU port. Its usage was always been unclear: users don't know
901d83234d3SPhilippe Mathieu-Daudéwhat to expect from a CPU called 'any', and in fact the CPU does not do anything
902d83234d3SPhilippe Mathieu-Daudéspecial that isn't already done by the default CPUs rv32/rv64.
903d83234d3SPhilippe Mathieu-Daudé
904a058b895SGreg Kurz``compat`` property of server class POWER CPUs (removed in 6.0)
905a058b895SGreg Kurz'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
906a058b895SGreg Kurz
907a058b895SGreg KurzThe ``max-cpu-compat`` property of the ``pseries`` machine type should be used
908a058b895SGreg Kurzinstead.
909a058b895SGreg Kurz
910875bb7e3SThomas Huth``moxie`` CPU (removed in 6.1)
911875bb7e3SThomas Huth''''''''''''''''''''''''''''''
912875bb7e3SThomas Huth
913875bb7e3SThomas HuthNobody was using this CPU emulation in QEMU, and there were no test images
914875bb7e3SThomas Huthavailable to make sure that the code is still working, so it has been removed
915875bb7e3SThomas Huthwithout replacement.
916875bb7e3SThomas Huth
917e2cc363bSYanan Wang``lm32`` CPUs (removed in 6.1)
918e2cc363bSYanan Wang''''''''''''''''''''''''''''''
9199d49bcf6SMarkus Armbruster
9209d49bcf6SMarkus ArmbrusterThe only public user of this architecture was the milkymist project,
9219d49bcf6SMarkus Armbrusterwhich has been dead for years; there was never an upstream Linux
9229d49bcf6SMarkus Armbrusterport.  Removed without replacement.
9239d49bcf6SMarkus Armbruster
924e2cc363bSYanan Wang``unicore32`` CPUs (removed in 6.1)
925e2cc363bSYanan Wang'''''''''''''''''''''''''''''''''''
92643692239SMarkus Armbruster
92743692239SMarkus ArmbrusterSupport for this CPU was removed from the upstream Linux kernel, and
92843692239SMarkus Armbrusterthere is no available upstream toolchain to build binaries for it.
92943692239SMarkus ArmbrusterRemoved without replacement.
93043692239SMarkus Armbruster
9316df39f5eSRobert Hoox86 ``Icelake-Client`` CPU (removed in 7.1)
9326df39f5eSRobert Hoo'''''''''''''''''''''''''''''''''''''''''''
9336df39f5eSRobert Hoo
9346df39f5eSRobert HooThere isn't ever Icelake Client CPU, it is some wrong and imaginary one.
9356df39f5eSRobert HooUse ``Icelake-Server`` instead.
9366df39f5eSRobert Hoo
9376c301485SPhilippe Mathieu-DaudéNios II CPU (removed in 9.1)
9386c301485SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''
9396c301485SPhilippe Mathieu-Daudé
9406c301485SPhilippe Mathieu-DaudéQEMU Nios II architecture was orphan; Intel has EOL'ed the Nios II
9416c301485SPhilippe Mathieu-Daudéprocessor IP (see `Intel discontinuance notification`_).
9426c301485SPhilippe Mathieu-Daudé
94344e4075bSPhilippe Mathieu-DaudéCRIS CPU architecture (removed in 9.2)
94444e4075bSPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''
94544e4075bSPhilippe Mathieu-Daudé
94644e4075bSPhilippe Mathieu-DaudéThe CRIS architecture was pulled from Linux in 4.17 and the compiler
94744e4075bSPhilippe Mathieu-Daudéwas no longer packaged in any distro making it harder to run the
94844e4075bSPhilippe Mathieu-Daudé``check-tcg`` tests.
94944e4075bSPhilippe Mathieu-Daudé
950eaaaf8abSPaolo BonziniSystem accelerators
951eaaaf8abSPaolo Bonzini-------------------
952eaaaf8abSPaolo Bonzini
953b91b0fc1SPhilippe Mathieu-DaudéUserspace local APIC with KVM (x86, removed in 8.0)
954b91b0fc1SPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''''''''''''''''
955eaaaf8abSPaolo Bonzini
956eaaaf8abSPaolo Bonzini``-M kernel-irqchip=off`` cannot be used on KVM if the CPU model includes
957eaaaf8abSPaolo Bonzinia local APIC.  The ``split`` setting is supported, as is using ``-M
958eaaaf8abSPaolo Bonzinikernel-irqchip=off`` when the CPU does not have a local APIC.
959eaaaf8abSPaolo Bonzini
960b91b0fc1SPhilippe Mathieu-DaudéHAXM (``-accel hax``) (removed in 8.2)
961b91b0fc1SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''
962b91b0fc1SPhilippe Mathieu-Daudé
963b91b0fc1SPhilippe Mathieu-DaudéThe HAXM project has been retired (see https://github.com/intel/haxm#status).
964b91b0fc1SPhilippe Mathieu-DaudéUse "whpx" (on Windows) or "hvf" (on macOS) instead.
965a8448735SPaolo Bonzini
966a8448735SPaolo BonziniMIPS "Trap-and-Emulate" KVM support (removed in 8.0)
967a8448735SPaolo Bonzini''''''''''''''''''''''''''''''''''''''''''''''''''''
968a8448735SPaolo Bonzini
969a8448735SPaolo BonziniThe MIPS "Trap-and-Emulate" KVM host and guest support was removed
970a8448735SPaolo Bonzinifrom Linux in 2021, and is not supported anymore by QEMU either.
971a8448735SPaolo Bonzini
9722c5060cdSThomas HuthSystem emulator machines
9732c5060cdSThomas Huth------------------------
9742c5060cdSThomas Huth
9756f9a1a01SThomas HuthNote: Versioned machine types that have been introduced in a QEMU version
9766f9a1a01SThomas Huththat has initially been released more than 6 years before are considered
9776f9a1a01SThomas Huthobsolete and will be removed without further notice in this document.
9786f9a1a01SThomas HuthPlease use newer machine types instead.
9796f9a1a01SThomas Huth
98036b50899SThomas Huth``s390-virtio`` (removed in 2.6)
98136b50899SThomas Huth''''''''''''''''''''''''''''''''
98236b50899SThomas Huth
98336b50899SThomas HuthUse the ``s390-ccw-virtio`` machine instead.
98436b50899SThomas Huth
98536b50899SThomas HuthThe m68k ``dummy`` machine (removed in 2.9)
98636b50899SThomas Huth'''''''''''''''''''''''''''''''''''''''''''
98736b50899SThomas Huth
98836b50899SThomas HuthUse the ``none`` machine with the ``loader`` device instead.
98936b50899SThomas Huth
99036b50899SThomas Huth``xlnx-ep108`` (removed in 3.0)
99136b50899SThomas Huth'''''''''''''''''''''''''''''''
99236b50899SThomas Huth
99336b50899SThomas HuthThe EP108 was an early access development board that is no longer used.
99436b50899SThomas HuthUse the ``xlnx-zcu102`` machine instead.
99536b50899SThomas Huth
9962c5060cdSThomas Huth``spike_v1.9.1`` and ``spike_v1.10`` (removed in 5.1)
9972c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''
9982c5060cdSThomas Huth
9992c5060cdSThomas HuthThe version specific Spike machines have been removed in favour of the
10002c5060cdSThomas Huthgeneric ``spike`` machine. If you need to specify an older version of the RISC-V
10012c5060cdSThomas Huthspec you can use the ``-cpu rv64gcsu,priv_spec=v1.10.0`` command line argument.
10022c5060cdSThomas Huth
10032c5060cdSThomas Huthmips ``r4k`` platform (removed in 5.2)
10042c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''
10052c5060cdSThomas Huth
10062c5060cdSThomas HuthThis machine type was very old and unmaintained. Users should use the ``malta``
10072c5060cdSThomas Huthmachine type instead.
10082c5060cdSThomas Huth
1009cd669e20SPhilippe Mathieu-Daudémips ``fulong2e`` machine alias (removed in 6.0)
1010cd669e20SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''''''''''''
1011cd669e20SPhilippe Mathieu-Daudé
1012cd669e20SPhilippe Mathieu-DaudéThis machine has been renamed ``fuloong2e``.
1013cd669e20SPhilippe Mathieu-Daudé
101457469ed3SPhilippe Mathieu-DaudéRaspberry Pi ``raspi2`` and ``raspi3`` machines (removed in 6.2)
101557469ed3SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
101657469ed3SPhilippe Mathieu-Daudé
101757469ed3SPhilippe Mathieu-DaudéThe Raspberry Pi machines come in various models (A, A+, B, B+). To be able
101857469ed3SPhilippe Mathieu-Daudéto distinguish which model QEMU is implementing, the ``raspi2`` and ``raspi3``
101957469ed3SPhilippe Mathieu-Daudémachines have been renamed ``raspi2b`` and ``raspi3b``.
102057469ed3SPhilippe Mathieu-Daudé
102150f97a0eSJoel StanleyAspeed ``swift-bmc`` machine (removed in 7.0)
102250f97a0eSJoel Stanley'''''''''''''''''''''''''''''''''''''''''''''
102350f97a0eSJoel Stanley
102450f97a0eSJoel StanleyThis machine was removed because it was unused. Alternative AST2500 based
102550f97a0eSJoel StanleyOpenPOWER machines are ``witherspoon-bmc`` and ``romulus-bmc``.
10262cc1a901SThomas Huth
10272b1b66e0SCédric Le GoaterAspeed ``tacoma-bmc`` machine (removed in 10.0)
10282b1b66e0SCédric Le Goater'''''''''''''''''''''''''''''''''''''''''''''''
10292b1b66e0SCédric Le Goater
10302b1b66e0SCédric Le GoaterThe ``tacoma-bmc`` machine was removed because it didn't bring much
10312b1b66e0SCédric Le Goatercompared to the ``rainier-bmc`` machine. Also, the ``tacoma-bmc`` was
10322b1b66e0SCédric Le Goatera board used for bring up of the AST2600 SoC that never left the
10332b1b66e0SCédric Le Goaterlabs. It can be easily replaced by the ``rainier-bmc`` machine, which
10342b1b66e0SCédric Le Goaterwas the actual final product, or by the ``ast2600-evb`` with some
10352b1b66e0SCédric Le Goatertweaks.
10362b1b66e0SCédric Le Goater
10371335caf3SCédric Le Goaterppc ``taihu`` machine (removed in 7.2)
10381335caf3SCédric Le Goater'''''''''''''''''''''''''''''''''''''''''''''
10391335caf3SCédric Le Goater
10401335caf3SCédric Le GoaterThis machine was removed because it was partially emulated and 405
10411335caf3SCédric Le Goatermachines are very similar. Use the ``ref405ep`` machine instead.
10421335caf3SCédric Le Goater
10436c301485SPhilippe Mathieu-DaudéNios II ``10m50-ghrd`` and ``nios2-generic-nommu`` machines (removed in 9.1)
10446c301485SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
10456c301485SPhilippe Mathieu-Daudé
10466c301485SPhilippe Mathieu-DaudéThe Nios II architecture was orphan.
10476c301485SPhilippe Mathieu-Daudé
10480ea0538fSPhilippe Mathieu-Daudé``shix`` (removed in 9.2)
10490ea0538fSPhilippe Mathieu-Daudé'''''''''''''''''''''''''
10500ea0538fSPhilippe Mathieu-Daudé
10510ea0538fSPhilippe Mathieu-DaudéThe machine was unmaintained.
10520ea0538fSPhilippe Mathieu-Daudé
105321c1270fSPeter MaydellArm machines ``akita``, ``borzoi``, ``cheetah``, ``connex``, ``mainstone``, ``n800``, ``n810``, ``spitz``, ``terrier``, ``tosa``, ``verdex``, ``z2`` (removed in 9.2)
105421c1270fSPeter Maydell'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
105521c1270fSPeter Maydell
105621c1270fSPeter MaydellQEMU included models of some machine types where the QEMU code that
105721c1270fSPeter Maydellemulates their SoCs was very old and unmaintained. This code was
105821c1270fSPeter Maydellblocking our ability to move forward with various changes across
105921c1270fSPeter Maydellthe codebase, and over many years nobody has been interested in
106021c1270fSPeter Maydelltrying to modernise it. We don't expect any of these machines to have
106121c1270fSPeter Maydella large number of users, because they're all modelling hardware that
106221c1270fSPeter Maydellhas now passed away into history. We are therefore dropping support
106321c1270fSPeter Maydellfor all machine types using the PXA2xx and OMAP2 SoCs. We are also
106421c1270fSPeter Maydelldropping the ``cheetah`` OMAP1 board, because we don't have any
106521c1270fSPeter Maydelltest images for it and don't know of anybody who does.
106621c1270fSPeter Maydell
1067*e7dba30eSCédric Le Goaterppc ``ref405ep`` machine (removed in 10.0)
1068*e7dba30eSCédric Le Goater''''''''''''''''''''''''''''''''''''''''''
1069*e7dba30eSCédric Le Goater
1070*e7dba30eSCédric Le GoaterThis machine was removed because PPC 405 CPU have no known users,
1071*e7dba30eSCédric Le Goaterfirmware images are not available, OpenWRT dropped support in 2019,
1072*e7dba30eSCédric Le GoaterU-Boot in 2017, and Linux in 2024.
1073*e7dba30eSCédric Le Goater
10742cc1a901SThomas Huthlinux-user mode CPUs
10752cc1a901SThomas Huth--------------------
10762cc1a901SThomas Huth
10772cc1a901SThomas Huth``tilegx`` CPUs (removed in 6.0)
10782cc1a901SThomas Huth''''''''''''''''''''''''''''''''
10792cc1a901SThomas Huth
10802cc1a901SThomas HuthThe ``tilegx`` guest CPU support has been removed without replacement. It was
10812cc1a901SThomas Huthonly implemented in linux-user mode, but support for this CPU was removed from
10822cc1a901SThomas Huththe upstream Linux kernel in 2018, and it has also been dropped from glibc, so
10832cc1a901SThomas Huththere is no new Linux development taking place with this architecture. For
10842cc1a901SThomas Huthrunning the old binaries, you can use older versions of QEMU.
10852cc1a901SThomas Huth
108674154d7eSThomas Huth``ppc64abi32`` CPUs (removed in 7.0)
108774154d7eSThomas Huth''''''''''''''''''''''''''''''''''''
108874154d7eSThomas Huth
108974154d7eSThomas HuthThe ``ppc64abi32`` architecture has a number of issues which regularly
109074154d7eSThomas Huthtripped up the CI testing and was suspected to be quite broken. For that
109174154d7eSThomas Huthreason the maintainers strongly suspected no one actually used it.
109274154d7eSThomas Huth
10936c301485SPhilippe Mathieu-Daudé``nios2`` CPU (removed in 9.1)
10946c301485SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''
10956c301485SPhilippe Mathieu-Daudé
10966c301485SPhilippe Mathieu-DaudéQEMU Nios II architecture was orphan; Intel has EOL'ed the Nios II
10976c301485SPhilippe Mathieu-Daudéprocessor IP (see `Intel discontinuance notification`_).
109874154d7eSThomas Huth
1099d9a6bad5SAlex BennéeTCG introspection features
1100d9a6bad5SAlex Bennée--------------------------
1101d9a6bad5SAlex Bennée
1102b4859e8fSPhilippe Mathieu-DaudéTCG trace-events (removed in 7.0)
1103b4859e8fSPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''
1104d9a6bad5SAlex Bennée
1105d9a6bad5SAlex BennéeThe ability to add new TCG trace points had bit rotted and as the
1106d9a6bad5SAlex Bennéefeature can be replicated with TCG plugins it was removed. If
1107d9a6bad5SAlex Bennéeany user is currently using this feature and needs help with
1108d9a6bad5SAlex Bennéeconverting to using TCG plugins they should contact the qemu-devel
1109d9a6bad5SAlex Bennéemailing list.
1110d9a6bad5SAlex Bennée
1111d9a6bad5SAlex Bennée
1112b5010183SDaniel P. BerrangéSystem emulator devices
1113b5010183SDaniel P. Berrangé-----------------------
1114b5010183SDaniel P. Berrangé
11155643fcddSThomas Huth``spapr-pci-vfio-host-bridge`` (removed in 2.12)
11165643fcddSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''
11175643fcddSThomas Huth
11185643fcddSThomas HuthThe ``spapr-pci-vfio-host-bridge`` device type has been replaced by the
11195643fcddSThomas Huth``spapr-pci-host-bridge`` device type.
11205643fcddSThomas Huth
11215643fcddSThomas Huth``ivshmem`` (removed in 4.0)
11225643fcddSThomas Huth''''''''''''''''''''''''''''
11235643fcddSThomas Huth
11245643fcddSThomas HuthReplaced by either the ``ivshmem-plain`` or ``ivshmem-doorbell``.
11255643fcddSThomas Huth
1126b5010183SDaniel P. Berrangé``ide-drive`` (removed in 6.0)
1127b5010183SDaniel P. Berrangé''''''''''''''''''''''''''''''
1128b5010183SDaniel P. Berrangé
1129b5010183SDaniel P. BerrangéThe 'ide-drive' device has been removed. Users should use 'ide-hd' or
1130b5010183SDaniel P. Berrangé'ide-cd' as appropriate to get an IDE hard disk or CD-ROM as needed.
11312cc1a901SThomas Huth
1132879be3afSDaniel P. Berrangé``scsi-disk`` (removed in 6.0)
1133879be3afSDaniel P. Berrangé''''''''''''''''''''''''''''''
1134879be3afSDaniel P. Berrangé
1135879be3afSDaniel P. BerrangéThe 'scsi-disk' device has been removed. Users should use 'scsi-hd' or
1136879be3afSDaniel P. Berrangé'scsi-cd' as appropriate to get a SCSI hard disk or CD-ROM as needed.
1137879be3afSDaniel P. Berrangé
1138b482fb43SThomas Huth``sga`` (removed in 8.0)
1139b482fb43SThomas Huth''''''''''''''''''''''''
1140b482fb43SThomas Huth
1141b482fb43SThomas HuthThe ``sga`` device loaded an option ROM for x86 targets which enabled
1142b482fb43SThomas HuthSeaBIOS to send messages to the serial console. SeaBIOS 1.11.0 onwards
1143b482fb43SThomas Huthcontains native support for this feature and thus use of the option
1144b482fb43SThomas HuthROM approach was obsolete. The native SeaBIOS support can be activated
1145b482fb43SThomas Huthby using ``-machine graphics=off``.
1146b482fb43SThomas Huth
11471dfd42c4SPhilippe Mathieu-Daudé``pvrdma`` and the RDMA subsystem (removed in 9.1)
11481dfd42c4SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''''''''''''''
11491dfd42c4SPhilippe Mathieu-Daudé
11501dfd42c4SPhilippe Mathieu-DaudéThe 'pvrdma' device and the whole RDMA subsystem have been removed.
1151b482fb43SThomas Huth
11522c5060cdSThomas HuthRelated binaries
11532c5060cdSThomas Huth----------------
11542c5060cdSThomas Huth
11552c5060cdSThomas Huth``qemu-nbd --partition`` (removed in 5.0)
11562c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''
11572c5060cdSThomas Huth
11582c5060cdSThomas HuthThe ``qemu-nbd --partition $digit`` code (also spelled ``-P``)
11592c5060cdSThomas Huthcould only handle MBR partitions, and never correctly handled logical
11602c5060cdSThomas Huthpartitions beyond partition 5.  Exporting a partition can still be
11612c5060cdSThomas Huthdone by utilizing the ``--image-opts`` option with a raw blockdev
11622c5060cdSThomas Huthusing the ``offset`` and ``size`` parameters layered on top of
11632c5060cdSThomas Huthany other existing blockdev. For example, if partition 1 is 100MiB
11642c5060cdSThomas Huthlong starting at 1MiB, the old command::
11652c5060cdSThomas Huth
11662c5060cdSThomas Huth  qemu-nbd -t -P 1 -f qcow2 file.qcow2
11672c5060cdSThomas Huth
11682c5060cdSThomas Huthcan be rewritten as::
11692c5060cdSThomas Huth
11702c5060cdSThomas Huth  qemu-nbd -t --image-opts driver=raw,offset=1M,size=100M,file.driver=qcow2,file.file.driver=file,file.file.filename=file.qcow2
11712c5060cdSThomas Huth
11722c5060cdSThomas Huth``qemu-img convert -n -o`` (removed in 5.1)
11732c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''
11742c5060cdSThomas Huth
11752c5060cdSThomas HuthAll options specified in ``-o`` are image creation options, so
11762c5060cdSThomas Huththey are now rejected when used with ``-n`` to skip image creation.
11772c5060cdSThomas Huth
11782c5060cdSThomas Huth
11792c5060cdSThomas Huth``qemu-img create -b bad file $size`` (removed in 5.1)
11802c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''
11812c5060cdSThomas Huth
11822c5060cdSThomas HuthWhen creating an image with a backing file that could not be opened,
11832c5060cdSThomas Huth``qemu-img create`` used to issue a warning about the failure but
11842c5060cdSThomas Huthproceed with the image creation if an explicit size was provided.
11852c5060cdSThomas HuthHowever, as the ``-u`` option exists for this purpose, it is safer to
11862c5060cdSThomas Huthenforce that any failure to open the backing image (including if the
11872c5060cdSThomas Huthbacking file is missing or an incorrect format was specified) is an
11882c5060cdSThomas Hutherror when ``-u`` is not used.
11892c5060cdSThomas Huth
1190c5ba6219SPhilippe Mathieu-Daudé``qemu-img amend`` to adjust backing file (removed in 6.1)
1191c5ba6219SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
11925a385bf5SEric Blake
11935a385bf5SEric BlakeThe use of ``qemu-img amend`` to modify the name or format of a qcow2
11945a385bf5SEric Blakebacking image was never fully documented or tested, and interferes
11955a385bf5SEric Blakewith other amend operations that need access to the original backing
11965a385bf5SEric Blakeimage (such as deciding whether a v3 zero cluster may be left
11975a385bf5SEric Blakeunallocated when converting to a v2 image).  Any changes to the
11985a385bf5SEric Blakebacking chain should be performed with ``qemu-img rebase -u`` either
11995a385bf5SEric Blakebefore or after the remaining changes being performed by amend, as
12005a385bf5SEric Blakeappropriate.
12015a385bf5SEric Blake
1202c5ba6219SPhilippe Mathieu-Daudé``qemu-img`` backing file without format (removed in 6.1)
1203c5ba6219SPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
1204497a30dbSEric Blake
1205497a30dbSEric BlakeThe use of ``qemu-img create``, ``qemu-img rebase``, or ``qemu-img
1206497a30dbSEric Blakeconvert`` to create or modify an image that depends on a backing file
1207497a30dbSEric Blakenow requires that an explicit backing format be provided.  This is
1208497a30dbSEric Blakefor safety: if QEMU probes a different format than what you thought,
1209497a30dbSEric Blakethe data presented to the guest will be corrupt; similarly, presenting
1210497a30dbSEric Blakea raw image to a guest allows a potential security exploit if a future
1211497a30dbSEric Blakeprobe sees a non-raw image based on guest writes.
1212497a30dbSEric Blake
1213497a30dbSEric BlakeTo avoid creating unsafe backing chains, you must pass ``-o
1214497a30dbSEric Blakebacking_fmt=`` (or the shorthand ``-F`` during create) to specify the
1215497a30dbSEric Blakeintended backing format.  You may use ``qemu-img rebase -u`` to
1216497a30dbSEric Blakeretroactively add a backing format to an existing image.  However, be
1217497a30dbSEric Blakeaware that there are already potential security risks to blindly using
1218497a30dbSEric Blake``qemu-img info`` to probe the format of an untrusted backing image,
1219497a30dbSEric Blakewhen deciding what format to add into an existing image.
1220497a30dbSEric Blake
12212c5060cdSThomas HuthBlock devices
12222c5060cdSThomas Huth-------------
12232c5060cdSThomas Huth
12242c5060cdSThomas HuthVXHS backend (removed in 5.1)
12252c5060cdSThomas Huth'''''''''''''''''''''''''''''
12262c5060cdSThomas Huth
12272c5060cdSThomas HuthThe VXHS code did not compile since v2.12.0. It was removed in 5.1.
122809ec8517SMarkus Armbruster
122909ec8517SMarkus Armbruster``sheepdog`` driver (removed in 6.0)
123009ec8517SMarkus Armbruster''''''''''''''''''''''''''''''''''''
123109ec8517SMarkus Armbruster
123209ec8517SMarkus ArmbrusterThe corresponding upstream server project is no longer maintained.
123309ec8517SMarkus ArmbrusterUsers are recommended to switch to an alternative distributed block
123409ec8517SMarkus Armbrusterdevice driver such as RBD.
1235a6bfdaedSDr. David Alan Gilbert
1236a6bfdaedSDr. David Alan GilbertTools
1237a6bfdaedSDr. David Alan Gilbert-----
1238a6bfdaedSDr. David Alan Gilbert
1239a6bfdaedSDr. David Alan Gilbertvirtiofsd (removed in 8.0)
1240a6bfdaedSDr. David Alan Gilbert''''''''''''''''''''''''''
1241a6bfdaedSDr. David Alan Gilbert
1242a6bfdaedSDr. David Alan GilbertThere is a newer Rust implementation of ``virtiofsd`` at
1243a6bfdaedSDr. David Alan Gilbert``https://gitlab.com/virtio-fs/virtiofsd``; this has been
1244a6bfdaedSDr. David Alan Gilbertstable for some time and is now widely used.
1245a6bfdaedSDr. David Alan GilbertThe command line and feature set is very close to the removed
1246a6bfdaedSDr. David Alan GilbertC implementation.
1247a6bfdaedSDr. David Alan Gilbert
1248a7a2d636SPhilippe Mathieu-DaudéQEMU guest agent
1249a7a2d636SPhilippe Mathieu-Daudé----------------
1250a7a2d636SPhilippe Mathieu-Daudé
1251a7a2d636SPhilippe Mathieu-Daudé``--blacklist`` command line option (removed in 9.1)
1252a7a2d636SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''''''''''''''''
1253a7a2d636SPhilippe Mathieu-Daudé
1254a7a2d636SPhilippe Mathieu-Daudé``--blacklist`` has been replaced by ``--block-rpcs`` (which is a better
1255a7a2d636SPhilippe Mathieu-Daudéwording for what this option does). The short form ``-b`` still stays
1256a7a2d636SPhilippe Mathieu-Daudéthe same and thus is the preferred way for scripts that should run with
1257a7a2d636SPhilippe Mathieu-Daudéboth, older and future versions of QEMU.
1258a7a2d636SPhilippe Mathieu-Daudé
1259a7a2d636SPhilippe Mathieu-Daudé``blacklist`` config file option (removed in 9.1)
1260a7a2d636SPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''''''''''''''
1261a7a2d636SPhilippe Mathieu-Daudé
1262a7a2d636SPhilippe Mathieu-DaudéThe ``blacklist`` config file option has been renamed to ``block-rpcs``
1263a7a2d636SPhilippe Mathieu-Daudé(to be in sync with the renaming of the corresponding command line
1264a7a2d636SPhilippe Mathieu-Daudéoption).
1265a7a2d636SPhilippe Mathieu-Daudé
12666c301485SPhilippe Mathieu-Daudé.. _Intel discontinuance notification: https://www.intel.com/content/www/us/en/content-details/781327/intel-is-discontinuing-ip-ordering-codes-listed-in-pdn2312-for-nios-ii-ip.html
1267