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 >
