aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2021-04-01 19:09:41 +0100
committerCatalin Marinas <catalin.marinas@arm.com>2021-04-08 18:39:18 +0100
commit230800cd315cd5e2093e603cf7ee150b7591ce1a (patch)
tree4133a4b7c8d57332ae8b90af2f7c9697bf7dc844
parentarm64: Disable fine grained traps on boot (diff)
downloadlinux-dev-230800cd315cd5e2093e603cf7ee150b7591ce1a.tar.xz
linux-dev-230800cd315cd5e2093e603cf7ee150b7591ce1a.zip
arm64: Require that system registers at all visible ELs be initialized
Currently we require that software at a higher exception level initialise all registers at the exception level the kernel will be entered prior to starting the kernel in order to ensure that there is nothing uninitialised which could result in an UNKNOWN state while running the kernel. The expectation is that the software running at the highest exception levels will be tightly coupled to the system and can ensure that all available features are appropriately initialised and that the kernel can initialise anything else. There is a gap here in the case where new registers are added to lower exception levels that require initialisation but the kernel does not yet understand them. Extend the requirement to also include exception levels below the one where the kernel is entered to cover this. Suggested-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Mark Brown <broonie@kernel.org> Acked-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20210401180942.35815-4-broonie@kernel.org Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r--Documentation/arm64/booting.rst7
1 files changed, 4 insertions, 3 deletions
diff --git a/Documentation/arm64/booting.rst b/Documentation/arm64/booting.rst
index 92ec0bea1af5..4fcc00add117 100644
--- a/Documentation/arm64/booting.rst
+++ b/Documentation/arm64/booting.rst
@@ -202,9 +202,10 @@ Before jumping into the kernel, the following conditions must be met:
- System registers
- All writable architected system registers at the exception level where
- the kernel image will be entered must be initialised by software at a
- higher exception level to prevent execution in an UNKNOWN state.
+ All writable architected system registers at or below the exception
+ level where the kernel image will be entered must be initialised by
+ 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.