From 645890ba40ea2980fc85a8b6f013286c4f668075 Mon Sep 17 00:00:00 2001 From: oliviermartin Date: Mon, 26 Mar 2012 10:54:49 +0000 Subject: ArmPkg/Drivers/PL390Gic: Removed acknowledge of special interrupts (spurious interrupt) Cleaning a special interrupt has an unpredictable behaviour. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13129 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPkg/Drivers/PL390Gic/PL390GicDxe.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'ArmPkg/Drivers') diff --git a/ArmPkg/Drivers/PL390Gic/PL390GicDxe.c b/ArmPkg/Drivers/PL390Gic/PL390GicDxe.c index 3292988502..f382431e90 100644 --- a/ArmPkg/Drivers/PL390Gic/PL390GicDxe.c +++ b/ArmPkg/Drivers/PL390Gic/PL390GicDxe.c @@ -259,9 +259,10 @@ IrqInterruptHandler ( HARDWARE_INTERRUPT_HANDLER InterruptHandler; GicInterrupt = MmioRead32 (PcdGet32(PcdGicInterruptInterfaceBase) + ARM_GIC_ICCIAR); - //TODO: Comment me + + // Special Interrupts (ID1020-ID1023) have an Interrupt ID greater than the number of interrupt (ie: Spurious interrupt). if (GicInterrupt >= PcdGet32(PcdGicNumInterrupts)) { - MmioWrite32 (PcdGet32(PcdGicInterruptInterfaceBase) + ARM_GIC_ICCEIOR, GicInterrupt); + // The special interrupt do not need to be acknowledge return; } -- cgit v1.2.3