]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.c
ArmVirtPkg/ArmVirtPL031FdtClientLib: unconditionally disable DT node
[mirror_edk2.git] / ArmVirtPkg / Library / ArmVirtGicArchLib / ArmVirtGicArchLib.c
index a1cd2da2d43a29e18b8c1fa33cd7a1f0bb0f679e..dc1f5155f1fc00862f99f54cc7eca251391499de 100644 (file)
@@ -36,10 +36,12 @@ ArmVirtGicArchLibConstructor (
   UINT32                IccSre;\r
   FDT_CLIENT_PROTOCOL   *FdtClient;\r
   CONST UINT64          *Reg;\r
-  UINT32                RegElemSize, RegSize;\r
+  UINT32                RegSize;\r
+  UINTN                 AddressCells, SizeCells;\r
   UINTN                 GicRevision;\r
   EFI_STATUS            Status;\r
   UINT64                DistBase, CpuBase, RedistBase;\r
+  RETURN_STATUS         PcdStatus;\r
 \r
   Status = gBS->LocateProtocol (&gFdtClientProtocolGuid, NULL,\r
                   (VOID **)&FdtClient);\r
@@ -47,11 +49,13 @@ ArmVirtGicArchLibConstructor (
 \r
   GicRevision = 2;\r
   Status = FdtClient->FindCompatibleNodeReg (FdtClient, "arm,cortex-a15-gic",\r
-                        (CONST VOID **)&Reg, &RegElemSize, &RegSize);\r
+                        (CONST VOID **)&Reg, &AddressCells, &SizeCells,\r
+                        &RegSize);\r
   if (Status == EFI_NOT_FOUND) {\r
     GicRevision = 3;\r
     Status = FdtClient->FindCompatibleNodeReg (FdtClient, "arm,gic-v3",\r
-                          (CONST VOID **)&Reg, &RegElemSize, &RegSize);\r
+                          (CONST VOID **)&Reg, &AddressCells, &SizeCells,\r
+                          &RegSize);\r
   }\r
   if (EFI_ERROR (Status)) {\r
     return Status;\r
@@ -76,14 +80,16 @@ ArmVirtGicArchLibConstructor (
 \r
     // RegProp[0..1] == { GICD base, GICD size }\r
     DistBase = SwapBytes64 (Reg[0]);\r
-    ASSERT (DistBase < MAX_UINT32);\r
+    ASSERT (DistBase < MAX_UINTN);\r
 \r
     // RegProp[2..3] == { GICR base, GICR size }\r
     RedistBase = SwapBytes64 (Reg[2]);\r
-    ASSERT (RedistBase < MAX_UINT32);\r
+    ASSERT (RedistBase < MAX_UINTN);\r
 \r
-    PcdSet64 (PcdGicDistributorBase, DistBase);\r
-    PcdSet64 (PcdGicRedistributorsBase, RedistBase);\r
+    PcdStatus = PcdSet64S (PcdGicDistributorBase, DistBase);\r
+    ASSERT_RETURN_ERROR (PcdStatus);\r
+    PcdStatus = PcdSet64S (PcdGicRedistributorsBase, RedistBase);\r
+    ASSERT_RETURN_ERROR (PcdStatus);\r
 \r
     DEBUG ((EFI_D_INFO, "Found GIC v3 (re)distributor @ 0x%Lx (0x%Lx)\n",\r
       DistBase, RedistBase));\r
@@ -114,11 +120,13 @@ ArmVirtGicArchLibConstructor (
 \r
     DistBase = SwapBytes64 (Reg[0]);\r
     CpuBase  = SwapBytes64 (Reg[2]);\r
-    ASSERT (DistBase < MAX_UINT32);\r
-    ASSERT (CpuBase < MAX_UINT32);\r
+    ASSERT (DistBase < MAX_UINTN);\r
+    ASSERT (CpuBase < MAX_UINTN);\r
 \r
-    PcdSet64 (PcdGicDistributorBase, DistBase);\r
-    PcdSet64 (PcdGicInterruptInterfaceBase, CpuBase);\r
+    PcdStatus = PcdSet64S (PcdGicDistributorBase, DistBase);\r
+    ASSERT_RETURN_ERROR (PcdStatus);\r
+    PcdStatus = PcdSet64S (PcdGicInterruptInterfaceBase, CpuBase);\r
+    ASSERT_RETURN_ERROR (PcdStatus);\r
 \r
     DEBUG ((EFI_D_INFO, "Found GIC @ 0x%Lx/0x%Lx\n", DistBase, CpuBase));\r
 \r