[PATCH v10 00/18] rv64i and rva22u64 CPUs, RVA22U64 profile support

Daniel Henrique Barboza posted 18 patches 1 year ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20231103134629.561732-1-dbarboza@ventanamicro.com
Maintainers: Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Bin Meng <bin.meng@windriver.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>
There is a newer version of this series
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    | 350 ++++++++++++++++++++++++++++++----
8 files changed, 507 insertions(+), 53 deletions(-)
[PATCH v10 00/18] rv64i and rva22u64 CPUs, RVA22U64 profile support
Posted by Daniel Henrique Barboza 1 year ago
Hi,

This new version contains changes proposed by Drew in v9. The most
notable change is the drop of the 'max' CPU profile restriction. 

Patches based on Alistair's riscv-to-apply.next. 

All patches acked.

- patch 3:
  - move the 'priv_spec' comment to cpu_validate_multi_ext_priv_ver()
    right before the version is bumped
- patch 4:
  - Fixed 'Bare CPUs' comment in set_satp_mode_default_map()
  - Changed rv64i_bare_cpu_init() comment to "Set to QEMU's first
    supported priv version"
- patch 10:
  - removed 'priv_spec' comment from cpu_set_profile()
- patch 18:
  - added a DEFINE_PROFILE_CPU() macro
  - renamed rva22u64_bare_cpu_init() to rva22u64_profile_cpu_init()
- patch 19: dropped
- v9 link: https://lore.kernel.org/qemu-riscv/20231102224445.527355-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    | 350 ++++++++++++++++++++++++++++++----
 8 files changed, 507 insertions(+), 53 deletions(-)

-- 
2.41.0