]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Drivers/ArmGic/ArmGicDxe.c
ArmPkg/ArmGic: Introduced ArmGicGetSupportedArchRevision()
[mirror_edk2.git] / ArmPkg / Drivers / ArmGic / ArmGicDxe.c
index 37c32504a50475d8c1384d08d56abedd7c0d9ef3..8be2d6fe5e0f15785a06e5c33aa46e34b58c5686 100644 (file)
@@ -33,6 +33,7 @@ Abstract:
   @retval EFI_SUCCESS           Protocol registered\r
   @retval EFI_OUT_OF_RESOURCES  Cannot allocate protocol data structure\r
   @retval EFI_DEVICE_ERROR      Hardware problems\r
+  @retval EFI_UNSUPPORTED       GIC version not supported\r
 \r
 **/\r
 EFI_STATUS\r
@@ -41,9 +42,16 @@ InterruptDxeInitialize (
   IN EFI_SYSTEM_TABLE   *SystemTable\r
   )\r
 {\r
-  EFI_STATUS  Status;\r
+  EFI_STATUS            Status;\r
+  ARM_GIC_ARCH_REVISION Revision;\r
 \r
-  Status = GicV2DxeInitialize (ImageHandle, SystemTable);\r
+  Revision = ArmGicGetSupportedArchRevision ();\r
+\r
+  if (Revision == ARM_GIC_ARCH_REVISION_2) {\r
+    Status = GicV2DxeInitialize (ImageHandle, SystemTable);\r
+  } else {\r
+    Status = EFI_UNSUPPORTED;\r
+  }\r
 \r
   return Status;\r
 }\r