diff options
author | Kristina Martsenko <kristina.martsenko@arm.com> | 2024-09-30 17:10:49 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2024-10-17 16:42:51 +0100 |
commit | b616058c6613e1fd3e2bc8d4c05b558c8854aab3 (patch) | |
tree | b6b8cc31bc93b289541a5c0f51623c0f83d56107 /Documentation | |
parent | 13840229d6bd5c191a9ca68ceba0af0fa03d7645 (diff) | |
download | linux-stable-b616058c6613e1fd3e2bc8d4c05b558c8854aab3.tar.gz linux-stable-b616058c6613e1fd3e2bc8d4c05b558c8854aab3.tar.bz2 linux-stable-b616058c6613e1fd3e2bc8d4c05b558c8854aab3.zip |
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>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/arch/arm64/booting.rst | 3 |
1 files changed, 3 insertions, 0 deletions
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: |