mbox series

[v3,0/6] target/riscv: RVA23 profile support

Message ID 20250115134957.2179085-1-dbarboza@ventanamicro.com (mailing list archive)
Headers show
Series target/riscv: RVA23 profile support | expand

Message

Daniel Henrique Barboza Jan. 15, 2025, 1:49 p.m. UTC
Hi,

In this new version we're now implementing u-mode and s-mode profile
dependencies, as suggested by Drew in v2. This makes implementing s-mode
profiles easier since those profiles usually inherits from both their
equivalent u-mode profiles and from a previous s-mode profile.

This is done in patch 3. Patch 4 is a change made to prevent a warning
that will occur after patch 6, where we're adding RVA23S64 by making it
dependent on both RVA23U64 and RVA22S64.

Patches based on alistair/riscv-to-apply.next.

Changes from v2:
- patch 3 (new):
  - add u_parent and s_parent attributes in RISCVCPUProfile
- patch 4 (new):
  - do not issue warnings when a profile runs in a newer priv_ver 
- patch 6 (former 4):
  - add RVA22S64 as the s_parent of RVA23S64. Declare RVA23S64 by listing
    just its own exclusive extensions
- v2 link: https://lore.kernel.org/qemu-riscv/20250114190001.1650942-1-dbarboza@ventanamicro.com/

Daniel Henrique Barboza (6):
  target/riscv: add ssu64xl
  target/riscv: use RVB in RVA22U64
  target/riscv: add profile u_parent and s_parent
  target/riscv: change priv_ver check in validate_profile()
  target/riscv: add RVA23U64 profile
  target/riscv: add RVA23S64 profile

 target/riscv/cpu-qom.h            |   2 +
 target/riscv/cpu.c                |  81 ++++++++++++++++++++++++++++--
 target/riscv/cpu.h                |   3 +-
 target/riscv/tcg/tcg-cpu.c        |  37 ++++++++++----
 tests/data/acpi/riscv64/virt/RHCT | Bin 390 -> 400 bytes
 5 files changed, 109 insertions(+), 14 deletions(-)