Hi, Following the discussions made in [1] I decided to go ahead and implement the 'max' CPU type.
It's a CPU that has (almost) all ratified non-vendor extensions enabled by default. Tooling such as libvirt uses this kind of CPU to do capabilities discovery. It's also used for testing purposes. To implement this CPU I did some cleanups in the riscv_cpu_extensions[] array. After this series this array contains only ratified extensions. This is a preliminary step for future changes we're planning to do in the CPU modelling in QEMU, including 'profile' support. Daniel Henrique Barboza (7): 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 vendor exts from riscv_cpu_extensions[] target/riscv/cpu.c: split non-ratified exts from riscv_cpu_extensions[] target/riscv/cpu.c: add a ADD_CPU_PROPERTIES_ARRAY() macro target/riscv: add 'max' CPU type avocado, risc-v: add opensbi tests for 'max' CPU target/riscv/cpu-qom.h | 1 + target/riscv/cpu.c | 106 ++++++++++++++++++++++++++------- tests/avocado/riscv_opensbi.py | 16 +++++ 3 files changed, 103 insertions(+), 20 deletions(-) -- 2.41.0