target/riscv: Remove spike as default machine

In QEMU 10.0 we deprecated the default spike machine, let's finally
remove spike as the default and require users to specify the machine.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Chao Liu <chao.liu.zevorn@gmail.com>
Message-ID: <20260430052218.771358-2-alistair.francis@wdc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
Alistair Francis 2026-04-30 15:22:17 +10:00
parent f5a2438405
commit 44adb5fcc2
3 changed files with 14 additions and 19 deletions

View file

@ -243,24 +243,6 @@ better reflects the way this property affects all random data within
the device tree blob, not just the ``kaslr-seed`` node.
RISC-V default machine option (since 10.0)
''''''''''''''''''''''''''''''''''''''''''
RISC-V defines ``spike`` as the default machine if no machine option is
given in the command line. This happens because ``spike`` is the first
RISC-V machine implemented in QEMU and setting it as default was
convenient at that time. Now we have 7 riscv64 and 6 riscv32 machines
and having ``spike`` as a default is no longer justified. This default
will also promote situations where users think they're running ``virt``
(the most used RISC-V machine type in 10.0) when in fact they're
running ``spike``.
Removing the default machine option forces users to always set the machine
they want to use and avoids confusion. Existing users of the ``spike``
machine must ensure that they're setting the ``spike`` machine in the
command line (``-M spike``).
Backend options
---------------

View file

@ -1229,6 +1229,20 @@ firmware is available to boot it. It can be replaced by the
``ast2700fc``, another multi-SoC machine based on the newer AST2700
SoCs which are excepted to receive better support in the future.
RISC-V default machine (removed in 11.1)
''''''''''''''''''''''''''''''''''''''''
RISC-V used to define ``spike`` as the default machine if no machine option
was given via the command line. This happend because ``spike`` was the first
RISC-V machine implemented in QEMU and setting it as default was
convenient at that time. Now we have 7 riscv64 and 6 riscv32 machines
and having ``spike`` as a default is no longer justified.
The default machine option has been removed, forcing users to always set the
machine they want to use to avoid confusion. Existing users of the ``spike``
machine must ensure that they're setting the ``spike`` machine in the
command line (``-M spike``).
linux-user mode CPUs
--------------------

View file

@ -341,7 +341,6 @@ static void spike_machine_class_init(ObjectClass *oc, const void *data)
mc->desc = "RISC-V Spike board";
mc->init = spike_board_init;
mc->max_cpus = SPIKE_CPUS_MAX;
mc->is_default = true;
mc->default_cpu_type = TYPE_RISCV_CPU_BASE;
mc->possible_cpu_arch_ids = riscv_numa_possible_cpu_arch_ids;
mc->cpu_index_to_instance_props = riscv_numa_cpu_index_to_props;