qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] target/riscv: store max SATP mode as a single integer in RISCVCPUConfig
@ 2025-02-18 16:57 Paolo Bonzini
  2025-02-18 16:57 ` [PATCH 1/7] hw/riscv: acpi: only create RHCT MMU entry for supported types Paolo Bonzini
                   ` (6 more replies)
  0 siblings, 7 replies; 23+ messages in thread
From: Paolo Bonzini @ 2025-02-18 16:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alistair Francis

The maximum available SATP mode implies all the shorter virtual address sizes.
Simplify the handling of the satp_mode field in RISCVCPUConfig:

- store a single byte in RISCVCPUConfig for the maximum supported size,
  and adjust it to the maximum requested size based on QOM properties

- move satp_mode.{map,init} out of RISCVCPUConfig since they are
  only needed to implement the user-friendly properties for -cpu

The benefit is that code outside target/riscv/ does not need to call
satp_mode_max_from_map() anymore, it can just check cpu->cfg.max_satp_mode.

The first three patches are independent bugfixes.

This series is a spin off of "target/riscv: declarative CPU definitions"
(https://lore.kernel.org/qemu-devel/20250206182711.2420505-1-pbonzini@redhat.com/T/#t).

Paolo

Paolo Bonzini (7):
  hw/riscv: acpi: only create RHCT MMU entry for supported types
  target/riscv: env->misa_mxl is a constant
  target/riscv: assert argument to set_satp_mode_max_supported is valid
  target/riscv: cpu: store max SATP mode as a single integer
  target/riscv: update max_satp_mode based on QOM properties
  target/riscv: remove supported from RISCVSATPMap
  target/riscv: move satp_mode.{map,init} out of CPUConfig

 target/riscv/cpu.h         | 15 +++++-
 target/riscv/cpu_cfg.h     | 17 +------
 hw/riscv/virt-acpi-build.c | 15 +++---
 hw/riscv/virt.c            |  5 +-
 target/riscv/cpu.c         | 98 +++++++++++++++++++++-----------------
 target/riscv/csr.c         |  9 +++-
 target/riscv/machine.c     | 13 +++++
 target/riscv/tcg/tcg-cpu.c |  3 +-
 8 files changed, 100 insertions(+), 75 deletions(-)

-- 
2.48.1



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

end of thread, other threads:[~2025-03-19  1:37 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-18 16:57 [PATCH 0/7] target/riscv: store max SATP mode as a single integer in RISCVCPUConfig Paolo Bonzini
2025-02-18 16:57 ` [PATCH 1/7] hw/riscv: acpi: only create RHCT MMU entry for supported types Paolo Bonzini
2025-03-06  1:13   ` Alistair Francis
2025-03-06 12:11     ` Paolo Bonzini
2025-02-18 16:57 ` [PATCH 2/7] target/riscv: env->misa_mxl is a constant Paolo Bonzini
2025-03-06  1:16   ` Alistair Francis
2025-03-06 13:00     ` Paolo Bonzini
2025-03-07  0:44       ` Alistair Francis
2025-03-10 17:34         ` Paolo Bonzini
2025-03-10 22:18           ` Alistair Francis
2025-03-11  6:17             ` Paolo Bonzini
2025-03-19  1:35               ` Alistair Francis
2025-02-18 16:57 ` [PATCH 3/7] target/riscv: assert argument to set_satp_mode_max_supported is valid Paolo Bonzini
2025-03-06  1:23   ` Alistair Francis
2025-02-18 16:57 ` [PATCH 4/7] target/riscv: cpu: store max SATP mode as a single integer Paolo Bonzini
2025-03-06  1:30   ` Alistair Francis
2025-03-06  2:57   ` Alistair Francis
2025-02-18 16:57 ` [PATCH 5/7] target/riscv: update max_satp_mode based on QOM properties Paolo Bonzini
2025-03-06  1:41   ` Alistair Francis
2025-02-18 16:57 ` [PATCH 6/7] target/riscv: remove supported from RISCVSATPMap Paolo Bonzini
2025-03-06  2:39   ` Alistair Francis
2025-02-18 16:57 ` [PATCH 7/7] target/riscv: move satp_mode.{map,init} out of CPUConfig Paolo Bonzini
2025-03-06  2:42   ` [PATCH 7/7] target/riscv: move satp_mode.{map, init} " Alistair Francis

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