On Thu, Oct 2, 2025 at 12:16 PM Peter Maydell <[email protected]> wrote:
>
> This patchset relaxes our current constraint that we only permit
> -cpu foo,aarch64=off on KVM CPUs, so that you can also use this
> to run a TCG CPU with aarch64 disabled. This is useful because
> currently if you want a 32-bit TCG CPU you're limited to either
> 'max' in qemu-system-arm or else the old v7-only CPUs like a15.
>
> I had a look at this last year, but never actually got the changes
> into a completed state before I moved onto other things. Clément
> asked about this the other day, so I figured I'd send out the
> patches I had.

Thanks for the patches.
I've been able to test a couple of our internal testsuites over ARM
Linux (based on Yocto images) using both `cortex-a53,aarch64=off` and
`max,aarch64=off` on the virt machine. Everything went right including
the migration features we are using (basically, "migrate" to file and
later -incoming from that file). Hence,

Tested-by: Clément Chigot <[email protected]>

I'll let more relevant people do the review though.

Side note, IMO it would make sense to add another test under
function/arm/virt asserting this feature.

Thanks,
Clément

> The series is RFC because:
>  * I haven't tested it enough; in particular I don't think
>    I checked that the "clear the AArch64 ID register values"
>    patch doesn't break KVM aarch64=off (including not breaking
>    migration). If it does we might have to make the "clear regs"
>    only be done for TCG, but that seems a bit hacky...
>  * I haven't checked that we forbid weird property combos like
>    '-cpu max,aarch64=off,sve=on'
>
> But I did do the work of looking through the codebase at where
> we test ARM_FEATURE_AARCH64 to confirm that it really is the
> right thing to test and we weren't using it any places where we
> should instead have been checking ARM_FEATURE_V8 or something
> else instead.
>
> thanks
> -- PMM
>
> Peter Maydell (2):
>   target/arm: Clear AArch64 ID regs from ARMISARegisters if AArch64
>     disabled
>   target/arm: Allow 'aarch64=off' to be set for TCG CPUs
>
>  docs/system/arm/cpu-features.rst |  7 ++--
>  target/arm/cpu-features.h        |  5 +++
>  target/arm/cpu.h                 |  3 +-
>  target/arm/cpu.c                 | 61 +++++++++++++++++++++++++++++---
>  tests/qtest/arm-cpu-features.c   |  8 ++---
>  5 files changed, 70 insertions(+), 14 deletions(-)
>
> --
> 2.43.0
>

Reply via email to