[PATCH v2 0/3] arm64: Dealing with VHE-only CPUs
Marc Zyngier
maz at kernel.org
Tue Mar 30 18:39:44 BST 2021
This short series is a rewrite of [0] after some reviewing from
Will. It simplifies the esoteric "stay at EL2" path, and move the
feature override code where it actually belongs, allowing us to tell
the user that no, nVHE isn't a thing on these system.
Additional bonus: the box can now boot without CONFIG_ARM64_VHE (and
without KVM, of course), though that's a pretty weird state.
This allows the infamous M1 to boot (tested on a M1 Mini).
Hector, feel free to pull these two patches as a preamble to the next
version of your series, though I'd expect this to go via the arm64
tree for obvious reasons.
* From v1 [1]:
- added a comment describing the mapping various states
the override mask/val tuple can describe
- added a patch to prevent KVM from initialising, treating
the lact of CONFIG_ARM64_VHE as a mismatched boot
[0] https://lore.kernel.org/r/20210304213902.83903-2-marcan@marcan.st
[1] https://lore.kernel.org/r/20210325124721.941182-1-maz@kernel.org
Marc Zyngier (3):
arm64: cpufeature: Allow early filtering of feature override
arm64: Cope with CPUs stuck in VHE mode
arm64: Allow nVHE impaired CPUs to boot without CONFIG_ARM64_VHE
arch/arm64/include/asm/cpufeature.h | 17 +++++++++++++
arch/arm64/include/asm/virt.h | 18 +++++++++----
arch/arm64/kernel/cpufeature.c | 6 +++++
arch/arm64/kernel/head.S | 39 ++++++++++++++++++++++++++---
arch/arm64/kernel/hyp-stub.S | 8 +++---
arch/arm64/kernel/idreg-override.c | 26 ++++++++++++++++++-
arch/arm64/kvm/va_layout.c | 9 +++++++
7 files changed, 110 insertions(+), 13 deletions(-)
--
2.29.2
More information about the linux-arm-kernel
mailing list