Add ArmReadHcr() to ArmLib to enable read-modify-write of the HCR system
register.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eugene Cohen <eugene@hp.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
IN UINTN Hcr\r
);\r
\r
+UINTN\r
+ArmReadHcr (\r
+ VOID\r
+ );\r
+\r
UINTN\r
ArmReadCurrentEL (\r
VOID\r
GCC_ASM_EXPORT (ArmReadIdPfr0)\r
GCC_ASM_EXPORT (ArmReadIdPfr1)\r
GCC_ASM_EXPORT (ArmWriteHcr)\r
+GCC_ASM_EXPORT (ArmReadHcr)\r
GCC_ASM_EXPORT (ArmReadCurrentEL)\r
\r
.set CTRL_M_BIT, (1 << 0)\r
msr hcr_el2, x0 // Write the passed HCR value\r
ret\r
\r
+// UINTN ArmReadHcr(VOID)\r
+ASM_PFX(ArmReadHcr):\r
+ mrs x0, hcr_el2\r
+ ret\r
+\r
// UINTN ArmReadCurrentEL(VOID)\r
ASM_PFX(ArmReadCurrentEL):\r
mrs x0, CurrentEL\r