summaryrefslogtreecommitdiffstats
path: root/ArmPlatformPkg
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 /ArmPlatformPkg
parent3299c36ba181b1e7d23987f94cad688e2ea67223 (diff)
downloadedk2-6f07aeb49c2d94e460cbd3f36b8cfa81355c825f.tar.gz
edk2-6f07aeb49c2d94e460cbd3f36b8cfa81355c825f.tar.bz2
edk2-6f07aeb49c2d94e460cbd3f36b8cfa81355c825f.zip
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>
Diffstat (limited to 'ArmPlatformPkg')
-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