]> git.proxmox.com Git - mirror_qemu.git/blame - docs/system/removed-features.rst
machine: remove 'query-cpus' QMP command
[mirror_qemu.git] / docs / system / removed-features.rst
CommitLineData
2c5060cd
TH
1
2Removed features
3================
4
5What follows is a record of recently removed, formerly deprecated
6features that serves as a record for users who have encountered
7trouble after a recent upgrade.
8
9System emulator command line arguments
10--------------------------------------
11
12``-net ...,name=``\ *name* (removed in 5.1)
13'''''''''''''''''''''''''''''''''''''''''''
14
15The ``name`` parameter of the ``-net`` option was a synonym
16for the ``id`` parameter, which should now be used instead.
17
18``-no-kvm`` (removed in 5.2)
19''''''''''''''''''''''''''''
20
21The ``-no-kvm`` argument was a synonym for setting ``-machine accel=tcg``.
22
c8c9dc42
TH
23``-realtime`` (removed in 6.0)
24''''''''''''''''''''''''''''''
25
26The ``-realtime mlock=on|off`` argument has been replaced by the
27``-overcommit mem-lock=on|off`` argument.
28
e2680403
TH
29``-show-cursor`` option (removed in 6.0)
30''''''''''''''''''''''''''''''''''''''''
90d6a086
TH
31
32Use ``-display sdl,show-cursor=on``, ``-display gtk,show-cursor=on``
33or ``-display default,show-cursor=on`` instead.
34
2c5060cd
TH
35``-tb-size`` option (removed in 6.0)
36''''''''''''''''''''''''''''''''''''
37
38QEMU 5.0 introduced an alternative syntax to specify the size of the translation
39block cache, ``-accel tcg,tb-size=``.
40
6db34277
TH
41``-usbdevice audio`` (removed in 6.0)
42'''''''''''''''''''''''''''''''''''''
43
44This option lacked the possibility to specify an audio backend device.
45Use ``-device usb-audio`` now instead (and specify a corresponding USB
46host controller or ``-usb`` if necessary).
47
5994dcb8
DB
48``-vnc acl`` (removed in 6.0)
49'''''''''''''''''''''''''''''
50
51The ``acl`` option to the ``-vnc`` argument has been replaced
52by the ``tls-authz`` and ``sasl-authz`` options.
6db34277 53
283d845c
DB
54``-mon ...,control=readline,pretty=on|off`` (removed in 6.0)
55''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
56
57The ``pretty=on|off`` switch has no effect for HMP monitors and
58its use is rejected.
59
2c5060cd
TH
60QEMU Machine Protocol (QMP) commands
61------------------------------------
62
63``block-dirty-bitmap-add`` "autoload" parameter (removed in 4.2.0)
64''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
65
66The "autoload" parameter has been ignored since 2.12.0. All bitmaps
67are automatically loaded from qcow2 images.
68
69``cpu-add`` (removed in 5.2)
70''''''''''''''''''''''''''''
71
72Use ``device_add`` for hotplugging vCPUs instead of ``cpu-add``. See
73documentation of ``query-hotpluggable-cpus`` for additional details.
74
0afec757
PB
75``change`` (removed in 6.0)
76'''''''''''''''''''''''''''
77
78Use ``blockdev-change-medium`` or ``change-vnc-password`` instead.
79
8becb360
DB
80``query-events`` (removed in 6.0)
81'''''''''''''''''''''''''''''''''
82
83The ``query-events`` command has been superseded by the more powerful
84and accurate ``query-qmp-schema`` command.
85
cbde7be9
DB
86``migrate_set_cache_size`` and ``query-migrate-cache-size`` (removed in 6.0)
87''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
88
89Use ``migrate_set_parameter`` and ``info migrate_parameters`` instead.
90
91``migrate_set_downtime`` and ``migrate_set_speed`` (removed in 6.0)
92'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
93
94Use ``migrate_set_parameter`` instead.
95
8af54b91
DB
96``query-cpus`` (removed in 6.0)
97'''''''''''''''''''''''''''''''
98
99The ``query-cpus`` command is replaced by the ``query-cpus-fast`` command.
100
2c5060cd
TH
101Human Monitor Protocol (HMP) commands
102-------------------------------------
103
104The ``hub_id`` parameter of ``hostfwd_add`` / ``hostfwd_remove`` (removed in 5.0)
105'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
106
107The ``[hub_id name]`` parameter tuple of the 'hostfwd_add' and
108'hostfwd_remove' HMP commands has been replaced by ``netdev_id``.
109
110``cpu-add`` (removed in 5.2)
111''''''''''''''''''''''''''''
112
113Use ``device_add`` for hotplugging vCPUs instead of ``cpu-add``. See
114documentation of ``query-hotpluggable-cpus`` for additional details.
115
cfb5387a
PB
116``change vnc TARGET`` (removed in 6.0)
117''''''''''''''''''''''''''''''''''''''
118
119No replacement. The ``change vnc password`` and ``change DEVICE MEDIUM``
120commands are not affected.
121
5994dcb8
DB
122``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, ``acl_remove`` (removed in 6.0)
123'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
124
125The ``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, and
126``acl_remove`` commands were removed with no replacement. Authorization
127for VNC should be performed using the pluggable QAuthZ objects.
128
cbde7be9
DB
129``migrate-set-cache-size`` and ``info migrate-cache-size`` (removed in 6.0)
130'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
131
132Use ``migrate-set-parameters`` and ``info migrate-parameters`` instead.
133
134``migrate_set_downtime`` and ``migrate_set_speed`` (removed in 6.0)
135'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
136
137Use ``migrate-set-parameters`` instead.
138
2c5060cd
TH
139Guest Emulator ISAs
140-------------------
141
142RISC-V ISA privilege specification version 1.09.1 (removed in 5.1)
143''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
144
145The RISC-V ISA privilege specification version 1.09.1 has been removed.
146QEMU supports both the newer version 1.10.0 and the ratified version 1.11.0, these
147should be used instead of the 1.09.1 version.
148
149System emulator CPUS
150--------------------
151
152KVM guest support on 32-bit Arm hosts (removed in 5.2)
153''''''''''''''''''''''''''''''''''''''''''''''''''''''
154
155The Linux kernel has dropped support for allowing 32-bit Arm systems
156to host KVM guests as of the 5.7 kernel. Accordingly, QEMU is deprecating
157its support for this configuration and will remove it in a future version.
158Running 32-bit guests on a 64-bit Arm host remains supported.
159
160RISC-V ISA Specific CPUs (removed in 5.1)
161'''''''''''''''''''''''''''''''''''''''''
162
163The RISC-V cpus with the ISA version in the CPU name have been removed. The
164four CPUs are: ``rv32gcsu-v1.9.1``, ``rv32gcsu-v1.10.0``, ``rv64gcsu-v1.9.1`` and
165``rv64gcsu-v1.10.0``. Instead the version can be specified via the CPU ``priv_spec``
166option when using the ``rv32`` or ``rv64`` CPUs.
167
168RISC-V no MMU CPUs (removed in 5.1)
169'''''''''''''''''''''''''''''''''''
170
171The RISC-V no MMU cpus have been removed. The two CPUs: ``rv32imacu-nommu`` and
172``rv64imacu-nommu`` can no longer be used. Instead the MMU status can be specified
173via the CPU ``mmu`` option when using the ``rv32`` or ``rv64`` CPUs.
174
175System emulator machines
176------------------------
177
178``spike_v1.9.1`` and ``spike_v1.10`` (removed in 5.1)
179'''''''''''''''''''''''''''''''''''''''''''''''''''''
180
181The version specific Spike machines have been removed in favour of the
182generic ``spike`` machine. If you need to specify an older version of the RISC-V
183spec you can use the ``-cpu rv64gcsu,priv_spec=v1.10.0`` command line argument.
184
185mips ``r4k`` platform (removed in 5.2)
186''''''''''''''''''''''''''''''''''''''
187
188This machine type was very old and unmaintained. Users should use the ``malta``
189machine type instead.
190
cd669e20
PMD
191mips ``fulong2e`` machine alias (removed in 6.0)
192''''''''''''''''''''''''''''''''''''''''''''''''
193
194This machine has been renamed ``fuloong2e``.
195
f862ddbb
TH
196``pc-1.0``, ``pc-1.1``, ``pc-1.2`` and ``pc-1.3`` (removed in 6.0)
197''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
198
199These machine types were very old and likely could not be used for live
200migration from old QEMU versions anymore. Use a newer machine type instead.
201
2cc1a901
TH
202
203linux-user mode CPUs
204--------------------
205
206``tilegx`` CPUs (removed in 6.0)
207''''''''''''''''''''''''''''''''
208
209The ``tilegx`` guest CPU support has been removed without replacement. It was
210only implemented in linux-user mode, but support for this CPU was removed from
211the upstream Linux kernel in 2018, and it has also been dropped from glibc, so
212there is no new Linux development taking place with this architecture. For
213running the old binaries, you can use older versions of QEMU.
214
215
2c5060cd
TH
216Related binaries
217----------------
218
219``qemu-nbd --partition`` (removed in 5.0)
220'''''''''''''''''''''''''''''''''''''''''
221
222The ``qemu-nbd --partition $digit`` code (also spelled ``-P``)
223could only handle MBR partitions, and never correctly handled logical
224partitions beyond partition 5. Exporting a partition can still be
225done by utilizing the ``--image-opts`` option with a raw blockdev
226using the ``offset`` and ``size`` parameters layered on top of
227any other existing blockdev. For example, if partition 1 is 100MiB
228long starting at 1MiB, the old command::
229
230 qemu-nbd -t -P 1 -f qcow2 file.qcow2
231
232can be rewritten as::
233
234 qemu-nbd -t --image-opts driver=raw,offset=1M,size=100M,file.driver=qcow2,file.file.driver=file,file.file.filename=file.qcow2
235
236``qemu-img convert -n -o`` (removed in 5.1)
237'''''''''''''''''''''''''''''''''''''''''''
238
239All options specified in ``-o`` are image creation options, so
240they are now rejected when used with ``-n`` to skip image creation.
241
242
243``qemu-img create -b bad file $size`` (removed in 5.1)
244''''''''''''''''''''''''''''''''''''''''''''''''''''''
245
246When creating an image with a backing file that could not be opened,
247``qemu-img create`` used to issue a warning about the failure but
248proceed with the image creation if an explicit size was provided.
249However, as the ``-u`` option exists for this purpose, it is safer to
250enforce that any failure to open the backing image (including if the
251backing file is missing or an incorrect format was specified) is an
252error when ``-u`` is not used.
253
254Command line options
255--------------------
256
257``-smp`` (invalid topologies) (removed 5.2)
258'''''''''''''''''''''''''''''''''''''''''''
259
260CPU topology properties should describe whole machine topology including
261possible CPUs.
262
263However, historically it was possible to start QEMU with an incorrect topology
264where *n* <= *sockets* * *cores* * *threads* < *maxcpus*,
265which could lead to an incorrect topology enumeration by the guest.
266Support for invalid topologies is removed, the user must ensure
267topologies described with -smp include all possible cpus, i.e.
268*sockets* * *cores* * *threads* = *maxcpus*.
269
270``-numa`` node (without memory specified) (removed 5.2)
271'''''''''''''''''''''''''''''''''''''''''''''''''''''''
272
273Splitting RAM by default between NUMA nodes had the same issues as ``mem``
274parameter with the difference that the role of the user plays QEMU using
275implicit generic or board specific splitting rule.
276Use ``memdev`` with *memory-backend-ram* backend or ``mem`` (if
277it's supported by used machine type) to define mapping explicitly instead.
278Users of existing VMs, wishing to preserve the same RAM distribution, should
279configure it explicitly using ``-numa node,memdev`` options. Current RAM
280distribution can be retrieved using HMP command ``info numa`` and if separate
281memory devices (pc|nv-dimm) are present use ``info memory-device`` and subtract
282device memory from output of ``info numa``.
283
284``-numa node,mem=``\ *size* (removed in 5.1)
285''''''''''''''''''''''''''''''''''''''''''''
286
287The parameter ``mem`` of ``-numa node`` was used to assign a part of
288guest RAM to a NUMA node. But when using it, it's impossible to manage a specified
289RAM chunk on the host side (like bind it to a host node, setting bind policy, ...),
290so the guest ends up with the fake NUMA configuration with suboptiomal performance.
291However since 2014 there is an alternative way to assign RAM to a NUMA node
292using parameter ``memdev``, which does the same as ``mem`` and adds
293means to actually manage node RAM on the host side. Use parameter ``memdev``
294with *memory-backend-ram* backend as replacement for parameter ``mem``
295to achieve the same fake NUMA effect or a properly configured
296*memory-backend-file* backend to actually benefit from NUMA configuration.
297New machine versions (since 5.1) will not accept the option but it will still
298work with old machine types. User can check the QAPI schema to see if the legacy
299option is supported by looking at MachineInfo::numa-mem-supported property.
300
301``-mem-path`` fallback to RAM (removed in 5.0)
302''''''''''''''''''''''''''''''''''''''''''''''
303
304If guest RAM allocation from file pointed by ``mem-path`` failed,
305QEMU was falling back to allocating from RAM, which might have resulted
306in unpredictable behavior since the backing file specified by the user
307as ignored. Currently, users are responsible for making sure the backing storage
308specified with ``-mem-path`` can actually provide the guest RAM configured with
309``-m`` and QEMU fails to start up if RAM allocation is unsuccessful.
310
311``-smp`` (invalid topologies) (removed 5.2)
312'''''''''''''''''''''''''''''''''''''''''''
313
314CPU topology properties should describe whole machine topology including
315possible CPUs.
316
317However, historically it was possible to start QEMU with an incorrect topology
318where *n* <= *sockets* * *cores* * *threads* < *maxcpus*,
319which could lead to an incorrect topology enumeration by the guest.
320Support for invalid topologies is removed, the user must ensure
321topologies described with -smp include all possible cpus, i.e.
322*sockets* * *cores* * *threads* = *maxcpus*.
323
324``-machine enforce-config-section=on|off`` (removed 5.2)
325''''''''''''''''''''''''''''''''''''''''''''''''''''''''
326
327The ``enforce-config-section`` property was replaced by the
328``-global migration.send-configuration={on|off}`` option.
329
330Block devices
331-------------
332
333VXHS backend (removed in 5.1)
334'''''''''''''''''''''''''''''
335
336The VXHS code did not compile since v2.12.0. It was removed in 5.1.