summaryrefslogtreecommitdiff
path: root/ArmPkg/Drivers
diff options
context:
space:
mode:
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-03-26 10:54:49 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-03-26 10:54:49 +0000
commit645890ba40ea2980fc85a8b6f013286c4f668075 (patch)
tree9a7f381c1bf1b56b81ea7249bf77a3e9bad68fb1 /ArmPkg/Drivers
parent1dc483b30ed3b67e6051f6d7592fce9b96d8bec6 (diff)
downloadedk2-platforms-645890ba40ea2980fc85a8b6f013286c4f668075.tar.xz
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
Diffstat (limited to 'ArmPkg/Drivers')
-rw-r--r--ArmPkg/Drivers/PL390Gic/PL390GicDxe.c5
1 files changed, 3 insertions, 2 deletions
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;
}