]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Library/ArmGicArchLib/AArch64/ArmGicArchLib.c
ArmPkg: cache detected revision in ArmGicArchLib
[mirror_edk2.git] / ArmPkg / Library / ArmGicArchLib / AArch64 / ArmGicArchLib.c
index 0e0fa3b9f33e2adccaae7bca03a32189ec76b948..9853c7ba85661ee477fa1246a2c0a9998fd0aef1 100644 (file)
 #include <Library/ArmLib.h>\r
 #include <Library/ArmGicLib.h>\r
 \r
-ARM_GIC_ARCH_REVISION\r
+STATIC ARM_GIC_ARCH_REVISION        mGicArchRevision;\r
+\r
+RETURN_STATUS\r
 EFIAPI\r
-ArmGicGetSupportedArchRevision (\r
+ArmGicArchLibInitialize (\r
   VOID\r
   )\r
 {\r
@@ -43,9 +45,22 @@ ArmGicGetSupportedArchRevision (
       IccSre = ArmGicV3GetControlSystemRegisterEnable ();\r
     }\r
     if (IccSre & ICC_SRE_EL2_SRE) {\r
-      return ARM_GIC_ARCH_REVISION_3;\r
+      mGicArchRevision = ARM_GIC_ARCH_REVISION_3;\r
+      goto Done;\r
     }\r
   }\r
 \r
-  return ARM_GIC_ARCH_REVISION_2;\r
+  mGicArchRevision = ARM_GIC_ARCH_REVISION_2;\r
+\r
+Done:\r
+  return RETURN_SUCCESS;\r
+}\r
+\r
+ARM_GIC_ARCH_REVISION\r
+EFIAPI\r
+ArmGicGetSupportedArchRevision (\r
+  VOID\r
+  )\r
+{\r
+  return mGicArchRevision;\r
 }\r