arm64: Explicitly require that FPSIMD instructions do not trap
authorMark Brown <broonie@kernel.org>
Mon, 12 Apr 2021 15:19:54 +0000 (16:19 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 30 Apr 2021 17:53:43 +0000 (18:53 +0100)
We do not explicitly require that systems with FPSIMD support and EL3 have
disabled EL3 traps when the kernel is started, while it is unlikely that
systems will get this wrong for the sake of completeness let's spell it
out.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20210412151955.16078-3-broonie@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Documentation/arm64/booting.rst

index b21049ab6c6956147a6fa6c51f6e5b1b621b612c..4d0e323c0a35dfb0f99fe2a0c5f710b604f18414 100644 (file)
@@ -277,6 +277,16 @@ Before jumping into the kernel, the following conditions must be met:
 
     - SCR_EL3.FGTEn (bit 27) must be initialised to 0b1.
 
+  For CPUs with Advanced SIMD and floating point support:
+
+  - If EL3 is present:
+
+    - CPTR_EL3.TFP (bit 10) must be initialised to 0b0.
+
+  - If EL2 is present and the kernel is entered at EL1:
+
+    - CPTR_EL2.TFP (bit 10) must be initialised to 0b0.
+
 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.  Where the values documented