summaryrefslogtreecommitdiffstats
path: root/ArmPkg
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2025-01-16 17:13:44 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2025-01-17 18:37:27 +0000
commitc9e38d1afbb53f37541730c485398cc23e441b5f (patch)
tree285f559c399b34d53eca0cb75859fd8c8d2fb7aa /ArmPkg
parenteaa60a6b10ecef8499e16da5acbca77f0d8c8e14 (diff)
downloadedk2-c9e38d1afbb53f37541730c485398cc23e441b5f.tar.gz
ArmPkg/ArmGic: Incorporate v3 code from ArmGicLib
Move the remaining code in ArmGicLib into ArmGicDxe, its only user, and drop the dependency on ArmGicLib. Note that ArmGicDxe has an undeclared dependency on ArmLib, so declare that instead. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'ArmPkg')
-rw-r--r--ArmPkg/Drivers/ArmGic/ArmGicDxe.h46
-rw-r--r--ArmPkg/Drivers/ArmGic/ArmGicDxe.inf8
-rw-r--r--ArmPkg/Include/Library/ArmGicLib.h46
3 files changed, 53 insertions, 47 deletions
diff --git a/ArmPkg/Drivers/ArmGic/ArmGicDxe.h b/ArmPkg/Drivers/ArmGic/ArmGicDxe.h
index 4e09989843..733984265b 100644
--- a/ArmPkg/Drivers/ArmGic/ArmGicDxe.h
+++ b/ArmPkg/Drivers/ArmGic/ArmGicDxe.h
@@ -93,4 +93,50 @@ ArmGicGetMaxNumInterrupts (
IN UINTN GicDistributorBase
);
+UINT32
+EFIAPI
+ArmGicV3GetControlSystemRegisterEnable (
+ VOID
+ );
+
+VOID
+EFIAPI
+ArmGicV3SetControlSystemRegisterEnable (
+ IN UINT32 ControlSystemRegisterEnable
+ );
+
+VOID
+EFIAPI
+ArmGicV3EnableInterruptInterface (
+ VOID
+ );
+
+VOID
+EFIAPI
+ArmGicV3DisableInterruptInterface (
+ VOID
+ );
+
+UINTN
+EFIAPI
+ArmGicV3AcknowledgeInterrupt (
+ VOID
+ );
+
+VOID
+EFIAPI
+ArmGicV3EndOfInterrupt (
+ IN UINTN Source
+ );
+
+VOID
+ArmGicV3SetBinaryPointer (
+ IN UINTN BinaryPoint
+ );
+
+VOID
+ArmGicV3SetPriorityMask (
+ IN UINTN Priority
+ );
+
#endif // ARM_GIC_DXE_H_
diff --git a/ArmPkg/Drivers/ArmGic/ArmGicDxe.inf b/ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
index 082a24a2aa..26cc1b740b 100644
--- a/ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
+++ b/ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
@@ -24,13 +24,19 @@
GicV2/ArmGicV2Dxe.c
GicV3/ArmGicV3Dxe.c
+[Sources.ARM]
+ GicV3/Arm/ArmGicV3.S | GCC
+
+[Sources.AARCH64]
+ GicV3/AArch64/ArmGicV3.S
+
[Packages]
MdePkg/MdePkg.dec
EmbeddedPkg/EmbeddedPkg.dec
ArmPkg/ArmPkg.dec
[LibraryClasses]
- ArmGicLib
+ ArmLib
BaseLib
UefiLib
UefiBootServicesTableLib
diff --git a/ArmPkg/Include/Library/ArmGicLib.h b/ArmPkg/Include/Library/ArmGicLib.h
index 4f98df5f1c..02112ebf07 100644
--- a/ArmPkg/Include/Library/ArmGicLib.h
+++ b/ArmPkg/Include/Library/ArmGicLib.h
@@ -122,50 +122,4 @@
#define ARM_GICD_IROUTER_IRM BIT31
-UINT32
-EFIAPI
-ArmGicV3GetControlSystemRegisterEnable (
- VOID
- );
-
-VOID
-EFIAPI
-ArmGicV3SetControlSystemRegisterEnable (
- IN UINT32 ControlSystemRegisterEnable
- );
-
-VOID
-EFIAPI
-ArmGicV3EnableInterruptInterface (
- VOID
- );
-
-VOID
-EFIAPI
-ArmGicV3DisableInterruptInterface (
- VOID
- );
-
-UINTN
-EFIAPI
-ArmGicV3AcknowledgeInterrupt (
- VOID
- );
-
-VOID
-EFIAPI
-ArmGicV3EndOfInterrupt (
- IN UINTN Source
- );
-
-VOID
-ArmGicV3SetBinaryPointer (
- IN UINTN BinaryPoint
- );
-
-VOID
-ArmGicV3SetPriorityMask (
- IN UINTN Priority
- );
-
#endif // ARMGIC_H_