summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJessica Clarke <jrtc27@jrtc27.com>2024-11-06 21:01:07 +0000
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2024-11-14 06:25:27 +0000
commit6f07aeb49c2d94e460cbd3f36b8cfa81355c825f (patch)
tree814fc6c80abfff6ec1025c99095d88eec8f5a29e
parent3299c36ba181b1e7d23987f94cad688e2ea67223 (diff)
downloadedk2-6f07aeb49c2d94e460cbd3f36b8cfa81355c825f.tar.gz
ArmPlatformPkg: Document that we don't support HCR_EL2.E2H being set
The existing code here predates its existence as it's assuming that CPTR_EL2 has the traditional layout rather than being like CPACR_EL1 (likely also true elsewhere for other registers), and the UEFI spec has nothing to say on the matter. One assumes the intent is that if you're in EL2 you're in EL2 proper, and it would be very strange to enter EDK2 with E2H set. Document this existing assumption. Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
-rw-r--r--ArmPlatformPkg/Sec/AArch64/Helper.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/ArmPlatformPkg/Sec/AArch64/Helper.S b/ArmPlatformPkg/Sec/AArch64/Helper.S
index c784c4a1cd..121f99838c 100644
--- a/ArmPlatformPkg/Sec/AArch64/Helper.S
+++ b/ArmPlatformPkg/Sec/AArch64/Helper.S
@@ -28,6 +28,8 @@ ASM_FUNC(SetupExceptionLevel2)
orr x0, x0, #(1 << 5) // Enable EL2 SError and Abort
msr hcr_el2, x0 // Write back our settings
+ // NB: We assume that we have not been entered on VHE systems with
+ // HCR_EL2.E2H set.
msr cptr_el2, xzr // Disable copro traps to EL2
// Enable Timer access for non-secure EL1 and EL0