From: Ard Biesheuvel Date: Wed, 14 Nov 2018 19:27:24 +0000 (-0800) Subject: ArmPkg/ArmGicDxe ARM: fix encoding for GICv3 interrupt acknowledge X-Git-Tag: edk2-stable201903~612 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=66127011a544b90e800eb3619e84c2f94a354903 ArmPkg/ArmGicDxe ARM: fix encoding for GICv3 interrupt acknowledge 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 Reviewed-by: Leif Lindholm --- diff --git a/ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.S b/ArmPkg/Drivers/ArmGic/GicV3/Arm/ArmGicV3.S index a72f3c8651..c308d2fa3e 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 4228fb59be..222047d1ad 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