[PATCH 3/5] arm64: mops: Document booting requirement for HCR_EL2.MCE2
Kristina Martsenko
kristina.martsenko at arm.com
Mon Sep 30 09:10:49 PDT 2024
Document that hypervisors must set HCR_EL2.MCE2 and handle MOPS
exceptions when they migrate a vCPU to another type of CPU, as Linux may
not be able to handle the exception at all times.
As one example, when running under nested virtualization, KVM does not
handle MOPS exceptions from the nVHE/hVHE EL2 hyp as the hyp is never
migrated, so the host hypervisor needs to handle them. There may be
other situations (now or in the future) where the kernel can't handle an
unexpected MOPS exception, so require that the hypervisor handles them.
Signed-off-by: Kristina Martsenko <kristina.martsenko at arm.com>
---
Documentation/arch/arm64/booting.rst | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/arch/arm64/booting.rst b/Documentation/arch/arm64/booting.rst
index b57776a68f15..db46af5b9f0f 100644
--- a/Documentation/arch/arm64/booting.rst
+++ b/Documentation/arch/arm64/booting.rst
@@ -385,6 +385,9 @@ Before jumping into the kernel, the following conditions must be met:
- HCRX_EL2.MSCEn (bit 11) must be initialised to 0b1.
+ - HCRX_EL2.MCE2 (bit 10) must be initialised to 0b1. The exception
+ handler must set PSTATE.SS to 0b0.
+
For CPUs with the Extended Translation Control Register feature (FEAT_TCR2):
- If EL3 is present:
--
2.34.1
More information about the linux-arm-kernel
mailing list