docs: deprecate RISC-V default machine option

Commit 5b4beba124 ("RISC-V Spike Machines") added the Spike machine and
made it default for qemu-system-riscv32/64. It was the first RISC-V
machine added in QEMU so setting it as default was sensible.

Today we have 7 riscv64 and 6 riscv32 machines and having 'spike' as
default machine is not intuitive. For example, [1] is a bug that was
opened with the 'virt' board in mind, but given that the user didn't
pass a '-machine' option, the user was using 'spike' without knowing.

Being explicit in the command line is desirable when we have a handful
of boards available, so deprecate the default machine setting from
RISC-V.

[1] https://gitlab.com/qemu-project/qemu/-/issues/2467

Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20250404122858.241598-1-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
Daniel Henrique Barboza 2025-04-04 09:28:58 -03:00 committed by Alistair Francis
parent 53f3a13ac1
commit d31d37fded

View File

@ -304,6 +304,23 @@ online to check that this board did not completely bitrot yet). It is
recommended to use another MIPS machine for future MIPS code development recommended to use another MIPS machine for future MIPS code development
instead. instead.
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 Backend options
--------------- ---------------