Skip to content

Commit b616058

Browse files
kristina-martsenkoctmarinas
authored andcommitted
arm64: mops: Document booting requirement for HCR_EL2.MCE2
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@arm.com> Link: https://lore.kernel.org/r/20240930161051.3777828-4-kristina.martsenko@arm.com Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
1 parent 1384022 commit b616058

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

Documentation/arch/arm64/booting.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,9 @@ Before jumping into the kernel, the following conditions must be met:
385385

386386
- HCRX_EL2.MSCEn (bit 11) must be initialised to 0b1.
387387

388+
- HCRX_EL2.MCE2 (bit 10) must be initialised to 0b1. The exception
389+
handler must set PSTATE.SS to 0b0.
390+
388391
For CPUs with the Extended Translation Control Register feature (FEAT_TCR2):
389392

390393
- If EL3 is present:

0 commit comments

Comments
 (0)