tcg: Rename struct tcg_temp_info to TempOptInfo
[qemu/ar7.git] / docs / system / removed-features.rst
blob8b20d78a4d0c300b9b4f465e9124ac34f1b87461
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 Human Monitor Protocol (HMP) commands
57 -------------------------------------
59 The ``hub_id`` parameter of ``hostfwd_add`` / ``hostfwd_remove`` (removed in 5.0)
60 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
62 The ``[hub_id name]`` parameter tuple of the 'hostfwd_add' and
63 'hostfwd_remove' HMP commands has been replaced by ``netdev_id``.
65 ``cpu-add`` (removed in 5.2)
66 ''''''''''''''''''''''''''''
68 Use ``device_add`` for hotplugging vCPUs instead of ``cpu-add``.  See
69 documentation of ``query-hotpluggable-cpus`` for additional details.
71 Guest Emulator ISAs
72 -------------------
74 RISC-V ISA privilege specification version 1.09.1 (removed in 5.1)
75 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
77 The RISC-V ISA privilege specification version 1.09.1 has been removed.
78 QEMU supports both the newer version 1.10.0 and the ratified version 1.11.0, these
79 should be used instead of the 1.09.1 version.
81 System emulator CPUS
82 --------------------
84 KVM guest support on 32-bit Arm hosts (removed in 5.2)
85 ''''''''''''''''''''''''''''''''''''''''''''''''''''''
87 The Linux kernel has dropped support for allowing 32-bit Arm systems
88 to host KVM guests as of the 5.7 kernel. Accordingly, QEMU is deprecating
89 its support for this configuration and will remove it in a future version.
90 Running 32-bit guests on a 64-bit Arm host remains supported.
92 RISC-V ISA Specific CPUs (removed in 5.1)
93 '''''''''''''''''''''''''''''''''''''''''
95 The RISC-V cpus with the ISA version in the CPU name have been removed. The
96 four CPUs are: ``rv32gcsu-v1.9.1``, ``rv32gcsu-v1.10.0``, ``rv64gcsu-v1.9.1`` and
97 ``rv64gcsu-v1.10.0``. Instead the version can be specified via the CPU ``priv_spec``
98 option when using the ``rv32`` or ``rv64`` CPUs.
100 RISC-V no MMU CPUs (removed in 5.1)
101 '''''''''''''''''''''''''''''''''''
103 The RISC-V no MMU cpus have been removed. The two CPUs: ``rv32imacu-nommu`` and
104 ``rv64imacu-nommu`` can no longer be used. Instead the MMU status can be specified
105 via the CPU ``mmu`` option when using the ``rv32`` or ``rv64`` CPUs.
107 System emulator machines
108 ------------------------
110 ``spike_v1.9.1`` and ``spike_v1.10`` (removed in 5.1)
111 '''''''''''''''''''''''''''''''''''''''''''''''''''''
113 The version specific Spike machines have been removed in favour of the
114 generic ``spike`` machine. If you need to specify an older version of the RISC-V
115 spec you can use the ``-cpu rv64gcsu,priv_spec=v1.10.0`` command line argument.
117 mips ``r4k`` platform (removed in 5.2)
118 ''''''''''''''''''''''''''''''''''''''
120 This machine type was very old and unmaintained. Users should use the ``malta``
121 machine type instead.
123 Related binaries
124 ----------------
126 ``qemu-nbd --partition`` (removed in 5.0)
127 '''''''''''''''''''''''''''''''''''''''''
129 The ``qemu-nbd --partition $digit`` code (also spelled ``-P``)
130 could only handle MBR partitions, and never correctly handled logical
131 partitions beyond partition 5.  Exporting a partition can still be
132 done by utilizing the ``--image-opts`` option with a raw blockdev
133 using the ``offset`` and ``size`` parameters layered on top of
134 any other existing blockdev. For example, if partition 1 is 100MiB
135 long starting at 1MiB, the old command::
137   qemu-nbd -t -P 1 -f qcow2 file.qcow2
139 can be rewritten as::
141   qemu-nbd -t --image-opts driver=raw,offset=1M,size=100M,file.driver=qcow2,file.file.driver=file,file.file.filename=file.qcow2
143 ``qemu-img convert -n -o`` (removed in 5.1)
144 '''''''''''''''''''''''''''''''''''''''''''
146 All options specified in ``-o`` are image creation options, so
147 they are now rejected when used with ``-n`` to skip image creation.
150 ``qemu-img create -b bad file $size`` (removed in 5.1)
151 ''''''''''''''''''''''''''''''''''''''''''''''''''''''
153 When creating an image with a backing file that could not be opened,
154 ``qemu-img create`` used to issue a warning about the failure but
155 proceed with the image creation if an explicit size was provided.
156 However, as the ``-u`` option exists for this purpose, it is safer to
157 enforce that any failure to open the backing image (including if the
158 backing file is missing or an incorrect format was specified) is an
159 error when ``-u`` is not used.
161 Command line options
162 --------------------
164 ``-smp`` (invalid topologies) (removed 5.2)
165 '''''''''''''''''''''''''''''''''''''''''''
167 CPU topology properties should describe whole machine topology including
168 possible CPUs.
170 However, historically it was possible to start QEMU with an incorrect topology
171 where *n* <= *sockets* * *cores* * *threads* < *maxcpus*,
172 which could lead to an incorrect topology enumeration by the guest.
173 Support for invalid topologies is removed, the user must ensure
174 topologies described with -smp include all possible cpus, i.e.
175 *sockets* * *cores* * *threads* = *maxcpus*.
177 ``-numa`` node (without memory specified) (removed 5.2)
178 '''''''''''''''''''''''''''''''''''''''''''''''''''''''
180 Splitting RAM by default between NUMA nodes had the same issues as ``mem``
181 parameter with the difference that the role of the user plays QEMU using
182 implicit generic or board specific splitting rule.
183 Use ``memdev`` with *memory-backend-ram* backend or ``mem`` (if
184 it's supported by used machine type) to define mapping explicitly instead.
185 Users of existing VMs, wishing to preserve the same RAM distribution, should
186 configure it explicitly using ``-numa node,memdev`` options. Current RAM
187 distribution can be retrieved using HMP command ``info numa`` and if separate
188 memory devices (pc|nv-dimm) are present use ``info memory-device`` and subtract
189 device memory from output of ``info numa``.
191 ``-numa node,mem=``\ *size* (removed in 5.1)
192 ''''''''''''''''''''''''''''''''''''''''''''
194 The parameter ``mem`` of ``-numa node`` was used to assign a part of
195 guest RAM to a NUMA node. But when using it, it's impossible to manage a specified
196 RAM chunk on the host side (like bind it to a host node, setting bind policy, ...),
197 so the guest ends up with the fake NUMA configuration with suboptiomal performance.
198 However since 2014 there is an alternative way to assign RAM to a NUMA node
199 using parameter ``memdev``, which does the same as ``mem`` and adds
200 means to actually manage node RAM on the host side. Use parameter ``memdev``
201 with *memory-backend-ram* backend as replacement for parameter ``mem``
202 to achieve the same fake NUMA effect or a properly configured
203 *memory-backend-file* backend to actually benefit from NUMA configuration.
204 New machine versions (since 5.1) will not accept the option but it will still
205 work with old machine types. User can check the QAPI schema to see if the legacy
206 option is supported by looking at MachineInfo::numa-mem-supported property.
208 ``-mem-path`` fallback to RAM (removed in 5.0)
209 ''''''''''''''''''''''''''''''''''''''''''''''
211 If guest RAM allocation from file pointed by ``mem-path`` failed,
212 QEMU was falling back to allocating from RAM, which might have resulted
213 in unpredictable behavior since the backing file specified by the user
214 as ignored. Currently, users are responsible for making sure the backing storage
215 specified with ``-mem-path`` can actually provide the guest RAM configured with
216 ``-m`` and QEMU fails to start up if RAM allocation is unsuccessful.
218 ``-smp`` (invalid topologies) (removed 5.2)
219 '''''''''''''''''''''''''''''''''''''''''''
221 CPU topology properties should describe whole machine topology including
222 possible CPUs.
224 However, historically it was possible to start QEMU with an incorrect topology
225 where *n* <= *sockets* * *cores* * *threads* < *maxcpus*,
226 which could lead to an incorrect topology enumeration by the guest.
227 Support for invalid topologies is removed, the user must ensure
228 topologies described with -smp include all possible cpus, i.e.
229 *sockets* * *cores* * *threads* = *maxcpus*.
231 ``-machine enforce-config-section=on|off`` (removed 5.2)
232 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''
234 The ``enforce-config-section`` property was replaced by the
235 ``-global migration.send-configuration={on|off}`` option.
237 Block devices
238 -------------
240 VXHS backend (removed in 5.1)
241 '''''''''''''''''''''''''''''
243 The VXHS code did not compile since v2.12.0. It was removed in 5.1.