[PATCH v2 0/2] arm64: Allow erratum 1418040 for late CPUs
Marc Zyngier
maz at kernel.org
Fri Jul 31 04:33:56 EDT 2020
Erratum 1418040 currently prevents a late CPU from booting if none
of the early CPUs are affected by it. This is because the handling
is implemented as alternatives, and we have already got rid of them
by the time userspace onlines a new CPU.
A solution to this is to move everything into C code, and rely on
static keys instead. Once this is done, the feature can be allowed
for late CPUs.
Note that CPUs affected by 1418040 also tend to miss AArch32-EL1,
meaning they cannot be used as late CPUs when KVM is enabled and
that their sibblings have AArch32-EL1.
* From v1:
- Dropped check for kernel threads
- Added comment describing the switching logic
- Made the errata handling function __always_inline
Marc Zyngier (2):
arm64: Move handling of erratum 1418040 into C code
arm64: Allow booting of late CPUs affected by erratum 1418040
arch/arm64/kernel/cpu_errata.c | 2 ++
arch/arm64/kernel/entry.S | 21 --------------------
arch/arm64/kernel/process.c | 35 ++++++++++++++++++++++++++++++++++
3 files changed, 37 insertions(+), 21 deletions(-)
--
2.27.0
More information about the linux-arm-kernel
mailing list