Hi all, I was playing around with the asymmetric AArch32 RFCv2 from Qais: https://lore.kernel.org/r/20201021104611.2744565-1-qais.yousef@xxxxxxx and ended up writing my own implementation this afternoon. I think it's smaller, simpler and easier to work with. In particular: * I got rid of the sysctl in favour of a plain cmdline parameter * I don't have a new CPU capability * I don't have a new thread flag * I expose a cpumask to userspace via sysfs to identify the 32-bit CPUs Anyway, I don't think we should merge this stuff (other than the first patch) until we've figured out what's going on in Android, but I wanted to get this out as something which we might be able to build on. Cheers, Will Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Marc Zyngier <maz@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Morten Rasmussen <morten.rasmussen@xxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxx> Cc: Suren Baghdasaryan <surenb@xxxxxxxxxx> Cc: kernel-team@xxxxxxxxxxx --->8 Qais Yousef (1): KVM: arm64: Handle Asymmetric AArch32 systems Will Deacon (5): arm64: Allow mismatched 32-bit EL0 support KVM: arm64: Kill 32-bit vCPUs on systems with mismatched EL0 support arm64: Kill 32-bit applications scheduled on 64-bit-only CPUs arm64: Advertise CPUs capable of running 32-bit applcations in sysfs arm64: Hook up cmdline parameter to allow mismatched 32-bit EL0 .../ABI/testing/sysfs-devices-system-cpu | 8 ++ .../admin-guide/kernel-parameters.txt | 7 ++ arch/arm64/include/asm/cpufeature.h | 3 + arch/arm64/kernel/cpufeature.c | 80 ++++++++++++++++++- arch/arm64/kernel/process.c | 21 ++++- arch/arm64/kernel/signal.c | 26 ++++++ arch/arm64/kvm/arm.c | 27 +++++++ 7 files changed, 168 insertions(+), 4 deletions(-) -- 2.29.0.rc2.309.g374f81d7ae-goog