diff options
author | Marc Zyngier <maz@kernel.org> | 2021-08-12 20:02:13 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2021-08-24 16:44:23 +0100 |
commit | e3849765037b85e61b2432ded488ee9fb3ff126d (patch) | |
tree | 6f7986946f8060bbf531a4763b1a4e70abd9b401 /Documentation/arm64/booting.rst | |
parent | 90268574a3e8a6b883bd802d702a2738577e1006 (diff) | |
download | linux-e3849765037b85e61b2432ded488ee9fb3ff126d.tar.gz linux-e3849765037b85e61b2432ded488ee9fb3ff126d.tar.bz2 linux-e3849765037b85e61b2432ded488ee9fb3ff126d.zip |
arm64: Document the requirement for SCR_EL3.HCE
It is amazing that we never documented this absolutely basic
requirement: if you boot the kernel at EL2, you'd better
enable the HVC instruction from EL3.
Really, just do it.
Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20210812190213.2601506-6-maz@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'Documentation/arm64/booting.rst')
-rw-r--r-- | Documentation/arm64/booting.rst | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/Documentation/arm64/booting.rst b/Documentation/arm64/booting.rst index 5822d6da9fa6..3f9d86557c5e 100644 --- a/Documentation/arm64/booting.rst +++ b/Documentation/arm64/booting.rst @@ -207,10 +207,17 @@ Before jumping into the kernel, the following conditions must be met: software at a higher exception level to prevent execution in an UNKNOWN state. - - SCR_EL3.FIQ must have the same value across all CPUs the kernel is - executing on. - - The value of SCR_EL3.FIQ must be the same as the one present at boot - time whenever the kernel is executing. + For all systems: + - If EL3 is present: + + - SCR_EL3.FIQ must have the same value across all CPUs the kernel is + executing on. + - The value of SCR_EL3.FIQ must be the same as the one present at boot + time whenever the kernel is executing. + + - If EL3 is present and the kernel is entered at EL2: + + - SCR_EL3.HCE (bit 8) must be initialised to 0b1. For systems with a GICv3 interrupt controller to be used in v3 mode: - If EL3 is present: |