This is something that we've talked about for quite some time,
having separate "max" cpu types for Armv{8,9}, because Armv9
prohibits some deprecated Armv8 features. Retaining all features
simultaneously has the potential to cause confusion.
Pierrick, patch 2 replaces the one you posted using ifdefs.
Changes for v4:
- Adjust for single-binary.
Changes for v3:
- Several patches merged.
- max-v8 is also present for qemu-{system-}arm.
r~
Richard Henderson (6):
target/arm: Move -cpu max stuff out of cpu32.c
target/arm: Build cpu32.c once in system mode
target/arm: Rename and adjust aarch32_max_v8_tcg_initfn
target/arm: Introduce cpu types max-v8 and max-v9
target/arm: Use -cpu max-v8 with aarch64=off
target/arm: Separate cpu types max-v8 and max-v9
target/arm/internals.h | 5 +-
hw/arm/sbsa-ref.c | 2 +
hw/arm/virt.c | 2 +
target/arm/cpu-max.c | 4 +-
target/arm/tcg/cpu-max-v8.c | 130 ++++++++++++++
target/arm/tcg/cpu32.c | 116 -------------
target/arm/tcg/cpu64.c | 159 ++++++++++++------
target/arm/tcg/stubs32.c | 7 +-
tests/qtest/arm-cpu-features.c | 4 +-
docs/system/arm/emulation.rst | 13 +-
target/arm/tcg/meson.build | 11 +-
.../aarch64/test_virt_aarch64_off.py | 4 +-
12 files changed, 273 insertions(+), 184 deletions(-)
create mode 100644 target/arm/tcg/cpu-max-v8.c
--
2.53.0