summaryrefslogtreecommitdiffstats
path: root/ArmPkg/Drivers/ArmGic/ArmGicLib.c
diff options
context:
space:
mode:
Diffstat (limited to 'ArmPkg/Drivers/ArmGic/ArmGicLib.c')
-rw-r--r--ArmPkg/Drivers/ArmGic/ArmGicLib.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/ArmPkg/Drivers/ArmGic/ArmGicLib.c b/ArmPkg/Drivers/ArmGic/ArmGicLib.c
index c0f3bfb4c2..666008638c 100644
--- a/ArmPkg/Drivers/ArmGic/ArmGicLib.c
+++ b/ArmPkg/Drivers/ArmGic/ArmGicLib.c
@@ -16,6 +16,8 @@
#include <Library/ArmGicLib.h>
#include <Library/IoLib.h>
+#include "GicV2/ArmGicV2Lib.h"
+
UINTN
EFIAPI
ArmGicGetInterfaceIdentification (
@@ -53,8 +55,7 @@ ArmGicAcknowledgeInterrupt (
IN UINTN GicInterruptInterfaceBase
)
{
- // Read the Interrupt Acknowledge Register
- return MmioRead32 (GicInterruptInterfaceBase + ARM_GIC_ICCIAR);
+ return ArmGicV2AcknowledgeInterrupt (GicInterruptInterfaceBase);
}
VOID
@@ -64,7 +65,7 @@ ArmGicEndOfInterrupt (
IN UINTN Source
)
{
- MmioWrite32 (GicInterruptInterfaceBase + ARM_GIC_ICCEIOR, Source);
+ ArmGicV2EndOfInterrupt (GicInterruptInterfaceBase, Source);
}
VOID
@@ -129,3 +130,21 @@ ArmGicDisableDistributor (
// Disable Gic Distributor
MmioWrite32 (GicDistributorBase + ARM_GIC_ICDDCR, 0x0);
}
+
+VOID
+EFIAPI
+ArmGicEnableInterruptInterface (
+ IN INTN GicInterruptInterfaceBase
+ )
+{
+ return ArmGicV2EnableInterruptInterface (GicInterruptInterfaceBase);
+}
+
+VOID
+EFIAPI
+ArmGicDisableInterruptInterface (
+ IN INTN GicInterruptInterfaceBase
+ )
+{
+ return ArmGicV2DisableInterruptInterface (GicInterruptInterfaceBase);
+}