X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ArmPlatformPkg%2FLibrary%2FArmPlatformGlobalVariableLib%2FPei%2FPeiArmPlatformGlobalVariableLib.c;h=78563acae929ac9fc5fa60fd3fbf12234d180d28;hb=d9efd68ef54883f8142d833212d66870248c0dd7;hp=f82b6b1c5d6477e511bf1f0761503500a51e26f8;hpb=f15f91a22f4eef381be51f5dc491c04f76cd1b58;p=mirror_edk2.git diff --git a/ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.c b/ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.c index f82b6b1c5d..78563acae9 100644 --- a/ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.c +++ b/ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.c @@ -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); +}