X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=ArmPlatformPkg%2FLibrary%2FPeiServicesTablePointerLib%2FPeiServicesTablePointer.c;h=cb0041f90dc8c1361245d054a414546a3693f5b3;hp=0e6755d3aa015cdbaaefbf0d71869c339fa559ae;hb=8fc38a3f50915b6b11b48f830f6c7b091dbb35d8;hpb=5b1928ffd6c03d171a06b89542d25ed01562c1eb diff --git a/ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c b/ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c index 0e6755d3aa..cb0041f90d 100644 --- a/ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c +++ b/ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c @@ -16,6 +16,7 @@ **/ #include +#include #include #include #include @@ -33,17 +34,12 @@ VOID EFIAPI SetPeiServicesTablePointer ( - IN CONST EFI_PEI_SERVICES ** PeiServicesTablePointer + IN CONST EFI_PEI_SERVICES **PeiServicesTablePointer ) { - UINTN *PeiPtrLoc; ASSERT (PeiServicesTablePointer != NULL); - PeiPtrLoc = (UINTN *)(UINTN)(PcdGet32 (PcdCPUCoresNonSecStackBase) + - (PcdGet32 (PcdCPUCoresNonSecStackSize) / 2) - - PcdGet32 (PcdPeiGlobalVariableSize) + - PcdGet32 (PcdPeiServicePtrGlobalOffset)); - *PeiPtrLoc = (UINTN)PeiServicesTablePointer; + ArmPlatformSetGlobalVariable (PcdGet32 (PcdPeiServicePtrGlobalOffset), sizeof(EFI_PEI_SERVICES **), &PeiServicesTablePointer); } /** @@ -58,19 +54,17 @@ SetPeiServicesTablePointer ( @return The pointer to PeiServices. **/ -CONST EFI_PEI_SERVICES ** +CONST EFI_PEI_SERVICES** EFIAPI GetPeiServicesTablePointer ( VOID ) { - UINTN *PeiPtrLoc; + EFI_PEI_SERVICES **PeiServicesTablePointer; - PeiPtrLoc = (UINTN *)(UINTN)(PcdGet32 (PcdCPUCoresNonSecStackBase) + - (PcdGet32 (PcdCPUCoresNonSecStackSize) / 2) - - PcdGet32 (PcdPeiGlobalVariableSize) + - PcdGet32 (PcdPeiServicePtrGlobalOffset)); - return (CONST EFI_PEI_SERVICES **)*PeiPtrLoc; + ArmPlatformGetGlobalVariable (PcdGet32 (PcdPeiServicePtrGlobalOffset), sizeof(EFI_PEI_SERVICES **), &PeiServicesTablePointer); + + return (CONST EFI_PEI_SERVICES**)PeiServicesTablePointer; }