diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S b/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S index d7f9af67be..3beab1609d 100644 --- a/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S +++ b/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S @@ -528,10 +528,12 @@ ASM_FUNC(ArmReadIdAA64Pfr1) ASM_FUNC(ArmSetPan) msr pan, #1 + isb ret ASM_FUNC(ArmClearPan) msr pan, #0 + isb ret ASM_FUNCTION_REMOVE_IF_UNREFERENCED diff --git a/ArmPkg/Library/ArmLib/Arm/ArmLibSupport.S b/ArmPkg/Library/ArmLib/Arm/ArmLibSupport.S index ddf775e829..c635e4fb12 100644 --- a/ArmPkg/Library/ArmLib/Arm/ArmLibSupport.S +++ b/ArmPkg/Library/ArmLib/Arm/ArmLibSupport.S @@ -171,10 +171,12 @@ ASM_FUNC (ArmGetPhysicalAddressBits) ASM_FUNC(ArmSetPan) setpan #1 + isb bx LR ASM_FUNC(ArmClearPan) setpan #0 + isb bx LR ASM_FUNCTION_REMOVE_IF_UNREFERENCED