[PATCH v4 0/6] target/arm: Introduce cpu types max-v8 and max-v9

Richard Henderson posted 6 patches 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260827041557.775080-1-richard.henderson@linaro.org
Maintainers: Peter Maydell <peter.maydell@linaro.org>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, Leif Lindholm <leif.lindholm@oss.qualcomm.com>, Fabiano Rosas <farosas@suse.de>, Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
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
[PATCH v4 0/6] target/arm: Introduce cpu types max-v8 and max-v9
Posted by Richard Henderson 1 month ago
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
Re: [PATCH v4 0/6] target/arm: Introduce cpu types max-v8 and max-v9
Posted by Peter Maydell 3 weeks, 4 days ago
On Thu, 27 Aug 2026 at 05:17, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> 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.
>



Applied to target-arm.next, thanks.

-- PMM