qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] hw/riscv/virt.c: change default CPU to 'max'
@ 2025-04-04 15:27 Daniel Henrique Barboza
  2025-04-04 15:27 ` [PATCH 1/2] target/riscv/tcg: make 'max' cpu rva23s64 compliant Daniel Henrique Barboza
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Daniel Henrique Barboza @ 2025-04-04 15:27 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-riscv, alistair.francis, liwei1518, zhiwei_liu, palmer,
	ajones, Daniel Henrique Barboza

Hi,

The 'rv64' CPU, the default CPU for the 'virt' machine, is a strange
CPU. It is a collection of extensions that were enabled/disabled as
extensions were being added in TCG, and in the end we ended up with a
CPU that we can't say exactly what it does.

This is further aggravated by the distros move to support the RVA23
profile. Patch 2 has more details, but long story short: distros uses
the 'virt' machine, and they'll start building on top of RVA23, and rv64
does not have RVA23 support. In short, distros will start to break in
the default 'virt' CPU.

Changing the default CPU to 'max' will not cause (intentional) user
regressions: if the software runs in rv64 it will run in 'max' too given
that we're adding more extensions as default instead of removing them.
In my opinion this might be enough to avoid a deprecation cycle and we
can do the change for 10.1.

And yeah, patch 2 mentions the already old trope "and ARM does the
same". This is intentional: I want RISC-V code and usability to be as
close as possible to ARM and other archs to promote a more homogeneous
experience when developing and using QEMU.


Daniel Henrique Barboza (2):
  target/riscv/tcg: make 'max' cpu rva23s64 compliant
  hw/riscv/virt.c: change default CPU to 'max'

 hw/riscv/virt.c            | 2 +-
 target/riscv/tcg/tcg-cpu.c | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

-- 
2.49.0



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

end of thread, other threads:[~2025-05-20  6:18 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-04 15:27 [PATCH 0/2] hw/riscv/virt.c: change default CPU to 'max' Daniel Henrique Barboza
2025-04-04 15:27 ` [PATCH 1/2] target/riscv/tcg: make 'max' cpu rva23s64 compliant Daniel Henrique Barboza
2025-04-06 23:26   ` Alistair Francis
2025-04-04 15:27 ` [PATCH 2/2] hw/riscv/virt.c: change default CPU to 'max' Daniel Henrique Barboza
2025-04-04 23:01   ` Richard Henderson
2025-04-06 23:31     ` Alistair Francis
2025-04-24 10:00       ` Philippe Mathieu-Daudé
2025-04-24  8:20   ` Andrew Jones
2025-05-05 22:46 ` [PATCH 0/2] " Daniel Henrique Barboza
2025-05-19  0:19   ` Alistair Francis
2025-05-20  6:16     ` David Abdurachmanov

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