qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH for-10.1] hw/riscv: do not mark any machine as default
@ 2025-03-27 13:02 Daniel Henrique Barboza
  2025-03-27 14:01 ` Frank Chang
  2025-03-27 16:14 ` Philippe Mathieu-Daudé
  0 siblings, 2 replies; 8+ messages in thread
From: Daniel Henrique Barboza @ 2025-03-27 13:02 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-riscv, alistair.francis, liwei1518, zhiwei_liu, palmer,
	Daniel Henrique Barboza

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 risc64 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.

The QEMU archs that defines a default machine usually defines it as the
most used machine, e.g. PowerPC uses 'pseries' as default. So in theory
we could change the default to the 'virt' machine, but that would make
existing command lines that don't specify a machine option to act
weird: they would silently use 'virt' instead of 'spike'.

Being explicit in the command line is desirable when we have a handful
of boards available, so remove the default machine setting from RISC-V
and make it obligatory to specify the board.

After this patch we'll throw an error if no machine is specified:

$ ./build/qemu-system-riscv64 --nographic qemu-system-riscv64: No
machine specified, and there is no default Use -machine help to list
supported machines

'spike' users that aren't specifying their machines in the command line
will be impacted and will need to add '-M spike' in their scripts.

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

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
 hw/riscv/spike.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c
index 74a20016f1..ba88d3a07b 100644
--- a/hw/riscv/spike.c
+++ b/hw/riscv/spike.c
@@ -349,7 +349,6 @@ static void spike_machine_class_init(ObjectClass *oc, 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;
-- 
2.48.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-04-04 13:01 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-27 13:02 [PATCH for-10.1] hw/riscv: do not mark any machine as default Daniel Henrique Barboza
2025-03-27 14:01 ` Frank Chang
2025-03-27 16:14 ` Philippe Mathieu-Daudé
2025-03-27 16:14   ` Philippe Mathieu-Daudé
2025-04-04  5:50   ` Alistair Francis
2025-04-04 11:30     ` Daniel Henrique Barboza
2025-04-04 12:37       ` Philippe Mathieu-Daudé
2025-04-04 13:01         ` Andrew Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).