[PATCH 0/6] An alternative series for asymmetric AArch32 systems

Will Deacon will at kernel.org
Tue Oct 27 17:51:12 EDT 2020


Hi all,

I was playing around with the asymmetric AArch32 RFCv2 from Qais:

https://lore.kernel.org/r/20201021104611.2744565-1-qais.yousef@arm.com

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 at arm.com>
Cc: Marc Zyngier <maz at kernel.org>
Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Morten Rasmussen <morten.rasmussen at arm.com>
Cc: Qais Yousef <qais.yousef at arm.com>
Cc: Suren Baghdasaryan <surenb at google.com>
Cc: kernel-team at android.com

--->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




More information about the linux-arm-kernel mailing list