**/\r
\r
#include <PiPei.h>\r
+#include <Library/ArmPlatformGlobalVariableLib.h>\r
#include <Library/PeiServicesTablePointerLib.h>\r
#include <Library/DebugLib.h>\r
#include <Library/PcdLib.h>\r
VOID\r
EFIAPI\r
SetPeiServicesTablePointer (\r
- IN CONST EFI_PEI_SERVICES ** PeiServicesTablePointer\r
+ IN CONST EFI_PEI_SERVICES **PeiServicesTablePointer\r
)\r
{\r
- UINTN *PeiPtrLoc;\r
ASSERT (PeiServicesTablePointer != NULL);\r
\r
- PeiPtrLoc = (UINTN *)(UINTN)(PcdGet32 (PcdCPUCoresNonSecStackBase) + \r
- (PcdGet32 (PcdCPUCoresNonSecStackSize) / 2) - \r
- PcdGet32 (PcdPeiGlobalVariableSize) +\r
- PcdGet32 (PcdPeiServicePtrGlobalOffset));\r
- *PeiPtrLoc = (UINTN)PeiServicesTablePointer;\r
+ ArmPlatformSetGlobalVariable (PcdGet32 (PcdPeiServicePtrGlobalOffset), sizeof(EFI_PEI_SERVICES **), &PeiServicesTablePointer);\r
}\r
\r
/**\r
@return The pointer to PeiServices.\r
\r
**/\r
-CONST EFI_PEI_SERVICES **\r
+CONST EFI_PEI_SERVICES**\r
EFIAPI\r
GetPeiServicesTablePointer (\r
VOID\r
)\r
{\r
- UINTN *PeiPtrLoc;\r
+ EFI_PEI_SERVICES **PeiServicesTablePointer;\r
\r
- PeiPtrLoc = (UINTN *)(UINTN)(PcdGet32 (PcdCPUCoresNonSecStackBase) + \r
- (PcdGet32 (PcdCPUCoresNonSecStackSize) / 2) - \r
- PcdGet32 (PcdPeiGlobalVariableSize) +\r
- PcdGet32 (PcdPeiServicePtrGlobalOffset));\r
- return (CONST EFI_PEI_SERVICES **)*PeiPtrLoc;\r
+ ArmPlatformGetGlobalVariable (PcdGet32 (PcdPeiServicePtrGlobalOffset), sizeof(EFI_PEI_SERVICES **), &PeiServicesTablePointer);\r
+\r
+ return (CONST EFI_PEI_SERVICES**)PeiServicesTablePointer;\r
}\r
\r
\r