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-dbarb...@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