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