xref: /qemu/docs/about/removed-features.rst (revision 6df39f5e583ca0f67bd934d1327f9ead2e3bd49c)
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
3582c5060cdSThomas HuthQEMU Machine Protocol (QMP) commands
3592c5060cdSThomas Huth------------------------------------
3602c5060cdSThomas Huth
361e2cc363bSYanan Wang``block-dirty-bitmap-add`` "autoload" parameter (removed in 4.2)
362e2cc363bSYanan Wang''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
3632c5060cdSThomas Huth
3642c5060cdSThomas HuthThe "autoload" parameter has been ignored since 2.12.0. All bitmaps
3652c5060cdSThomas Huthare automatically loaded from qcow2 images.
3662c5060cdSThomas Huth
3672c5060cdSThomas Huth``cpu-add`` (removed in 5.2)
3682c5060cdSThomas Huth''''''''''''''''''''''''''''
3692c5060cdSThomas Huth
3702c5060cdSThomas HuthUse ``device_add`` for hotplugging vCPUs instead of ``cpu-add``.  See
3712c5060cdSThomas Huthdocumentation of ``query-hotpluggable-cpus`` for additional details.
3722c5060cdSThomas Huth
3730afec757SPaolo Bonzini``change`` (removed in 6.0)
3740afec757SPaolo Bonzini'''''''''''''''''''''''''''
3750afec757SPaolo Bonzini
376abea1946SVladimir Sementsov-OgievskiyUse ``blockdev-change-medium`` or ``change-vnc-password`` or
377abea1946SVladimir Sementsov-Ogievskiy``display-update`` instead.
3780afec757SPaolo Bonzini
3798becb360SDaniel P. Berrangé``query-events`` (removed in 6.0)
3808becb360SDaniel P. Berrangé'''''''''''''''''''''''''''''''''
3818becb360SDaniel P. Berrangé
3828becb360SDaniel P. BerrangéThe ``query-events`` command has been superseded by the more powerful
3838becb360SDaniel P. Berrangéand accurate ``query-qmp-schema`` command.
3848becb360SDaniel P. Berrangé
385cbde7be9SDaniel P. Berrangé``migrate_set_cache_size`` and ``query-migrate-cache-size`` (removed in 6.0)
386cbde7be9SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
387cbde7be9SDaniel P. Berrangé
388cbde7be9SDaniel P. BerrangéUse ``migrate_set_parameter`` and ``info migrate_parameters`` instead.
389cbde7be9SDaniel P. Berrangé
390cbde7be9SDaniel P. Berrangé``migrate_set_downtime`` and ``migrate_set_speed`` (removed in 6.0)
391cbde7be9SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
392cbde7be9SDaniel P. Berrangé
393cbde7be9SDaniel P. BerrangéUse ``migrate_set_parameter`` instead.
394cbde7be9SDaniel P. Berrangé
3958af54b91SDaniel P. Berrangé``query-cpus`` (removed in 6.0)
3968af54b91SDaniel P. Berrangé'''''''''''''''''''''''''''''''
3978af54b91SDaniel P. Berrangé
3988af54b91SDaniel P. BerrangéThe ``query-cpus`` command is replaced by the ``query-cpus-fast`` command.
3998af54b91SDaniel P. Berrangé
400445a5b40SDaniel P. Berrangé``query-cpus-fast`` ``arch`` output member (removed in 6.0)
401445a5b40SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
402445a5b40SDaniel P. Berrangé
403445a5b40SDaniel P. BerrangéThe ``arch`` output member of the ``query-cpus-fast`` command is
404445a5b40SDaniel P. Berrangéreplaced by the ``target`` output member.
405445a5b40SDaniel P. Berrangé
40624e13a4dSDaniel P. Berrangéchardev client socket with ``wait`` option (removed in 6.0)
40724e13a4dSDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
40824e13a4dSDaniel P. Berrangé
40924e13a4dSDaniel P. BerrangéCharacter devices creating sockets in client mode should not specify
41024e13a4dSDaniel P. Berrangéthe 'wait' field, which is only applicable to sockets in server mode
41124e13a4dSDaniel P. Berrangé
412ad1324e0SDaniel P. Berrangé``query-named-block-nodes`` result ``encryption_key_missing`` (removed in 6.0)
413ad1324e0SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
414ad1324e0SDaniel P. Berrangé
415ad1324e0SDaniel P. BerrangéRemoved with no replacement.
416ad1324e0SDaniel P. Berrangé
417ad1324e0SDaniel P. Berrangé``query-block`` result ``inserted.encryption_key_missing`` (removed in 6.0)
418ad1324e0SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
419ad1324e0SDaniel P. Berrangé
420ad1324e0SDaniel P. BerrangéRemoved with no replacement.
421ad1324e0SDaniel P. Berrangé
42281cbfd50SDaniel P. Berrangé``query-named-block-nodes`` and ``query-block`` result dirty-bitmaps[i].status (removed in 6.0)
42381cbfd50SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
42481cbfd50SDaniel P. Berrangé
42581cbfd50SDaniel P. BerrangéThe ``status`` field of the ``BlockDirtyInfo`` structure, returned by
42681cbfd50SDaniel P. Berrangéthese commands is removed. Two new boolean fields, ``recording`` and
42781cbfd50SDaniel P. Berrangé``busy`` effectively replace it.
42881cbfd50SDaniel P. Berrangé
429e67d8e29SDaniel P. Berrangé``query-block`` result field ``dirty-bitmaps`` (removed in 6.0)
430e67d8e29SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
431e67d8e29SDaniel P. Berrangé
432e67d8e29SDaniel P. BerrangéThe ``dirty-bitmaps`` field of the ``BlockInfo`` structure, returned by
433e67d8e29SDaniel P. Berrangéthe query-block command is itself now removed. The ``dirty-bitmaps``
434e67d8e29SDaniel P. Berrangéfield of the ``BlockDeviceInfo`` struct should be used instead, which is the
435e67d8e29SDaniel P. Berrangétype of the ``inserted`` field in query-block replies, as well as the
436e67d8e29SDaniel P. Berrangétype of array items in query-named-block-nodes.
437e67d8e29SDaniel P. Berrangé
43850243407SKevin Wolf``object-add`` option ``props`` (removed in 6.0)
43950243407SKevin Wolf''''''''''''''''''''''''''''''''''''''''''''''''
44050243407SKevin Wolf
44150243407SKevin WolfSpecify the properties for the object as top-level arguments instead.
44250243407SKevin Wolf
4432c5060cdSThomas HuthHuman Monitor Protocol (HMP) commands
4442c5060cdSThomas Huth-------------------------------------
4452c5060cdSThomas Huth
4465d82c101SThomas Huth``usb_add`` and ``usb_remove`` (removed in 2.12)
4475d82c101SThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''
4485d82c101SThomas Huth
4495d82c101SThomas HuthReplaced by ``device_add`` and ``device_del`` (use ``device_add help`` for a
4505d82c101SThomas Huthlist of available devices).
4515d82c101SThomas Huth
4525d82c101SThomas Huth``host_net_add`` and ``host_net_remove`` (removed in 2.12)
4535d82c101SThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
4545d82c101SThomas Huth
4555d82c101SThomas HuthReplaced by ``netdev_add`` and ``netdev_del``.
4565d82c101SThomas Huth
4572c5060cdSThomas HuthThe ``hub_id`` parameter of ``hostfwd_add`` / ``hostfwd_remove`` (removed in 5.0)
4582c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
4592c5060cdSThomas Huth
4602c5060cdSThomas HuthThe ``[hub_id name]`` parameter tuple of the 'hostfwd_add' and
4612c5060cdSThomas Huth'hostfwd_remove' HMP commands has been replaced by ``netdev_id``.
4622c5060cdSThomas Huth
4632c5060cdSThomas Huth``cpu-add`` (removed in 5.2)
4642c5060cdSThomas Huth''''''''''''''''''''''''''''
4652c5060cdSThomas Huth
4662c5060cdSThomas HuthUse ``device_add`` for hotplugging vCPUs instead of ``cpu-add``.  See
4672c5060cdSThomas Huthdocumentation of ``query-hotpluggable-cpus`` for additional details.
4682c5060cdSThomas Huth
469cfb5387aSPaolo Bonzini``change vnc TARGET`` (removed in 6.0)
470cfb5387aSPaolo Bonzini''''''''''''''''''''''''''''''''''''''
471cfb5387aSPaolo Bonzini
472cfb5387aSPaolo BonziniNo replacement.  The ``change vnc password`` and ``change DEVICE MEDIUM``
473cfb5387aSPaolo Bonzinicommands are not affected.
474cfb5387aSPaolo Bonzini
4755994dcb8SDaniel P. Berrangé``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, ``acl_remove`` (removed in 6.0)
4765994dcb8SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
4775994dcb8SDaniel P. Berrangé
4785994dcb8SDaniel P. BerrangéThe ``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, and
4795994dcb8SDaniel P. Berrangé``acl_remove`` commands were removed with no replacement. Authorization
4805994dcb8SDaniel P. Berrangéfor VNC should be performed using the pluggable QAuthZ objects.
4815994dcb8SDaniel P. Berrangé
482cbde7be9SDaniel P. Berrangé``migrate-set-cache-size`` and ``info migrate-cache-size`` (removed in 6.0)
483cbde7be9SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
484cbde7be9SDaniel P. Berrangé
485cbde7be9SDaniel P. BerrangéUse ``migrate-set-parameters`` and ``info migrate-parameters`` instead.
486cbde7be9SDaniel P. Berrangé
487cbde7be9SDaniel P. Berrangé``migrate_set_downtime`` and ``migrate_set_speed`` (removed in 6.0)
488cbde7be9SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
489cbde7be9SDaniel P. Berrangé
490cbde7be9SDaniel P. BerrangéUse ``migrate-set-parameters`` instead.
491cbde7be9SDaniel P. Berrangé
492ca24b0b9SBruno Larsen (billionai)``info cpustats`` (removed in 6.1)
493ca24b0b9SBruno Larsen (billionai)''''''''''''''''''''''''''''''''''
494ca24b0b9SBruno Larsen (billionai)
495ca24b0b9SBruno Larsen (billionai)This command didn't produce any output already. Removed with no replacement.
496ca24b0b9SBruno Larsen (billionai)
4972c5060cdSThomas HuthGuest Emulator ISAs
4982c5060cdSThomas Huth-------------------
4992c5060cdSThomas Huth
5002c5060cdSThomas HuthRISC-V ISA privilege specification version 1.09.1 (removed in 5.1)
5012c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
5022c5060cdSThomas Huth
5032c5060cdSThomas HuthThe RISC-V ISA privilege specification version 1.09.1 has been removed.
5042c5060cdSThomas HuthQEMU supports both the newer version 1.10.0 and the ratified version 1.11.0, these
5052c5060cdSThomas Huthshould be used instead of the 1.09.1 version.
5062c5060cdSThomas Huth
5072c5060cdSThomas HuthSystem emulator CPUS
5082c5060cdSThomas Huth--------------------
5092c5060cdSThomas Huth
5102c5060cdSThomas HuthKVM guest support on 32-bit Arm hosts (removed in 5.2)
5112c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''
5122c5060cdSThomas Huth
5132c5060cdSThomas HuthThe Linux kernel has dropped support for allowing 32-bit Arm systems
5142c5060cdSThomas Huthto host KVM guests as of the 5.7 kernel. Accordingly, QEMU is deprecating
5152c5060cdSThomas Huthits support for this configuration and will remove it in a future version.
5162c5060cdSThomas HuthRunning 32-bit guests on a 64-bit Arm host remains supported.
5172c5060cdSThomas Huth
5182c5060cdSThomas HuthRISC-V ISA Specific CPUs (removed in 5.1)
5192c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''
5202c5060cdSThomas Huth
5212c5060cdSThomas HuthThe RISC-V cpus with the ISA version in the CPU name have been removed. The
5222c5060cdSThomas Huthfour CPUs are: ``rv32gcsu-v1.9.1``, ``rv32gcsu-v1.10.0``, ``rv64gcsu-v1.9.1`` and
5232c5060cdSThomas Huth``rv64gcsu-v1.10.0``. Instead the version can be specified via the CPU ``priv_spec``
5242c5060cdSThomas Huthoption when using the ``rv32`` or ``rv64`` CPUs.
5252c5060cdSThomas Huth
5262c5060cdSThomas HuthRISC-V no MMU CPUs (removed in 5.1)
5272c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''
5282c5060cdSThomas Huth
5292c5060cdSThomas HuthThe RISC-V no MMU cpus have been removed. The two CPUs: ``rv32imacu-nommu`` and
5302c5060cdSThomas Huth``rv64imacu-nommu`` can no longer be used. Instead the MMU status can be specified
5312c5060cdSThomas Huthvia the CPU ``mmu`` option when using the ``rv32`` or ``rv64`` CPUs.
5322c5060cdSThomas Huth
533a058b895SGreg Kurz``compat`` property of server class POWER CPUs (removed in 6.0)
534a058b895SGreg Kurz'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
535a058b895SGreg Kurz
536a058b895SGreg KurzThe ``max-cpu-compat`` property of the ``pseries`` machine type should be used
537a058b895SGreg Kurzinstead.
538a058b895SGreg Kurz
539875bb7e3SThomas Huth``moxie`` CPU (removed in 6.1)
540875bb7e3SThomas Huth''''''''''''''''''''''''''''''
541875bb7e3SThomas Huth
542875bb7e3SThomas HuthNobody was using this CPU emulation in QEMU, and there were no test images
543875bb7e3SThomas Huthavailable to make sure that the code is still working, so it has been removed
544875bb7e3SThomas Huthwithout replacement.
545875bb7e3SThomas Huth
546e2cc363bSYanan Wang``lm32`` CPUs (removed in 6.1)
547e2cc363bSYanan Wang''''''''''''''''''''''''''''''
5489d49bcf6SMarkus Armbruster
5499d49bcf6SMarkus ArmbrusterThe only public user of this architecture was the milkymist project,
5509d49bcf6SMarkus Armbrusterwhich has been dead for years; there was never an upstream Linux
5519d49bcf6SMarkus Armbrusterport.  Removed without replacement.
5529d49bcf6SMarkus Armbruster
553e2cc363bSYanan Wang``unicore32`` CPUs (removed in 6.1)
554e2cc363bSYanan Wang'''''''''''''''''''''''''''''''''''
55543692239SMarkus Armbruster
55643692239SMarkus ArmbrusterSupport for this CPU was removed from the upstream Linux kernel, and
55743692239SMarkus Armbrusterthere is no available upstream toolchain to build binaries for it.
55843692239SMarkus ArmbrusterRemoved without replacement.
55943692239SMarkus Armbruster
560*6df39f5eSRobert Hoox86 ``Icelake-Client`` CPU (removed in 7.1)
561*6df39f5eSRobert Hoo'''''''''''''''''''''''''''''''''''''''''''
562*6df39f5eSRobert Hoo
563*6df39f5eSRobert HooThere isn't ever Icelake Client CPU, it is some wrong and imaginary one.
564*6df39f5eSRobert HooUse ``Icelake-Server`` instead.
565*6df39f5eSRobert Hoo
5662c5060cdSThomas HuthSystem emulator machines
5672c5060cdSThomas Huth------------------------
5682c5060cdSThomas Huth
56936b50899SThomas Huth``s390-virtio`` (removed in 2.6)
57036b50899SThomas Huth''''''''''''''''''''''''''''''''
57136b50899SThomas Huth
57236b50899SThomas HuthUse the ``s390-ccw-virtio`` machine instead.
57336b50899SThomas Huth
57436b50899SThomas HuthThe m68k ``dummy`` machine (removed in 2.9)
57536b50899SThomas Huth'''''''''''''''''''''''''''''''''''''''''''
57636b50899SThomas Huth
57736b50899SThomas HuthUse the ``none`` machine with the ``loader`` device instead.
57836b50899SThomas Huth
57936b50899SThomas Huth``xlnx-ep108`` (removed in 3.0)
58036b50899SThomas Huth'''''''''''''''''''''''''''''''
58136b50899SThomas Huth
58236b50899SThomas HuthThe EP108 was an early access development board that is no longer used.
58336b50899SThomas HuthUse the ``xlnx-zcu102`` machine instead.
58436b50899SThomas Huth
5852c5060cdSThomas Huth``spike_v1.9.1`` and ``spike_v1.10`` (removed in 5.1)
5862c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''
5872c5060cdSThomas Huth
5882c5060cdSThomas HuthThe version specific Spike machines have been removed in favour of the
5892c5060cdSThomas Huthgeneric ``spike`` machine. If you need to specify an older version of the RISC-V
5902c5060cdSThomas Huthspec you can use the ``-cpu rv64gcsu,priv_spec=v1.10.0`` command line argument.
5912c5060cdSThomas Huth
5922c5060cdSThomas Huthmips ``r4k`` platform (removed in 5.2)
5932c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''
5942c5060cdSThomas Huth
5952c5060cdSThomas HuthThis machine type was very old and unmaintained. Users should use the ``malta``
5962c5060cdSThomas Huthmachine type instead.
5972c5060cdSThomas Huth
598cd669e20SPhilippe Mathieu-Daudémips ``fulong2e`` machine alias (removed in 6.0)
599cd669e20SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''''''''''''
600cd669e20SPhilippe Mathieu-Daudé
601cd669e20SPhilippe Mathieu-DaudéThis machine has been renamed ``fuloong2e``.
602cd669e20SPhilippe Mathieu-Daudé
60336b50899SThomas Huth``pc-0.10`` up to ``pc-1.3`` (removed in 4.0 up to 6.0)
60436b50899SThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''
605f862ddbbSThomas Huth
606f862ddbbSThomas HuthThese machine types were very old and likely could not be used for live
607f862ddbbSThomas Huthmigration from old QEMU versions anymore. Use a newer machine type instead.
608f862ddbbSThomas Huth
60957469ed3SPhilippe Mathieu-DaudéRaspberry Pi ``raspi2`` and ``raspi3`` machines (removed in 6.2)
61057469ed3SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
61157469ed3SPhilippe Mathieu-Daudé
61257469ed3SPhilippe Mathieu-DaudéThe Raspberry Pi machines come in various models (A, A+, B, B+). To be able
61357469ed3SPhilippe Mathieu-Daudéto distinguish which model QEMU is implementing, the ``raspi2`` and ``raspi3``
61457469ed3SPhilippe Mathieu-Daudémachines have been renamed ``raspi2b`` and ``raspi3b``.
61557469ed3SPhilippe Mathieu-Daudé
61650f97a0eSJoel StanleyAspeed ``swift-bmc`` machine (removed in 7.0)
61750f97a0eSJoel Stanley'''''''''''''''''''''''''''''''''''''''''''''
61850f97a0eSJoel Stanley
61950f97a0eSJoel StanleyThis machine was removed because it was unused. Alternative AST2500 based
62050f97a0eSJoel StanleyOpenPOWER machines are ``witherspoon-bmc`` and ``romulus-bmc``.
6212cc1a901SThomas Huth
6222cc1a901SThomas Huthlinux-user mode CPUs
6232cc1a901SThomas Huth--------------------
6242cc1a901SThomas Huth
6252cc1a901SThomas Huth``tilegx`` CPUs (removed in 6.0)
6262cc1a901SThomas Huth''''''''''''''''''''''''''''''''
6272cc1a901SThomas Huth
6282cc1a901SThomas HuthThe ``tilegx`` guest CPU support has been removed without replacement. It was
6292cc1a901SThomas Huthonly implemented in linux-user mode, but support for this CPU was removed from
6302cc1a901SThomas Huththe upstream Linux kernel in 2018, and it has also been dropped from glibc, so
6312cc1a901SThomas Huththere is no new Linux development taking place with this architecture. For
6322cc1a901SThomas Huthrunning the old binaries, you can use older versions of QEMU.
6332cc1a901SThomas Huth
63474154d7eSThomas Huth``ppc64abi32`` CPUs (removed in 7.0)
63574154d7eSThomas Huth''''''''''''''''''''''''''''''''''''
63674154d7eSThomas Huth
63774154d7eSThomas HuthThe ``ppc64abi32`` architecture has a number of issues which regularly
63874154d7eSThomas Huthtripped up the CI testing and was suspected to be quite broken. For that
63974154d7eSThomas Huthreason the maintainers strongly suspected no one actually used it.
64074154d7eSThomas Huth
64174154d7eSThomas Huth
642d9a6bad5SAlex BennéeTCG introspection features
643d9a6bad5SAlex Bennée--------------------------
644d9a6bad5SAlex Bennée
645d9a6bad5SAlex BennéeTCG trace-events (since 6.2)
646d9a6bad5SAlex Bennée''''''''''''''''''''''''''''
647d9a6bad5SAlex Bennée
648d9a6bad5SAlex BennéeThe ability to add new TCG trace points had bit rotted and as the
649d9a6bad5SAlex Bennéefeature can be replicated with TCG plugins it was removed. If
650d9a6bad5SAlex Bennéeany user is currently using this feature and needs help with
651d9a6bad5SAlex Bennéeconverting to using TCG plugins they should contact the qemu-devel
652d9a6bad5SAlex Bennéemailing list.
653d9a6bad5SAlex Bennée
654d9a6bad5SAlex Bennée
655b5010183SDaniel P. BerrangéSystem emulator devices
656b5010183SDaniel P. Berrangé-----------------------
657b5010183SDaniel P. Berrangé
6585643fcddSThomas Huth``spapr-pci-vfio-host-bridge`` (removed in 2.12)
6595643fcddSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''
6605643fcddSThomas Huth
6615643fcddSThomas HuthThe ``spapr-pci-vfio-host-bridge`` device type has been replaced by the
6625643fcddSThomas Huth``spapr-pci-host-bridge`` device type.
6635643fcddSThomas Huth
6645643fcddSThomas Huth``ivshmem`` (removed in 4.0)
6655643fcddSThomas Huth''''''''''''''''''''''''''''
6665643fcddSThomas Huth
6675643fcddSThomas HuthReplaced by either the ``ivshmem-plain`` or ``ivshmem-doorbell``.
6685643fcddSThomas Huth
669b5010183SDaniel P. Berrangé``ide-drive`` (removed in 6.0)
670b5010183SDaniel P. Berrangé''''''''''''''''''''''''''''''
671b5010183SDaniel P. Berrangé
672b5010183SDaniel P. BerrangéThe 'ide-drive' device has been removed. Users should use 'ide-hd' or
673b5010183SDaniel P. Berrangé'ide-cd' as appropriate to get an IDE hard disk or CD-ROM as needed.
6742cc1a901SThomas Huth
675879be3afSDaniel P. Berrangé``scsi-disk`` (removed in 6.0)
676879be3afSDaniel P. Berrangé''''''''''''''''''''''''''''''
677879be3afSDaniel P. Berrangé
678879be3afSDaniel P. BerrangéThe 'scsi-disk' device has been removed. Users should use 'scsi-hd' or
679879be3afSDaniel P. Berrangé'scsi-cd' as appropriate to get a SCSI hard disk or CD-ROM as needed.
680879be3afSDaniel P. Berrangé
6812c5060cdSThomas HuthRelated binaries
6822c5060cdSThomas Huth----------------
6832c5060cdSThomas Huth
6842c5060cdSThomas Huth``qemu-nbd --partition`` (removed in 5.0)
6852c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''
6862c5060cdSThomas Huth
6872c5060cdSThomas HuthThe ``qemu-nbd --partition $digit`` code (also spelled ``-P``)
6882c5060cdSThomas Huthcould only handle MBR partitions, and never correctly handled logical
6892c5060cdSThomas Huthpartitions beyond partition 5.  Exporting a partition can still be
6902c5060cdSThomas Huthdone by utilizing the ``--image-opts`` option with a raw blockdev
6912c5060cdSThomas Huthusing the ``offset`` and ``size`` parameters layered on top of
6922c5060cdSThomas Huthany other existing blockdev. For example, if partition 1 is 100MiB
6932c5060cdSThomas Huthlong starting at 1MiB, the old command::
6942c5060cdSThomas Huth
6952c5060cdSThomas Huth  qemu-nbd -t -P 1 -f qcow2 file.qcow2
6962c5060cdSThomas Huth
6972c5060cdSThomas Huthcan be rewritten as::
6982c5060cdSThomas Huth
6992c5060cdSThomas Huth  qemu-nbd -t --image-opts driver=raw,offset=1M,size=100M,file.driver=qcow2,file.file.driver=file,file.file.filename=file.qcow2
7002c5060cdSThomas Huth
7012c5060cdSThomas Huth``qemu-img convert -n -o`` (removed in 5.1)
7022c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''
7032c5060cdSThomas Huth
7042c5060cdSThomas HuthAll options specified in ``-o`` are image creation options, so
7052c5060cdSThomas Huththey are now rejected when used with ``-n`` to skip image creation.
7062c5060cdSThomas Huth
7072c5060cdSThomas Huth
7082c5060cdSThomas Huth``qemu-img create -b bad file $size`` (removed in 5.1)
7092c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''
7102c5060cdSThomas Huth
7112c5060cdSThomas HuthWhen creating an image with a backing file that could not be opened,
7122c5060cdSThomas Huth``qemu-img create`` used to issue a warning about the failure but
7132c5060cdSThomas Huthproceed with the image creation if an explicit size was provided.
7142c5060cdSThomas HuthHowever, as the ``-u`` option exists for this purpose, it is safer to
7152c5060cdSThomas Huthenforce that any failure to open the backing image (including if the
7162c5060cdSThomas Huthbacking file is missing or an incorrect format was specified) is an
7172c5060cdSThomas Hutherror when ``-u`` is not used.
7182c5060cdSThomas Huth
719c5ba6219SPhilippe Mathieu-Daudé``qemu-img amend`` to adjust backing file (removed in 6.1)
720c5ba6219SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7215a385bf5SEric Blake
7225a385bf5SEric BlakeThe use of ``qemu-img amend`` to modify the name or format of a qcow2
7235a385bf5SEric Blakebacking image was never fully documented or tested, and interferes
7245a385bf5SEric Blakewith other amend operations that need access to the original backing
7255a385bf5SEric Blakeimage (such as deciding whether a v3 zero cluster may be left
7265a385bf5SEric Blakeunallocated when converting to a v2 image).  Any changes to the
7275a385bf5SEric Blakebacking chain should be performed with ``qemu-img rebase -u`` either
7285a385bf5SEric Blakebefore or after the remaining changes being performed by amend, as
7295a385bf5SEric Blakeappropriate.
7305a385bf5SEric Blake
731c5ba6219SPhilippe Mathieu-Daudé``qemu-img`` backing file without format (removed in 6.1)
732c5ba6219SPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
733497a30dbSEric Blake
734497a30dbSEric BlakeThe use of ``qemu-img create``, ``qemu-img rebase``, or ``qemu-img
735497a30dbSEric Blakeconvert`` to create or modify an image that depends on a backing file
736497a30dbSEric Blakenow requires that an explicit backing format be provided.  This is
737497a30dbSEric Blakefor safety: if QEMU probes a different format than what you thought,
738497a30dbSEric Blakethe data presented to the guest will be corrupt; similarly, presenting
739497a30dbSEric Blakea raw image to a guest allows a potential security exploit if a future
740497a30dbSEric Blakeprobe sees a non-raw image based on guest writes.
741497a30dbSEric Blake
742497a30dbSEric BlakeTo avoid creating unsafe backing chains, you must pass ``-o
743497a30dbSEric Blakebacking_fmt=`` (or the shorthand ``-F`` during create) to specify the
744497a30dbSEric Blakeintended backing format.  You may use ``qemu-img rebase -u`` to
745497a30dbSEric Blakeretroactively add a backing format to an existing image.  However, be
746497a30dbSEric Blakeaware that there are already potential security risks to blindly using
747497a30dbSEric Blake``qemu-img info`` to probe the format of an untrusted backing image,
748497a30dbSEric Blakewhen deciding what format to add into an existing image.
749497a30dbSEric Blake
7502c5060cdSThomas HuthBlock devices
7512c5060cdSThomas Huth-------------
7522c5060cdSThomas Huth
7532c5060cdSThomas HuthVXHS backend (removed in 5.1)
7542c5060cdSThomas Huth'''''''''''''''''''''''''''''
7552c5060cdSThomas Huth
7562c5060cdSThomas HuthThe VXHS code did not compile since v2.12.0. It was removed in 5.1.
75709ec8517SMarkus Armbruster
75809ec8517SMarkus Armbruster``sheepdog`` driver (removed in 6.0)
75909ec8517SMarkus Armbruster''''''''''''''''''''''''''''''''''''
76009ec8517SMarkus Armbruster
76109ec8517SMarkus ArmbrusterThe corresponding upstream server project is no longer maintained.
76209ec8517SMarkus ArmbrusterUsers are recommended to switch to an alternative distributed block
76309ec8517SMarkus Armbrusterdevice driver such as RBD.
764