On 25 August 2015 at 17:59, Evan Lloyd <[email protected]> wrote: > Some updates to SCR can cause a problem which manifests as an undefined > opcode exception. > This may be when a speculative secure instruction fetch happens after the NS > bit is set. > An isb is required to make the register change take effect fully. > > Contributed-under: Tianocore Contribution Agreement 1.0 > Signed-off-by: Evan Lloyd <[email protected]> > Reviewed-by: Sami Mujawar <[email protected]>
Reviewed-by: Ard Biesheuvel <[email protected]> > --- > diff --git a/ArmPkg/Library/ArmLib/Common/AArch64/ArmLibSupport.S > b/ArmPkg/Library/ArmLib/Common/AArch64/ArmLibSupport.S > index 28db98b..50faef4 100644 > --- a/ArmPkg/Library/ArmLib/Common/AArch64/ArmLibSupport.S > +++ b/ArmPkg/Library/ArmLib/Common/AArch64/ArmLibSupport.S > @@ -184,6 +184,7 @@ ASM_PFX(ArmWriteCptr): > > ASM_PFX(ArmWriteScr): > msr scr_el3, x0 // Secure configuration register EL3 > + isb > ret > > ASM_PFX(ArmWriteMVBar): > diff --git a/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.S > b/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.S > index 43842f3..ffeaed3 100644 > --- a/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.S > +++ b/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.S > @@ -153,6 +153,7 @@ ASM_PFX(ArmReadScr): > > ASM_PFX(ArmWriteScr): > mcr p15, 0, r0, c1, c1, 0 > + isb > bx lr > > ASM_PFX(ArmReadHVBar): > diff --git a/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.asm > b/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.asm > index 8864c16..15bfb6e 100644 > --- a/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.asm > +++ b/ArmPkg/Library/ArmLib/Common/Arm/ArmLibSupport.asm > @@ -153,6 +153,7 @@ ArmReadScr > > ArmWriteScr > mcr p15, 0, r0, c1, c1, 0 > + isb > bx lr > > ArmReadHVBar > > > > -- IMPORTANT NOTICE: The contents of this email and any attachments are > confidential and may also be privileged. If you are not the intended > recipient, please notify the sender immediately and do not disclose the > contents to any other person, use it for any purpose, or store or copy the > information in any medium. Thank you. > > ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, > Registered in England & Wales, Company No: 2557590 > ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, > Registered in England & Wales, Company No: 2548782 > > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

