arm64: Require that system registers at all visible ELs be initialized
authorMark Brown <broonie@kernel.org>
Thu, 1 Apr 2021 18:09:41 +0000 (19:09 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 8 Apr 2021 17:39:18 +0000 (18:39 +0100)
commit230800cd315cd5e2093e603cf7ee150b7591ce1a
tree4133a4b7c8d57332ae8b90af2f7c9697bf7dc844
parent31c00d2aeaa2da89361f5b64a64ca831433be5fc
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>
Documentation/arm64/booting.rst