diff mbox series

[for-10.0] docs: deprecate RISC-V default machine option

Message ID 20250404122858.241598-1-dbarboza@ventanamicro.com (mailing list archive)
State New
Headers show
Series [for-10.0] docs: deprecate RISC-V default machine option | expand

Commit Message

Daniel Henrique Barboza April 4, 2025, 12:28 p.m. UTC
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>
---
 docs/about/deprecated.rst | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

Comments

Philippe Mathieu-Daudé April 4, 2025, 1:07 p.m. UTC | #1
On 4/4/25 14:28, Daniel Henrique Barboza wrote:
> 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>
> ---
>   docs/about/deprecated.rst | 17 +++++++++++++++++
>   1 file changed, 17 insertions(+)
> 
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index 76291fdfd6..0f41a99c67 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -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
>   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``.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Having users specify "-M virt" doesn't seem much of a hassle IMHO,
so I'd not use 'virt' as the /new/ default in 10.2 (but we aren't
there yet).

> +
> +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``).
> +
Daniel Henrique Barboza April 4, 2025, 1:14 p.m. UTC | #2
On 4/4/25 10:07 AM, Philippe Mathieu-Daudé wrote:
> On 4/4/25 14:28, Daniel Henrique Barboza wrote:
>> 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>
>> ---
>>   docs/about/deprecated.rst | 17 +++++++++++++++++
>>   1 file changed, 17 insertions(+)
>>
>> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
>> index 76291fdfd6..0f41a99c67 100644
>> --- a/docs/about/deprecated.rst
>> +++ b/docs/about/deprecated.rst
>> @@ -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
>>   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``.
> 
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> 
> Having users specify "-M virt" doesn't seem much of a hassle IMHO,
> so I'd not use 'virt' as the /new/ default in 10.2 (but we aren't
> there yet).

The idea is to not have any default machine at all. Users will need to specify
"-M <machine_name>" in the command line for all RISC-V machines. Otherwise we
might run in the same problem again if another RISC-V board becomes more popular
than 'virt'.


Thanks,

Daniel

> 
>> +
>> +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``).
>> +
Richard Henderson April 4, 2025, 2:09 p.m. UTC | #3
On 4/4/25 05:28, Daniel Henrique Barboza wrote:
> 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>
> ---
>   docs/about/deprecated.rst | 17 +++++++++++++++++
>   1 file changed, 17 insertions(+)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~
diff mbox series

Patch

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 76291fdfd6..0f41a99c67 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -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
 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
 ---------------