]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.c
ArmPlatformPkg/ArmPlatformGlobalVariableLib: Added new function ArmPlatformGetGlobalV...
[mirror_edk2.git] / ArmPlatformPkg / Library / ArmPlatformGlobalVariableLib / Pei / PeiArmPlatformGlobalVariableLib.c
index f82b6b1c5d6477e511bf1f0761503500a51e26f8..78563acae929ac9fc5fa60fd3fbf12234d180d28 100644 (file)
@@ -43,8 +43,6 @@ ArmPlatformGetGlobalVariable (
   } else {
     CopyMem (Variable, (VOID*)(GlobalVariableBase + VariableOffset), VariableSize);
   }
-
-  //DEBUG((EFI_D_ERROR,"++ GET Offset[%d] = 0x%x\n",VariableOffset,*(UINTN*)Variable));
 }
 
 VOID
@@ -68,7 +66,19 @@ ArmPlatformSetGlobalVariable (
   } else {
     CopyMem ((VOID*)(GlobalVariableBase + VariableOffset), Variable, VariableSize);
   }
-
-  //DEBUG((EFI_D_ERROR,"++ SET Offset[%d] = 0x%x\n",VariableOffset,*(UINTN*)Variable));
 }
 
+VOID*
+ArmPlatformGetGlobalVariableAddress (
+  IN  UINTN     VariableOffset
+  )
+{
+  UINTN  GlobalVariableBase;
+
+  // Ensure the Global Variable Size have been initialized
+  ASSERT (VariableOffset < PcdGet32 (PcdPeiGlobalVariableSize));
+
+  GlobalVariableBase = PcdGet32 (PcdCPUCoresStackBase) + PcdGet32 (PcdCPUCorePrimaryStackSize) - PcdGet32 (PcdPeiGlobalVariableSize);
+
+  return (VOID*)(GlobalVariableBase + VariableOffset);
+}