On Wed, Nov 14, 2018 at 11:27:24AM -0800, Ard Biesheuvel wrote: > Fix a typo in the 32-bit ARM version of the GICv3 driver, which uses > the wrong system register encoding to access ICC_IAR1, and attempted > to access ICC_IAR0 instead. This results in boot time hangs both > under QEMU emulation and on real hardware. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ard Biesheuvel <[email protected]>
Reviewed-by: Leif Lindholm <[email protected]> I would say given how long we've gone without finding this, it's not justifiable to push this before the stable tag is made - so please hold off on pushing it until we open the flood gates. / Leif > --- > ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.S | 2 +- > ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.asm | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.S > b/ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.S > index a72f3c865163..c308d2fa3e2f 100644 > --- a/ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.S > +++ b/ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.S > @@ -66,7 +66,7 @@ ASM_FUNC(ArmGicV3EndOfInterrupt) > // VOID > // ); > ASM_FUNC(ArmGicV3AcknowledgeInterrupt) > - mrc p15, 0, r0, c12, c8, 0 //ICC_IAR1 > + mrc p15, 0, r0, c12, c12, 0 //ICC_IAR1 > bx lr > > //VOID > diff --git a/ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.asm > b/ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.asm > index 4228fb59be54..222047d1ad43 100644 > --- a/ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.asm > +++ b/ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.asm > @@ -66,7 +66,7 @@ > // VOID > // ); > RVCT_ASM_EXPORT ArmGicV3AcknowledgeInterrupt > - mrc p15, 0, r0, c12, c8, 0 //ICC_IAR1 > + mrc p15, 0, r0, c12, c12, 0 //ICC_IAR1 > bx lr > > //VOID > -- > 2.17.1 > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

