summaryrefslogtreecommitdiff
path: root/ArmPkg/Drivers/ArmGic/ArmGic.c
diff options
context:
space:
mode:
Diffstat (limited to 'ArmPkg/Drivers/ArmGic/ArmGic.c')
-rw-r--r--ArmPkg/Drivers/ArmGic/ArmGic.c29
1 files changed, 4 insertions, 25 deletions
diff --git a/ArmPkg/Drivers/ArmGic/ArmGic.c b/ArmPkg/Drivers/ArmGic/ArmGic.c
index 25bd376027..1717368a7e 100644
--- a/ArmPkg/Drivers/ArmGic/ArmGic.c
+++ b/ArmPkg/Drivers/ArmGic/ArmGic.c
@@ -1,6 +1,6 @@
/** @file
*
-* Copyright (c) 2011-2012, ARM Limited. All rights reserved.
+* Copyright (c) 2011-2013, ARM Limited. All rights reserved.
*
* This program and the accompanying materials
* are licensed and made available under the terms and conditions of the BSD License
@@ -38,35 +38,14 @@ ArmGicSendSgiTo (
MmioWrite32 (GicDistributorBase + ARM_GIC_ICDSGIR, ((TargetListFilter & 0x3) << 24) | ((CPUTargetList & 0xFF) << 16) | SgiId);
}
-RETURN_STATUS
+UINTN
EFIAPI
ArmGicAcknowledgeInterrupt (
- IN UINTN GicDistributorBase,
- IN UINTN GicInterruptInterfaceBase,
- OUT UINTN *CoreId,
- OUT UINTN *InterruptId
+ IN UINTN GicInterruptInterfaceBase
)
{
- UINT32 Interrupt;
-
// Read the Interrupt Acknowledge Register
- Interrupt = MmioRead32 (GicInterruptInterfaceBase + ARM_GIC_ICCIAR);
-
- // Check if it is a valid interrupt ID
- if ((Interrupt & 0x3FF) < ArmGicGetMaxNumInterrupts (GicDistributorBase)) {
- // Got a valid SGI number hence signal End of Interrupt by writing to ICCEOIR
- ArmGicEndOfInterrupt (GicInterruptInterfaceBase, Interrupt);
-
- if (CoreId) {
- *CoreId = (Interrupt >> 10) & 0x7;
- }
- if (InterruptId) {
- *InterruptId = Interrupt & 0x3FF;
- }
- return RETURN_SUCCESS;
- } else {
- return RETURN_INVALID_PARAMETER;
- }
+ return MmioRead32 (GicInterruptInterfaceBase + ARM_GIC_ICCIAR);
}
VOID