hw/mips/gt64xxx: Initialize ISD I/O memory region in DeviceRealize()
[qemu/ar7.git] / docs / system / removed-features.rst
blob83148dcfda6a934597666b128c8d08be6d451ae9
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 (removed in 6.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.
146 linux-user mode CPUs
147 --------------------
149 ``tilegx`` CPUs (removed in 6.0)
150 ''''''''''''''''''''''''''''''''
152 The ``tilegx`` guest CPU support has been removed without replacement. It was
153 only implemented in linux-user mode, but support for this CPU was removed from
154 the upstream Linux kernel in 2018, and it has also been dropped from glibc, so
155 there is no new Linux development taking place with this architecture. For
156 running the old binaries, you can use older versions of QEMU.
159 Related binaries
160 ----------------
162 ``qemu-nbd --partition`` (removed in 5.0)
163 '''''''''''''''''''''''''''''''''''''''''
165 The ``qemu-nbd --partition $digit`` code (also spelled ``-P``)
166 could only handle MBR partitions, and never correctly handled logical
167 partitions beyond partition 5.  Exporting a partition can still be
168 done by utilizing the ``--image-opts`` option with a raw blockdev
169 using the ``offset`` and ``size`` parameters layered on top of
170 any other existing blockdev. For example, if partition 1 is 100MiB
171 long starting at 1MiB, the old command::
173   qemu-nbd -t -P 1 -f qcow2 file.qcow2
175 can be rewritten as::
177   qemu-nbd -t --image-opts driver=raw,offset=1M,size=100M,file.driver=qcow2,file.file.driver=file,file.file.filename=file.qcow2
179 ``qemu-img convert -n -o`` (removed in 5.1)
180 '''''''''''''''''''''''''''''''''''''''''''
182 All options specified in ``-o`` are image creation options, so
183 they are now rejected when used with ``-n`` to skip image creation.
186 ``qemu-img create -b bad file $size`` (removed in 5.1)
187 ''''''''''''''''''''''''''''''''''''''''''''''''''''''
189 When creating an image with a backing file that could not be opened,
190 ``qemu-img create`` used to issue a warning about the failure but
191 proceed with the image creation if an explicit size was provided.
192 However, as the ``-u`` option exists for this purpose, it is safer to
193 enforce that any failure to open the backing image (including if the
194 backing file is missing or an incorrect format was specified) is an
195 error when ``-u`` is not used.
197 Command line options
198 --------------------
200 ``-smp`` (invalid topologies) (removed 5.2)
201 '''''''''''''''''''''''''''''''''''''''''''
203 CPU topology properties should describe whole machine topology including
204 possible CPUs.
206 However, historically it was possible to start QEMU with an incorrect topology
207 where *n* <= *sockets* * *cores* * *threads* < *maxcpus*,
208 which could lead to an incorrect topology enumeration by the guest.
209 Support for invalid topologies is removed, the user must ensure
210 topologies described with -smp include all possible cpus, i.e.
211 *sockets* * *cores* * *threads* = *maxcpus*.
213 ``-numa`` node (without memory specified) (removed 5.2)
214 '''''''''''''''''''''''''''''''''''''''''''''''''''''''
216 Splitting RAM by default between NUMA nodes had the same issues as ``mem``
217 parameter with the difference that the role of the user plays QEMU using
218 implicit generic or board specific splitting rule.
219 Use ``memdev`` with *memory-backend-ram* backend or ``mem`` (if
220 it's supported by used machine type) to define mapping explicitly instead.
221 Users of existing VMs, wishing to preserve the same RAM distribution, should
222 configure it explicitly using ``-numa node,memdev`` options. Current RAM
223 distribution can be retrieved using HMP command ``info numa`` and if separate
224 memory devices (pc|nv-dimm) are present use ``info memory-device`` and subtract
225 device memory from output of ``info numa``.
227 ``-numa node,mem=``\ *size* (removed in 5.1)
228 ''''''''''''''''''''''''''''''''''''''''''''
230 The parameter ``mem`` of ``-numa node`` was used to assign a part of
231 guest RAM to a NUMA node. But when using it, it's impossible to manage a specified
232 RAM chunk on the host side (like bind it to a host node, setting bind policy, ...),
233 so the guest ends up with the fake NUMA configuration with suboptiomal performance.
234 However since 2014 there is an alternative way to assign RAM to a NUMA node
235 using parameter ``memdev``, which does the same as ``mem`` and adds
236 means to actually manage node RAM on the host side. Use parameter ``memdev``
237 with *memory-backend-ram* backend as replacement for parameter ``mem``
238 to achieve the same fake NUMA effect or a properly configured
239 *memory-backend-file* backend to actually benefit from NUMA configuration.
240 New machine versions (since 5.1) will not accept the option but it will still
241 work with old machine types. User can check the QAPI schema to see if the legacy
242 option is supported by looking at MachineInfo::numa-mem-supported property.
244 ``-mem-path`` fallback to RAM (removed in 5.0)
245 ''''''''''''''''''''''''''''''''''''''''''''''
247 If guest RAM allocation from file pointed by ``mem-path`` failed,
248 QEMU was falling back to allocating from RAM, which might have resulted
249 in unpredictable behavior since the backing file specified by the user
250 as ignored. Currently, users are responsible for making sure the backing storage
251 specified with ``-mem-path`` can actually provide the guest RAM configured with
252 ``-m`` and QEMU fails to start up if RAM allocation is unsuccessful.
254 ``-smp`` (invalid topologies) (removed 5.2)
255 '''''''''''''''''''''''''''''''''''''''''''
257 CPU topology properties should describe whole machine topology including
258 possible CPUs.
260 However, historically it was possible to start QEMU with an incorrect topology
261 where *n* <= *sockets* * *cores* * *threads* < *maxcpus*,
262 which could lead to an incorrect topology enumeration by the guest.
263 Support for invalid topologies is removed, the user must ensure
264 topologies described with -smp include all possible cpus, i.e.
265 *sockets* * *cores* * *threads* = *maxcpus*.
267 ``-machine enforce-config-section=on|off`` (removed 5.2)
268 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''
270 The ``enforce-config-section`` property was replaced by the
271 ``-global migration.send-configuration={on|off}`` option.
273 Block devices
274 -------------
276 VXHS backend (removed in 5.1)
277 '''''''''''''''''''''''''''''
279 The VXHS code did not compile since v2.12.0. It was removed in 5.1.