tcg/i386: rdpmc: fix the the condtions
[qemu/ar7.git] / docs / system / removed-features.rst
blobc8481cafbd5caa3b6d66f1f6fe54f114ec0e9afc
2 Removed features
3 ================
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.
9 System emulator command line arguments
10 --------------------------------------
12 ``-net ...,name=``\ *name* (removed in 5.1)
13 '''''''''''''''''''''''''''''''''''''''''''
15 The ``name`` parameter of the ``-net`` option was a synonym
16 for the ``id`` parameter, which should now be used instead.
18 ``-no-kvm`` (removed in 5.2)
19 ''''''''''''''''''''''''''''
21 The ``-no-kvm`` argument was a synonym for setting ``-machine accel=tcg``.
23 ``-realtime`` (removed in 6.0)
24 ''''''''''''''''''''''''''''''
26 The ``-realtime mlock=on|off`` argument has been replaced by the
27 ``-overcommit mem-lock=on|off`` argument.
29 ``-show-cursor`` option (since 5.0)
30 '''''''''''''''''''''''''''''''''''
32 Use ``-display sdl,show-cursor=on``, ``-display gtk,show-cursor=on``
33 or ``-display default,show-cursor=on`` instead.
35 ``-tb-size`` option (removed in 6.0)
36 ''''''''''''''''''''''''''''''''''''
38 QEMU 5.0 introduced an alternative syntax to specify the size of the translation
39 block cache, ``-accel tcg,tb-size=``.
41 QEMU Machine Protocol (QMP) commands
42 ------------------------------------
44 ``block-dirty-bitmap-add`` "autoload" parameter (removed in 4.2.0)
45 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
47 The "autoload" parameter has been ignored since 2.12.0. All bitmaps
48 are automatically loaded from qcow2 images.
50 ``cpu-add`` (removed in 5.2)
51 ''''''''''''''''''''''''''''
53 Use ``device_add`` for hotplugging vCPUs instead of ``cpu-add``.  See
54 documentation of ``query-hotpluggable-cpus`` for additional details.
56 ``change`` (removed in 6.0)
57 '''''''''''''''''''''''''''
59 Use ``blockdev-change-medium`` or ``change-vnc-password`` instead.
61 Human Monitor Protocol (HMP) commands
62 -------------------------------------
64 The ``hub_id`` parameter of ``hostfwd_add`` / ``hostfwd_remove`` (removed in 5.0)
65 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
67 The ``[hub_id name]`` parameter tuple of the 'hostfwd_add' and
68 'hostfwd_remove' HMP commands has been replaced by ``netdev_id``.
70 ``cpu-add`` (removed in 5.2)
71 ''''''''''''''''''''''''''''
73 Use ``device_add`` for hotplugging vCPUs instead of ``cpu-add``.  See
74 documentation of ``query-hotpluggable-cpus`` for additional details.
76 ``change vnc TARGET`` (removed in 6.0)
77 ''''''''''''''''''''''''''''''''''''''
79 No replacement.  The ``change vnc password`` and ``change DEVICE MEDIUM``
80 commands are not affected.
82 Guest Emulator ISAs
83 -------------------
85 RISC-V ISA privilege specification version 1.09.1 (removed in 5.1)
86 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
88 The RISC-V ISA privilege specification version 1.09.1 has been removed.
89 QEMU supports both the newer version 1.10.0 and the ratified version 1.11.0, these
90 should be used instead of the 1.09.1 version.
92 System emulator CPUS
93 --------------------
95 KVM guest support on 32-bit Arm hosts (removed in 5.2)
96 ''''''''''''''''''''''''''''''''''''''''''''''''''''''
98 The Linux kernel has dropped support for allowing 32-bit Arm systems
99 to host KVM guests as of the 5.7 kernel. Accordingly, QEMU is deprecating
100 its support for this configuration and will remove it in a future version.
101 Running 32-bit guests on a 64-bit Arm host remains supported.
103 RISC-V ISA Specific CPUs (removed in 5.1)
104 '''''''''''''''''''''''''''''''''''''''''
106 The RISC-V cpus with the ISA version in the CPU name have been removed. The
107 four CPUs are: ``rv32gcsu-v1.9.1``, ``rv32gcsu-v1.10.0``, ``rv64gcsu-v1.9.1`` and
108 ``rv64gcsu-v1.10.0``. Instead the version can be specified via the CPU ``priv_spec``
109 option when using the ``rv32`` or ``rv64`` CPUs.
111 RISC-V no MMU CPUs (removed in 5.1)
112 '''''''''''''''''''''''''''''''''''
114 The RISC-V no MMU cpus have been removed. The two CPUs: ``rv32imacu-nommu`` and
115 ``rv64imacu-nommu`` can no longer be used. Instead the MMU status can be specified
116 via the CPU ``mmu`` option when using the ``rv32`` or ``rv64`` CPUs.
118 System emulator machines
119 ------------------------
121 ``spike_v1.9.1`` and ``spike_v1.10`` (removed in 5.1)
122 '''''''''''''''''''''''''''''''''''''''''''''''''''''
124 The version specific Spike machines have been removed in favour of the
125 generic ``spike`` machine. If you need to specify an older version of the RISC-V
126 spec you can use the ``-cpu rv64gcsu,priv_spec=v1.10.0`` command line argument.
128 mips ``r4k`` platform (removed in 5.2)
129 ''''''''''''''''''''''''''''''''''''''
131 This machine type was very old and unmaintained. Users should use the ``malta``
132 machine type instead.
134 mips ``fulong2e`` machine alias (removed in 6.0)
135 ''''''''''''''''''''''''''''''''''''''''''''''''
137 This machine has been renamed ``fuloong2e``.
139 ``pc-1.0``, ``pc-1.1``, ``pc-1.2`` and ``pc-1.3`` (removed in 6.0)
140 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
142 These machine types were very old and likely could not be used for live
143 migration from old QEMU versions anymore. Use a newer machine type instead.
145 Related binaries
146 ----------------
148 ``qemu-nbd --partition`` (removed in 5.0)
149 '''''''''''''''''''''''''''''''''''''''''
151 The ``qemu-nbd --partition $digit`` code (also spelled ``-P``)
152 could only handle MBR partitions, and never correctly handled logical
153 partitions beyond partition 5.  Exporting a partition can still be
154 done by utilizing the ``--image-opts`` option with a raw blockdev
155 using the ``offset`` and ``size`` parameters layered on top of
156 any other existing blockdev. For example, if partition 1 is 100MiB
157 long starting at 1MiB, the old command::
159   qemu-nbd -t -P 1 -f qcow2 file.qcow2
161 can be rewritten as::
163   qemu-nbd -t --image-opts driver=raw,offset=1M,size=100M,file.driver=qcow2,file.file.driver=file,file.file.filename=file.qcow2
165 ``qemu-img convert -n -o`` (removed in 5.1)
166 '''''''''''''''''''''''''''''''''''''''''''
168 All options specified in ``-o`` are image creation options, so
169 they are now rejected when used with ``-n`` to skip image creation.
172 ``qemu-img create -b bad file $size`` (removed in 5.1)
173 ''''''''''''''''''''''''''''''''''''''''''''''''''''''
175 When creating an image with a backing file that could not be opened,
176 ``qemu-img create`` used to issue a warning about the failure but
177 proceed with the image creation if an explicit size was provided.
178 However, as the ``-u`` option exists for this purpose, it is safer to
179 enforce that any failure to open the backing image (including if the
180 backing file is missing or an incorrect format was specified) is an
181 error when ``-u`` is not used.
183 Command line options
184 --------------------
186 ``-smp`` (invalid topologies) (removed 5.2)
187 '''''''''''''''''''''''''''''''''''''''''''
189 CPU topology properties should describe whole machine topology including
190 possible CPUs.
192 However, historically it was possible to start QEMU with an incorrect topology
193 where *n* <= *sockets* * *cores* * *threads* < *maxcpus*,
194 which could lead to an incorrect topology enumeration by the guest.
195 Support for invalid topologies is removed, the user must ensure
196 topologies described with -smp include all possible cpus, i.e.
197 *sockets* * *cores* * *threads* = *maxcpus*.
199 ``-numa`` node (without memory specified) (removed 5.2)
200 '''''''''''''''''''''''''''''''''''''''''''''''''''''''
202 Splitting RAM by default between NUMA nodes had the same issues as ``mem``
203 parameter with the difference that the role of the user plays QEMU using
204 implicit generic or board specific splitting rule.
205 Use ``memdev`` with *memory-backend-ram* backend or ``mem`` (if
206 it's supported by used machine type) to define mapping explicitly instead.
207 Users of existing VMs, wishing to preserve the same RAM distribution, should
208 configure it explicitly using ``-numa node,memdev`` options. Current RAM
209 distribution can be retrieved using HMP command ``info numa`` and if separate
210 memory devices (pc|nv-dimm) are present use ``info memory-device`` and subtract
211 device memory from output of ``info numa``.
213 ``-numa node,mem=``\ *size* (removed in 5.1)
214 ''''''''''''''''''''''''''''''''''''''''''''
216 The parameter ``mem`` of ``-numa node`` was used to assign a part of
217 guest RAM to a NUMA node. But when using it, it's impossible to manage a specified
218 RAM chunk on the host side (like bind it to a host node, setting bind policy, ...),
219 so the guest ends up with the fake NUMA configuration with suboptiomal performance.
220 However since 2014 there is an alternative way to assign RAM to a NUMA node
221 using parameter ``memdev``, which does the same as ``mem`` and adds
222 means to actually manage node RAM on the host side. Use parameter ``memdev``
223 with *memory-backend-ram* backend as replacement for parameter ``mem``
224 to achieve the same fake NUMA effect or a properly configured
225 *memory-backend-file* backend to actually benefit from NUMA configuration.
226 New machine versions (since 5.1) will not accept the option but it will still
227 work with old machine types. User can check the QAPI schema to see if the legacy
228 option is supported by looking at MachineInfo::numa-mem-supported property.
230 ``-mem-path`` fallback to RAM (removed in 5.0)
231 ''''''''''''''''''''''''''''''''''''''''''''''
233 If guest RAM allocation from file pointed by ``mem-path`` failed,
234 QEMU was falling back to allocating from RAM, which might have resulted
235 in unpredictable behavior since the backing file specified by the user
236 as ignored. Currently, users are responsible for making sure the backing storage
237 specified with ``-mem-path`` can actually provide the guest RAM configured with
238 ``-m`` and QEMU fails to start up if RAM allocation is unsuccessful.
240 ``-smp`` (invalid topologies) (removed 5.2)
241 '''''''''''''''''''''''''''''''''''''''''''
243 CPU topology properties should describe whole machine topology including
244 possible CPUs.
246 However, historically it was possible to start QEMU with an incorrect topology
247 where *n* <= *sockets* * *cores* * *threads* < *maxcpus*,
248 which could lead to an incorrect topology enumeration by the guest.
249 Support for invalid topologies is removed, the user must ensure
250 topologies described with -smp include all possible cpus, i.e.
251 *sockets* * *cores* * *threads* = *maxcpus*.
253 ``-machine enforce-config-section=on|off`` (removed 5.2)
254 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''
256 The ``enforce-config-section`` property was replaced by the
257 ``-global migration.send-configuration={on|off}`` option.
259 Block devices
260 -------------
262 VXHS backend (removed in 5.1)
263 '''''''''''''''''''''''''''''
265 The VXHS code did not compile since v2.12.0. It was removed in 5.1.