Hi,
I'm sending this new version based on another observation I made during
another follow-up work (I'll post it shortly).
'mmu' and 'pmp' aren't really extensions in the most tradicional sense,
they're more like features. So, in patch 1, I moved both to the new
riscv_cpu_options array.
This was observed when I was trying to match each existing extension
with a priv_spec. I realized that we have 4 missing entries in
isa_edata_arr[] that we're considering as extensions: ext_zmmul, epmp,
mmu and pmp. The first 2 were sent as bug fixes for 8.1. mmu and pmp
were moved to riscv_cpu_options[] to be handled as such.
A small cosmetic change was made in patch 9 as well.
Patches missing review: 1, 3, 4, 8, 10, 11
Changes from v4:
- patch 1:
- add 'mmu' and 'pmp' in riscv_cpu_options
- patch 9:
- changed 'max' cpu 'for' loop to use ARRAY_SIZE()
- v4 link: https://lore.kernel.org/qemu-riscv/20230718210329.200404-1-dbarboza@ventanamicro.com/
Daniel Henrique Barboza (11):
target/riscv/cpu.c: split CPU options from riscv_cpu_extensions[]
target/riscv/cpu.c: skip 'bool' check when filtering KVM props
target/riscv/cpu.c: split kvm prop handling to its own helper
target/riscv/cpu.c: del DEFINE_PROP_END_OF_LIST() from
riscv_cpu_extensions
target/riscv/cpu.c: split vendor exts from riscv_cpu_extensions[]
target/riscv/cpu.c: split non-ratified exts from
riscv_cpu_extensions[]
target/riscv/cpu.c: add ADD_CPU_QDEV_PROPERTIES_ARRAY() macro
target/riscv/cpu.c: add ADD_UNAVAIL_KVM_PROP_ARRAY() macro
target/riscv: add 'max' CPU type
avocado, risc-v: add opensbi tests for 'max' CPU
target/riscv: deprecate the 'any' CPU type
docs/about/deprecated.rst | 12 +++
target/riscv/cpu-qom.h | 1 +
target/riscv/cpu.c | 176 +++++++++++++++++++++++++--------
tests/avocado/riscv_opensbi.py | 16 +++
4 files changed, 164 insertions(+), 41 deletions(-)
--
2.41.0