[PATCH for-9.0 v12 00/18] riscv: rv64i/rva22u64 CPUs, RVA22U64 profile support

Daniel Henrique Barboza posted 18 patches 1 year ago
Only 16 patches received!
hw/riscv/virt.c               |   5 +
target/riscv/cpu-qom.h        |   4 +
target/riscv/cpu.c            | 134 ++++++++++++-
target/riscv/cpu.h            |  13 ++
target/riscv/cpu_cfg.h        |   3 +
target/riscv/kvm/kvm-cpu.c    |   7 +-
target/riscv/riscv-qmp-cmds.c |  44 ++++-
target/riscv/tcg/tcg-cpu.c    | 362 ++++++++++++++++++++++++++++++----
8 files changed, 519 insertions(+), 53 deletions(-)
[PATCH for-9.0 v12 00/18] riscv: rv64i/rva22u64 CPUs, RVA22U64 profile support
Posted by Daniel Henrique Barboza 1 year ago
Hi,

This new version contains naming changes suggested by Drew in v11. We're
also eliminating riscv_cpu_validate_zic64b() and open-coding it inside
riscv_cpu_update_named_features() since it's not worth creating a helper
just to do a single assignment.

Patches based on master. 

All patches acked.

Changes from v11:
- patch 3:
  - rename cpu_validate_multi_ext_priv_ver() to cpu_bump_multi_ext_priv_ver()
- patch 6:
  - rename riscv_cpu_validate_named_features() to riscv_cpu_update_named_features()
  - remove riscv_cpu_validate_zic64b()
- v11 link: https://lore.kernel.org/qemu-riscv/20231123185122.1100436-1-dbarboza@ventanamicro.com/ 


Daniel Henrique Barboza (18):
  target/riscv: create TYPE_RISCV_VENDOR_CPU
  target/riscv/tcg: do not use "!generic" CPU checks
  target/riscv/tcg: update priv_ver on user_set extensions
  target/riscv: add rv64i CPU
  target/riscv: add zicbop extension flag
  target/riscv/tcg: add 'zic64b' support
  riscv-qmp-cmds.c: expose named features in cpu_model_expansion
  target/riscv: add rva22u64 profile definition
  target/riscv/kvm: add 'rva22u64' flag as unavailable
  target/riscv/tcg: add user flag for profile support
  target/riscv/tcg: add MISA user options hash
  target/riscv/tcg: add riscv_cpu_write_misa_bit()
  target/riscv/tcg: handle profile MISA bits
  target/riscv/tcg: add hash table insert helpers
  target/riscv/tcg: honor user choice for G MISA bits
  target/riscv/tcg: validate profiles during finalize
  riscv-qmp-cmds.c: add profile flags in cpu-model-expansion
  target/riscv: add 'rva22u64' CPU

 hw/riscv/virt.c               |   5 +
 target/riscv/cpu-qom.h        |   4 +
 target/riscv/cpu.c            | 134 ++++++++++++-
 target/riscv/cpu.h            |  13 ++
 target/riscv/cpu_cfg.h        |   3 +
 target/riscv/kvm/kvm-cpu.c    |   7 +-
 target/riscv/riscv-qmp-cmds.c |  44 ++++-
 target/riscv/tcg/tcg-cpu.c    | 362 ++++++++++++++++++++++++++++++----
 8 files changed, 519 insertions(+), 53 deletions(-)

-- 
2.41.0