arm64: Document requirements for fine grained traps at boot
authorMark Brown <broonie@kernel.org>
Thu, 1 Apr 2021 18:09:39 +0000 (19:09 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 8 Apr 2021 17:39:17 +0000 (18:39 +0100)
The arm64 FEAT_FGT extension introduces a set of traps to EL2 for accesses
to small sets of registers and instructions from EL1 and EL0, access to
which is controlled by EL3.  Require access to it so that it is
available to us in future and so that we can ensure these traps are
disabled during boot.

Signed-off-by: Mark Brown <broonie@kernel.org>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210401180942.35815-2-broonie@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Documentation/arm64/booting.rst

index 7552dbc1cc54c76d9b6ea3b6983d9ee800453d84..92ec0bea1af5b232b7c951d82363918dbae52878 100644 (file)
@@ -270,6 +270,12 @@ Before jumping into the kernel, the following conditions must be met:
       having 0b1 set for the corresponding bit for each of the auxiliary
       counters present.
 
+  For CPUs with the Fine Grained Traps (FEAT_FGT) extension present:
+
+  - If EL3 is present and the kernel is entered at EL2:
+
+    - SCR_EL3.FGTEn (bit 27) must be initialised to 0b1.
+
 The requirements described above for CPU mode, caches, MMUs, architected
 timers, coherency and system registers apply to all CPUs.  All CPUs must
 enter the kernel in the same exception level.