X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=ArmPlatformPkg%2FLibrary%2FArmPlatformGlobalVariableLib%2FSec%2FSecArmPlatformGlobalVariableLib.c;h=f5d7bb54a3574091416ee8b4a5955fd9f33b101a;hp=847d2b7e816f55d6a626c9f6c34501af4d8f623c;hb=d9efd68ef54883f8142d833212d66870248c0dd7;hpb=f437141a9cf4ce1052566a3b2bf656383f488d4a diff --git a/ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Sec/SecArmPlatformGlobalVariableLib.c b/ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Sec/SecArmPlatformGlobalVariableLib.c index 847d2b7e81..f5d7bb54a3 100644 --- a/ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Sec/SecArmPlatformGlobalVariableLib.c +++ b/ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Sec/SecArmPlatformGlobalVariableLib.c @@ -65,3 +65,17 @@ ArmPlatformSetGlobalVariable ( } } +VOID* +ArmPlatformGetGlobalVariableAddress ( + IN UINTN VariableOffset + ) +{ + UINTN GlobalVariableBase; + + // Ensure the Global Variable Size have been initialized + ASSERT (VariableOffset < PcdGet32 (PcdSecGlobalVariableSize)); + + GlobalVariableBase = PcdGet32 (PcdCPUCoresSecStackBase) + PcdGet32 (PcdCPUCoreSecPrimaryStackSize) - PcdGet32 (PcdSecGlobalVariableSize); + + return (VOID*)(GlobalVariableBase + VariableOffset); +}