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 3580310641cSPaolo Bonzini``loaded`` property of ``secret`` and ``secret_keyring`` objects (removed in 7.1) 3590310641cSPaolo Bonzini''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 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 3640310641cSPaolo Bonziniuseless and should simply be 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 4065433af76SPaolo Bonzini``-watchdog`` (since 7.2) 4075433af76SPaolo Bonzini''''''''''''''''''''''''' 4085433af76SPaolo Bonzini 4095433af76SPaolo BonziniUse ``-device`` instead. 4105433af76SPaolo Bonzini 4118b902e3dSPaolo BonziniHexadecimal sizes with scaling multipliers (since 8.0) 4128b902e3dSPaolo Bonzini'''''''''''''''''''''''''''''''''''''''''''''''''''''' 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 480*1e7886e9SThomas Huth``-chroot`` (removed in 9.0) 481*1e7886e9SThomas Huth'''''''''''''''''''''''''''' 482*1e7886e9SThomas Huth 483*1e7886e9SThomas HuthUse ``-run-with chroot=dir`` instead. 484*1e7886e9SThomas Huth 48548c1c25aSThomas Huth 4862c5060cdSThomas HuthQEMU Machine Protocol (QMP) commands 4872c5060cdSThomas Huth------------------------------------ 4882c5060cdSThomas Huth 489e2cc363bSYanan Wang``block-dirty-bitmap-add`` "autoload" parameter (removed in 4.2) 490e2cc363bSYanan Wang'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 4912c5060cdSThomas Huth 4922c5060cdSThomas HuthThe "autoload" parameter has been ignored since 2.12.0. All bitmaps 4932c5060cdSThomas Huthare automatically loaded from qcow2 images. 4942c5060cdSThomas Huth 4952c5060cdSThomas Huth``cpu-add`` (removed in 5.2) 4962c5060cdSThomas Huth'''''''''''''''''''''''''''' 4972c5060cdSThomas Huth 4982c5060cdSThomas HuthUse ``device_add`` for hotplugging vCPUs instead of ``cpu-add``. See 4992c5060cdSThomas Huthdocumentation of ``query-hotpluggable-cpus`` for additional details. 5002c5060cdSThomas Huth 5010afec757SPaolo Bonzini``change`` (removed in 6.0) 5020afec757SPaolo Bonzini''''''''''''''''''''''''''' 5030afec757SPaolo Bonzini 504abea1946SVladimir Sementsov-OgievskiyUse ``blockdev-change-medium`` or ``change-vnc-password`` or 505abea1946SVladimir Sementsov-Ogievskiy``display-update`` instead. 5060afec757SPaolo Bonzini 5078becb360SDaniel P. Berrangé``query-events`` (removed in 6.0) 5088becb360SDaniel P. Berrangé''''''''''''''''''''''''''''''''' 5098becb360SDaniel P. Berrangé 5108becb360SDaniel P. BerrangéThe ``query-events`` command has been superseded by the more powerful 5118becb360SDaniel P. Berrangéand accurate ``query-qmp-schema`` command. 5128becb360SDaniel P. Berrangé 513cbde7be9SDaniel P. Berrangé``migrate_set_cache_size`` and ``query-migrate-cache-size`` (removed in 6.0) 514cbde7be9SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 515cbde7be9SDaniel P. Berrangé 516cbde7be9SDaniel P. BerrangéUse ``migrate_set_parameter`` and ``info migrate_parameters`` instead. 517cbde7be9SDaniel P. Berrangé 518cbde7be9SDaniel P. Berrangé``migrate_set_downtime`` and ``migrate_set_speed`` (removed in 6.0) 519cbde7be9SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 520cbde7be9SDaniel P. Berrangé 521cbde7be9SDaniel P. BerrangéUse ``migrate_set_parameter`` instead. 522cbde7be9SDaniel P. Berrangé 5238af54b91SDaniel P. Berrangé``query-cpus`` (removed in 6.0) 5248af54b91SDaniel P. Berrangé''''''''''''''''''''''''''''''' 5258af54b91SDaniel P. Berrangé 5268af54b91SDaniel P. BerrangéThe ``query-cpus`` command is replaced by the ``query-cpus-fast`` command. 5278af54b91SDaniel P. Berrangé 528445a5b40SDaniel P. Berrangé``query-cpus-fast`` ``arch`` output member (removed in 6.0) 529445a5b40SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 530445a5b40SDaniel P. Berrangé 531445a5b40SDaniel P. BerrangéThe ``arch`` output member of the ``query-cpus-fast`` command is 532445a5b40SDaniel P. Berrangéreplaced by the ``target`` output member. 533445a5b40SDaniel P. Berrangé 53424e13a4dSDaniel P. Berrangéchardev client socket with ``wait`` option (removed in 6.0) 53524e13a4dSDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 53624e13a4dSDaniel P. Berrangé 53724e13a4dSDaniel P. BerrangéCharacter devices creating sockets in client mode should not specify 53824e13a4dSDaniel P. Berrangéthe 'wait' field, which is only applicable to sockets in server mode 53924e13a4dSDaniel P. Berrangé 540ad1324e0SDaniel P. Berrangé``query-named-block-nodes`` result ``encryption_key_missing`` (removed in 6.0) 541ad1324e0SDaniel P. Berrangé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 542ad1324e0SDaniel P. Berrangé 543ad1324e0SDaniel P. BerrangéRemoved with no replacement. 544ad1324e0SDaniel P. Berrangé 545ad1324e0SDaniel P. Berrangé``query-block`` result ``inserted.encryption_key_missing`` (removed in 6.0) 546ad1324e0SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 547ad1324e0SDaniel P. Berrangé 548ad1324e0SDaniel P. BerrangéRemoved with no replacement. 549ad1324e0SDaniel P. Berrangé 55081cbfd50SDaniel P. Berrangé``query-named-block-nodes`` and ``query-block`` result dirty-bitmaps[i].status (removed in 6.0) 55181cbfd50SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 55281cbfd50SDaniel P. Berrangé 55381cbfd50SDaniel P. BerrangéThe ``status`` field of the ``BlockDirtyInfo`` structure, returned by 55481cbfd50SDaniel P. Berrangéthese commands is removed. Two new boolean fields, ``recording`` and 55581cbfd50SDaniel P. Berrangé``busy`` effectively replace it. 55681cbfd50SDaniel P. Berrangé 557e67d8e29SDaniel P. Berrangé``query-block`` result field ``dirty-bitmaps`` (removed in 6.0) 558e67d8e29SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 559e67d8e29SDaniel P. Berrangé 560e67d8e29SDaniel P. BerrangéThe ``dirty-bitmaps`` field of the ``BlockInfo`` structure, returned by 561e67d8e29SDaniel P. Berrangéthe query-block command is itself now removed. The ``dirty-bitmaps`` 562e67d8e29SDaniel P. Berrangéfield of the ``BlockDeviceInfo`` struct should be used instead, which is the 563e67d8e29SDaniel P. Berrangétype of the ``inserted`` field in query-block replies, as well as the 564e67d8e29SDaniel P. Berrangétype of array items in query-named-block-nodes. 565e67d8e29SDaniel P. Berrangé 56650243407SKevin Wolf``object-add`` option ``props`` (removed in 6.0) 56750243407SKevin Wolf'''''''''''''''''''''''''''''''''''''''''''''''' 56850243407SKevin Wolf 56950243407SKevin WolfSpecify the properties for the object as top-level arguments instead. 57050243407SKevin Wolf 571fb418b51SPaolo Bonzini``query-sgx`` return value member ``section-size`` (removed in 8.0) 572fb418b51SPaolo Bonzini''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 573fb418b51SPaolo Bonzini 574fb418b51SPaolo BonziniMember ``section-size`` in the return value of ``query-sgx`` 575fb418b51SPaolo Bonziniwas superseded by ``sections``. 576fb418b51SPaolo Bonzini 577fb418b51SPaolo Bonzini 578fb418b51SPaolo Bonzini``query-sgx-capabilities`` return value member ``section-size`` (removed in 8.0) 579fb418b51SPaolo Bonzini'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 580fb418b51SPaolo Bonzini 581fb418b51SPaolo BonziniMember ``section-size`` in the return value of ``query-sgx-capabilities`` 582fb418b51SPaolo Bonziniwas superseded by ``sections``. 583fb418b51SPaolo Bonzini 5842c5060cdSThomas HuthHuman Monitor Protocol (HMP) commands 5852c5060cdSThomas Huth------------------------------------- 5862c5060cdSThomas Huth 5875d82c101SThomas Huth``usb_add`` and ``usb_remove`` (removed in 2.12) 5885d82c101SThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''' 5895d82c101SThomas Huth 5905d82c101SThomas HuthReplaced by ``device_add`` and ``device_del`` (use ``device_add help`` for a 5915d82c101SThomas Huthlist of available devices). 5925d82c101SThomas Huth 5935d82c101SThomas Huth``host_net_add`` and ``host_net_remove`` (removed in 2.12) 5945d82c101SThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 5955d82c101SThomas Huth 5965d82c101SThomas HuthReplaced by ``netdev_add`` and ``netdev_del``. 5975d82c101SThomas Huth 5982c5060cdSThomas HuthThe ``hub_id`` parameter of ``hostfwd_add`` / ``hostfwd_remove`` (removed in 5.0) 5992c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 6002c5060cdSThomas Huth 6012c5060cdSThomas HuthThe ``[hub_id name]`` parameter tuple of the 'hostfwd_add' and 6022c5060cdSThomas Huth'hostfwd_remove' HMP commands has been replaced by ``netdev_id``. 6032c5060cdSThomas Huth 6042c5060cdSThomas Huth``cpu-add`` (removed in 5.2) 6052c5060cdSThomas Huth'''''''''''''''''''''''''''' 6062c5060cdSThomas Huth 6072c5060cdSThomas HuthUse ``device_add`` for hotplugging vCPUs instead of ``cpu-add``. See 6082c5060cdSThomas Huthdocumentation of ``query-hotpluggable-cpus`` for additional details. 6092c5060cdSThomas Huth 610cfb5387aSPaolo Bonzini``change vnc TARGET`` (removed in 6.0) 611cfb5387aSPaolo Bonzini'''''''''''''''''''''''''''''''''''''' 612cfb5387aSPaolo Bonzini 613cfb5387aSPaolo BonziniNo replacement. The ``change vnc password`` and ``change DEVICE MEDIUM`` 614cfb5387aSPaolo Bonzinicommands are not affected. 615cfb5387aSPaolo Bonzini 6165994dcb8SDaniel P. Berrangé``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, ``acl_remove`` (removed in 6.0) 6175994dcb8SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 6185994dcb8SDaniel P. Berrangé 6195994dcb8SDaniel P. BerrangéThe ``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, and 6205994dcb8SDaniel P. Berrangé``acl_remove`` commands were removed with no replacement. Authorization 6215994dcb8SDaniel P. Berrangéfor VNC should be performed using the pluggable QAuthZ objects. 6225994dcb8SDaniel P. Berrangé 623cbde7be9SDaniel P. Berrangé``migrate-set-cache-size`` and ``info migrate-cache-size`` (removed in 6.0) 624cbde7be9SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 625cbde7be9SDaniel P. Berrangé 626cbde7be9SDaniel P. BerrangéUse ``migrate-set-parameters`` and ``info migrate-parameters`` instead. 627cbde7be9SDaniel P. Berrangé 628cbde7be9SDaniel P. Berrangé``migrate_set_downtime`` and ``migrate_set_speed`` (removed in 6.0) 629cbde7be9SDaniel P. Berrangé''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 630cbde7be9SDaniel P. Berrangé 631cbde7be9SDaniel P. BerrangéUse ``migrate-set-parameters`` instead. 632cbde7be9SDaniel P. Berrangé 633ca24b0b9SBruno Larsen (billionai)``info cpustats`` (removed in 6.1) 634ca24b0b9SBruno Larsen (billionai)'''''''''''''''''''''''''''''''''' 635ca24b0b9SBruno Larsen (billionai) 636ca24b0b9SBruno Larsen (billionai)This command didn't produce any output already. Removed with no replacement. 637ca24b0b9SBruno Larsen (billionai) 6382c5060cdSThomas HuthGuest Emulator ISAs 6392c5060cdSThomas Huth------------------- 6402c5060cdSThomas Huth 6412c5060cdSThomas HuthRISC-V ISA privilege specification version 1.09.1 (removed in 5.1) 6422c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 6432c5060cdSThomas Huth 6442c5060cdSThomas HuthThe RISC-V ISA privilege specification version 1.09.1 has been removed. 6452c5060cdSThomas HuthQEMU supports both the newer version 1.10.0 and the ratified version 1.11.0, these 6462c5060cdSThomas Huthshould be used instead of the 1.09.1 version. 6472c5060cdSThomas Huth 6482c5060cdSThomas HuthSystem emulator CPUS 6492c5060cdSThomas Huth-------------------- 6502c5060cdSThomas Huth 6512c5060cdSThomas HuthKVM guest support on 32-bit Arm hosts (removed in 5.2) 6522c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''' 6532c5060cdSThomas Huth 6542c5060cdSThomas HuthThe Linux kernel has dropped support for allowing 32-bit Arm systems 6559d3f8b32SPaolo Bonzinito host KVM guests as of the 5.7 kernel, and was thus removed from QEMU 6569d3f8b32SPaolo Bonzinias well. Running 32-bit guests on a 64-bit Arm host remains supported. 6572c5060cdSThomas Huth 6582c5060cdSThomas HuthRISC-V ISA Specific CPUs (removed in 5.1) 6592c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''' 6602c5060cdSThomas Huth 6612c5060cdSThomas HuthThe RISC-V cpus with the ISA version in the CPU name have been removed. The 6622c5060cdSThomas Huthfour CPUs are: ``rv32gcsu-v1.9.1``, ``rv32gcsu-v1.10.0``, ``rv64gcsu-v1.9.1`` and 6632c5060cdSThomas Huth``rv64gcsu-v1.10.0``. Instead the version can be specified via the CPU ``priv_spec`` 6642c5060cdSThomas Huthoption when using the ``rv32`` or ``rv64`` CPUs. 6652c5060cdSThomas Huth 6662c5060cdSThomas HuthRISC-V no MMU CPUs (removed in 5.1) 6672c5060cdSThomas Huth''''''''''''''''''''''''''''''''''' 6682c5060cdSThomas Huth 6692c5060cdSThomas HuthThe RISC-V no MMU cpus have been removed. The two CPUs: ``rv32imacu-nommu`` and 6702c5060cdSThomas Huth``rv64imacu-nommu`` can no longer be used. Instead the MMU status can be specified 6712c5060cdSThomas Huthvia the CPU ``mmu`` option when using the ``rv32`` or ``rv64`` CPUs. 6722c5060cdSThomas Huth 673a058b895SGreg Kurz``compat`` property of server class POWER CPUs (removed in 6.0) 674a058b895SGreg Kurz''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 675a058b895SGreg Kurz 676a058b895SGreg KurzThe ``max-cpu-compat`` property of the ``pseries`` machine type should be used 677a058b895SGreg Kurzinstead. 678a058b895SGreg Kurz 679875bb7e3SThomas Huth``moxie`` CPU (removed in 6.1) 680875bb7e3SThomas Huth'''''''''''''''''''''''''''''' 681875bb7e3SThomas Huth 682875bb7e3SThomas HuthNobody was using this CPU emulation in QEMU, and there were no test images 683875bb7e3SThomas Huthavailable to make sure that the code is still working, so it has been removed 684875bb7e3SThomas Huthwithout replacement. 685875bb7e3SThomas Huth 686e2cc363bSYanan Wang``lm32`` CPUs (removed in 6.1) 687e2cc363bSYanan Wang'''''''''''''''''''''''''''''' 6889d49bcf6SMarkus Armbruster 6899d49bcf6SMarkus ArmbrusterThe only public user of this architecture was the milkymist project, 6909d49bcf6SMarkus Armbrusterwhich has been dead for years; there was never an upstream Linux 6919d49bcf6SMarkus Armbrusterport. Removed without replacement. 6929d49bcf6SMarkus Armbruster 693e2cc363bSYanan Wang``unicore32`` CPUs (removed in 6.1) 694e2cc363bSYanan Wang''''''''''''''''''''''''''''''''''' 69543692239SMarkus Armbruster 69643692239SMarkus ArmbrusterSupport for this CPU was removed from the upstream Linux kernel, and 69743692239SMarkus Armbrusterthere is no available upstream toolchain to build binaries for it. 69843692239SMarkus ArmbrusterRemoved without replacement. 69943692239SMarkus Armbruster 7006df39f5eSRobert Hoox86 ``Icelake-Client`` CPU (removed in 7.1) 7016df39f5eSRobert Hoo''''''''''''''''''''''''''''''''''''''''''' 7026df39f5eSRobert Hoo 7036df39f5eSRobert HooThere isn't ever Icelake Client CPU, it is some wrong and imaginary one. 7046df39f5eSRobert HooUse ``Icelake-Server`` instead. 7056df39f5eSRobert Hoo 706eaaaf8abSPaolo BonziniSystem accelerators 707eaaaf8abSPaolo Bonzini------------------- 708eaaaf8abSPaolo Bonzini 709b91b0fc1SPhilippe Mathieu-DaudéUserspace local APIC with KVM (x86, removed in 8.0) 710b91b0fc1SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''''''''''''''' 711eaaaf8abSPaolo Bonzini 712eaaaf8abSPaolo Bonzini``-M kernel-irqchip=off`` cannot be used on KVM if the CPU model includes 713eaaaf8abSPaolo Bonzinia local APIC. The ``split`` setting is supported, as is using ``-M 714eaaaf8abSPaolo Bonzinikernel-irqchip=off`` when the CPU does not have a local APIC. 715eaaaf8abSPaolo Bonzini 716b91b0fc1SPhilippe Mathieu-DaudéHAXM (``-accel hax``) (removed in 8.2) 717b91b0fc1SPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''' 718b91b0fc1SPhilippe Mathieu-Daudé 719b91b0fc1SPhilippe Mathieu-DaudéThe HAXM project has been retired (see https://github.com/intel/haxm#status). 720b91b0fc1SPhilippe Mathieu-DaudéUse "whpx" (on Windows) or "hvf" (on macOS) instead. 721a8448735SPaolo Bonzini 722a8448735SPaolo BonziniMIPS "Trap-and-Emulate" KVM support (removed in 8.0) 723a8448735SPaolo Bonzini'''''''''''''''''''''''''''''''''''''''''''''''''''' 724a8448735SPaolo Bonzini 725a8448735SPaolo BonziniThe MIPS "Trap-and-Emulate" KVM host and guest support was removed 726a8448735SPaolo Bonzinifrom Linux in 2021, and is not supported anymore by QEMU either. 727a8448735SPaolo Bonzini 7282c5060cdSThomas HuthSystem emulator machines 7292c5060cdSThomas Huth------------------------ 7302c5060cdSThomas Huth 73136b50899SThomas Huth``s390-virtio`` (removed in 2.6) 73236b50899SThomas Huth'''''''''''''''''''''''''''''''' 73336b50899SThomas Huth 73436b50899SThomas HuthUse the ``s390-ccw-virtio`` machine instead. 73536b50899SThomas Huth 73636b50899SThomas HuthThe m68k ``dummy`` machine (removed in 2.9) 73736b50899SThomas Huth''''''''''''''''''''''''''''''''''''''''''' 73836b50899SThomas Huth 73936b50899SThomas HuthUse the ``none`` machine with the ``loader`` device instead. 74036b50899SThomas Huth 74136b50899SThomas Huth``xlnx-ep108`` (removed in 3.0) 74236b50899SThomas Huth''''''''''''''''''''''''''''''' 74336b50899SThomas Huth 74436b50899SThomas HuthThe EP108 was an early access development board that is no longer used. 74536b50899SThomas HuthUse the ``xlnx-zcu102`` machine instead. 74636b50899SThomas Huth 7472c5060cdSThomas Huth``spike_v1.9.1`` and ``spike_v1.10`` (removed in 5.1) 7482c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''''''' 7492c5060cdSThomas Huth 7502c5060cdSThomas HuthThe version specific Spike machines have been removed in favour of the 7512c5060cdSThomas Huthgeneric ``spike`` machine. If you need to specify an older version of the RISC-V 7522c5060cdSThomas Huthspec you can use the ``-cpu rv64gcsu,priv_spec=v1.10.0`` command line argument. 7532c5060cdSThomas Huth 7542c5060cdSThomas Huthmips ``r4k`` platform (removed in 5.2) 7552c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''' 7562c5060cdSThomas Huth 7572c5060cdSThomas HuthThis machine type was very old and unmaintained. Users should use the ``malta`` 7582c5060cdSThomas Huthmachine type instead. 7592c5060cdSThomas Huth 760cd669e20SPhilippe Mathieu-Daudémips ``fulong2e`` machine alias (removed in 6.0) 761cd669e20SPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''''''''''''' 762cd669e20SPhilippe Mathieu-Daudé 763cd669e20SPhilippe Mathieu-DaudéThis machine has been renamed ``fuloong2e``. 764cd669e20SPhilippe Mathieu-Daudé 765ea985d23SPaolo Bonzini``pc-0.10`` up to ``pc-i440fx-1.7`` (removed in 4.0 up to 8.2) 766ea985d23SPaolo Bonzini'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 767f862ddbbSThomas Huth 768f862ddbbSThomas HuthThese machine types were very old and likely could not be used for live 769f862ddbbSThomas Huthmigration from old QEMU versions anymore. Use a newer machine type instead. 770f862ddbbSThomas Huth 77157469ed3SPhilippe Mathieu-DaudéRaspberry Pi ``raspi2`` and ``raspi3`` machines (removed in 6.2) 77257469ed3SPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 77357469ed3SPhilippe Mathieu-Daudé 77457469ed3SPhilippe Mathieu-DaudéThe Raspberry Pi machines come in various models (A, A+, B, B+). To be able 77557469ed3SPhilippe Mathieu-Daudéto distinguish which model QEMU is implementing, the ``raspi2`` and ``raspi3`` 77657469ed3SPhilippe Mathieu-Daudémachines have been renamed ``raspi2b`` and ``raspi3b``. 77757469ed3SPhilippe Mathieu-Daudé 77850f97a0eSJoel StanleyAspeed ``swift-bmc`` machine (removed in 7.0) 77950f97a0eSJoel Stanley''''''''''''''''''''''''''''''''''''''''''''' 78050f97a0eSJoel Stanley 78150f97a0eSJoel StanleyThis machine was removed because it was unused. Alternative AST2500 based 78250f97a0eSJoel StanleyOpenPOWER machines are ``witherspoon-bmc`` and ``romulus-bmc``. 7832cc1a901SThomas Huth 7841335caf3SCédric Le Goaterppc ``taihu`` machine (removed in 7.2) 7851335caf3SCédric Le Goater''''''''''''''''''''''''''''''''''''''''''''' 7861335caf3SCédric Le Goater 7871335caf3SCédric Le GoaterThis machine was removed because it was partially emulated and 405 7881335caf3SCédric Le Goatermachines are very similar. Use the ``ref405ep`` machine instead. 7891335caf3SCédric Le Goater 7902cc1a901SThomas Huthlinux-user mode CPUs 7912cc1a901SThomas Huth-------------------- 7922cc1a901SThomas Huth 7932cc1a901SThomas Huth``tilegx`` CPUs (removed in 6.0) 7942cc1a901SThomas Huth'''''''''''''''''''''''''''''''' 7952cc1a901SThomas Huth 7962cc1a901SThomas HuthThe ``tilegx`` guest CPU support has been removed without replacement. It was 7972cc1a901SThomas Huthonly implemented in linux-user mode, but support for this CPU was removed from 7982cc1a901SThomas Huththe upstream Linux kernel in 2018, and it has also been dropped from glibc, so 7992cc1a901SThomas Huththere is no new Linux development taking place with this architecture. For 8002cc1a901SThomas Huthrunning the old binaries, you can use older versions of QEMU. 8012cc1a901SThomas Huth 80274154d7eSThomas Huth``ppc64abi32`` CPUs (removed in 7.0) 80374154d7eSThomas Huth'''''''''''''''''''''''''''''''''''' 80474154d7eSThomas Huth 80574154d7eSThomas HuthThe ``ppc64abi32`` architecture has a number of issues which regularly 80674154d7eSThomas Huthtripped up the CI testing and was suspected to be quite broken. For that 80774154d7eSThomas Huthreason the maintainers strongly suspected no one actually used it. 80874154d7eSThomas Huth 80974154d7eSThomas Huth 810d9a6bad5SAlex BennéeTCG introspection features 811d9a6bad5SAlex Bennée-------------------------- 812d9a6bad5SAlex Bennée 813d9a6bad5SAlex BennéeTCG trace-events (since 6.2) 814d9a6bad5SAlex Bennée'''''''''''''''''''''''''''' 815d9a6bad5SAlex Bennée 816d9a6bad5SAlex BennéeThe ability to add new TCG trace points had bit rotted and as the 817d9a6bad5SAlex Bennéefeature can be replicated with TCG plugins it was removed. If 818d9a6bad5SAlex Bennéeany user is currently using this feature and needs help with 819d9a6bad5SAlex Bennéeconverting to using TCG plugins they should contact the qemu-devel 820d9a6bad5SAlex Bennéemailing list. 821d9a6bad5SAlex Bennée 822d9a6bad5SAlex Bennée 823b5010183SDaniel P. BerrangéSystem emulator devices 824b5010183SDaniel P. Berrangé----------------------- 825b5010183SDaniel P. Berrangé 8265643fcddSThomas Huth``spapr-pci-vfio-host-bridge`` (removed in 2.12) 8275643fcddSThomas Huth''''''''''''''''''''''''''''''''''''''''''''''''' 8285643fcddSThomas Huth 8295643fcddSThomas HuthThe ``spapr-pci-vfio-host-bridge`` device type has been replaced by the 8305643fcddSThomas Huth``spapr-pci-host-bridge`` device type. 8315643fcddSThomas Huth 8325643fcddSThomas Huth``ivshmem`` (removed in 4.0) 8335643fcddSThomas Huth'''''''''''''''''''''''''''' 8345643fcddSThomas Huth 8355643fcddSThomas HuthReplaced by either the ``ivshmem-plain`` or ``ivshmem-doorbell``. 8365643fcddSThomas Huth 837b5010183SDaniel P. Berrangé``ide-drive`` (removed in 6.0) 838b5010183SDaniel P. Berrangé'''''''''''''''''''''''''''''' 839b5010183SDaniel P. Berrangé 840b5010183SDaniel P. BerrangéThe 'ide-drive' device has been removed. Users should use 'ide-hd' or 841b5010183SDaniel P. Berrangé'ide-cd' as appropriate to get an IDE hard disk or CD-ROM as needed. 8422cc1a901SThomas Huth 843879be3afSDaniel P. Berrangé``scsi-disk`` (removed in 6.0) 844879be3afSDaniel P. Berrangé'''''''''''''''''''''''''''''' 845879be3afSDaniel P. Berrangé 846879be3afSDaniel P. BerrangéThe 'scsi-disk' device has been removed. Users should use 'scsi-hd' or 847879be3afSDaniel P. Berrangé'scsi-cd' as appropriate to get a SCSI hard disk or CD-ROM as needed. 848879be3afSDaniel P. Berrangé 849b482fb43SThomas Huth``sga`` (removed in 8.0) 850b482fb43SThomas Huth'''''''''''''''''''''''' 851b482fb43SThomas Huth 852b482fb43SThomas HuthThe ``sga`` device loaded an option ROM for x86 targets which enabled 853b482fb43SThomas HuthSeaBIOS to send messages to the serial console. SeaBIOS 1.11.0 onwards 854b482fb43SThomas Huthcontains native support for this feature and thus use of the option 855b482fb43SThomas HuthROM approach was obsolete. The native SeaBIOS support can be activated 856b482fb43SThomas Huthby using ``-machine graphics=off``. 857b482fb43SThomas Huth 858b482fb43SThomas Huth 8592c5060cdSThomas HuthRelated binaries 8602c5060cdSThomas Huth---------------- 8612c5060cdSThomas Huth 8622c5060cdSThomas Huth``qemu-nbd --partition`` (removed in 5.0) 8632c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''' 8642c5060cdSThomas Huth 8652c5060cdSThomas HuthThe ``qemu-nbd --partition $digit`` code (also spelled ``-P``) 8662c5060cdSThomas Huthcould only handle MBR partitions, and never correctly handled logical 8672c5060cdSThomas Huthpartitions beyond partition 5. Exporting a partition can still be 8682c5060cdSThomas Huthdone by utilizing the ``--image-opts`` option with a raw blockdev 8692c5060cdSThomas Huthusing the ``offset`` and ``size`` parameters layered on top of 8702c5060cdSThomas Huthany other existing blockdev. For example, if partition 1 is 100MiB 8712c5060cdSThomas Huthlong starting at 1MiB, the old command:: 8722c5060cdSThomas Huth 8732c5060cdSThomas Huth qemu-nbd -t -P 1 -f qcow2 file.qcow2 8742c5060cdSThomas Huth 8752c5060cdSThomas Huthcan be rewritten as:: 8762c5060cdSThomas Huth 8772c5060cdSThomas Huth qemu-nbd -t --image-opts driver=raw,offset=1M,size=100M,file.driver=qcow2,file.file.driver=file,file.file.filename=file.qcow2 8782c5060cdSThomas Huth 8792c5060cdSThomas Huth``qemu-img convert -n -o`` (removed in 5.1) 8802c5060cdSThomas Huth''''''''''''''''''''''''''''''''''''''''''' 8812c5060cdSThomas Huth 8822c5060cdSThomas HuthAll options specified in ``-o`` are image creation options, so 8832c5060cdSThomas Huththey are now rejected when used with ``-n`` to skip image creation. 8842c5060cdSThomas Huth 8852c5060cdSThomas Huth 8862c5060cdSThomas Huth``qemu-img create -b bad file $size`` (removed in 5.1) 8872c5060cdSThomas Huth'''''''''''''''''''''''''''''''''''''''''''''''''''''' 8882c5060cdSThomas Huth 8892c5060cdSThomas HuthWhen creating an image with a backing file that could not be opened, 8902c5060cdSThomas Huth``qemu-img create`` used to issue a warning about the failure but 8912c5060cdSThomas Huthproceed with the image creation if an explicit size was provided. 8922c5060cdSThomas HuthHowever, as the ``-u`` option exists for this purpose, it is safer to 8932c5060cdSThomas Huthenforce that any failure to open the backing image (including if the 8942c5060cdSThomas Huthbacking file is missing or an incorrect format was specified) is an 8952c5060cdSThomas Hutherror when ``-u`` is not used. 8962c5060cdSThomas Huth 897c5ba6219SPhilippe Mathieu-Daudé``qemu-img amend`` to adjust backing file (removed in 6.1) 898c5ba6219SPhilippe Mathieu-Daudé'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 8995a385bf5SEric Blake 9005a385bf5SEric BlakeThe use of ``qemu-img amend`` to modify the name or format of a qcow2 9015a385bf5SEric Blakebacking image was never fully documented or tested, and interferes 9025a385bf5SEric Blakewith other amend operations that need access to the original backing 9035a385bf5SEric Blakeimage (such as deciding whether a v3 zero cluster may be left 9045a385bf5SEric Blakeunallocated when converting to a v2 image). Any changes to the 9055a385bf5SEric Blakebacking chain should be performed with ``qemu-img rebase -u`` either 9065a385bf5SEric Blakebefore or after the remaining changes being performed by amend, as 9075a385bf5SEric Blakeappropriate. 9085a385bf5SEric Blake 909c5ba6219SPhilippe Mathieu-Daudé``qemu-img`` backing file without format (removed in 6.1) 910c5ba6219SPhilippe Mathieu-Daudé''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 911497a30dbSEric Blake 912497a30dbSEric BlakeThe use of ``qemu-img create``, ``qemu-img rebase``, or ``qemu-img 913497a30dbSEric Blakeconvert`` to create or modify an image that depends on a backing file 914497a30dbSEric Blakenow requires that an explicit backing format be provided. This is 915497a30dbSEric Blakefor safety: if QEMU probes a different format than what you thought, 916497a30dbSEric Blakethe data presented to the guest will be corrupt; similarly, presenting 917497a30dbSEric Blakea raw image to a guest allows a potential security exploit if a future 918497a30dbSEric Blakeprobe sees a non-raw image based on guest writes. 919497a30dbSEric Blake 920497a30dbSEric BlakeTo avoid creating unsafe backing chains, you must pass ``-o 921497a30dbSEric Blakebacking_fmt=`` (or the shorthand ``-F`` during create) to specify the 922497a30dbSEric Blakeintended backing format. You may use ``qemu-img rebase -u`` to 923497a30dbSEric Blakeretroactively add a backing format to an existing image. However, be 924497a30dbSEric Blakeaware that there are already potential security risks to blindly using 925497a30dbSEric Blake``qemu-img info`` to probe the format of an untrusted backing image, 926497a30dbSEric Blakewhen deciding what format to add into an existing image. 927497a30dbSEric Blake 9282c5060cdSThomas HuthBlock devices 9292c5060cdSThomas Huth------------- 9302c5060cdSThomas Huth 9312c5060cdSThomas HuthVXHS backend (removed in 5.1) 9322c5060cdSThomas Huth''''''''''''''''''''''''''''' 9332c5060cdSThomas Huth 9342c5060cdSThomas HuthThe VXHS code did not compile since v2.12.0. It was removed in 5.1. 93509ec8517SMarkus Armbruster 93609ec8517SMarkus Armbruster``sheepdog`` driver (removed in 6.0) 93709ec8517SMarkus Armbruster'''''''''''''''''''''''''''''''''''' 93809ec8517SMarkus Armbruster 93909ec8517SMarkus ArmbrusterThe corresponding upstream server project is no longer maintained. 94009ec8517SMarkus ArmbrusterUsers are recommended to switch to an alternative distributed block 94109ec8517SMarkus Armbrusterdevice driver such as RBD. 942a6bfdaedSDr. David Alan Gilbert 943a6bfdaedSDr. David Alan GilbertTools 944a6bfdaedSDr. David Alan Gilbert----- 945a6bfdaedSDr. David Alan Gilbert 946a6bfdaedSDr. David Alan Gilbertvirtiofsd (removed in 8.0) 947a6bfdaedSDr. David Alan Gilbert'''''''''''''''''''''''''' 948a6bfdaedSDr. David Alan Gilbert 949a6bfdaedSDr. David Alan GilbertThere is a newer Rust implementation of ``virtiofsd`` at 950a6bfdaedSDr. David Alan Gilbert``https://gitlab.com/virtio-fs/virtiofsd``; this has been 951a6bfdaedSDr. David Alan Gilbertstable for some time and is now widely used. 952a6bfdaedSDr. David Alan GilbertThe command line and feature set is very close to the removed 953a6bfdaedSDr. David Alan GilbertC implementation. 954a6bfdaedSDr. David Alan Gilbert 955