#include <Library/PeiServicesTablePointerLib.h>\r
#include <Library/DebugLib.h>\r
\r
-STATIC EFI_PEI_SERVICES **gPeiServices;\r
+CONST EFI_PEI_SERVICES **gPeiServices;\r
\r
/**\r
- The function cache the pointer of PEI services to global variable.\r
+ The function set the pointer of PEI services immediately preceding the IDT table\r
+ according to PI specification.\r
\r
- @param PeiServices The address of PeiServices pointer.\r
+ @param PeiServicesTablePointer The address of PeiServices pointer.\r
**/\r
VOID\r
EFIAPI\r
SetPeiServicesTablePointer (\r
- IN EFI_PEI_SERVICES **PeiServices\r
+ IN CONST EFI_PEI_SERVICES ** PeiServicesTablePointer\r
)\r
{\r
- gPeiServices = PeiServices;\r
+ gPeiServices = PeiServicesTablePointer;\r
}\r
\r
/**\r
\r
**/\r
CONST EFI_PEI_SERVICES **\r
+EFIAPI\r
GetPeiServicesTablePointer (\r
VOID\r
)\r
{\r
ASSERT (gPeiServices != NULL);\r
- return (CONST EFI_PEI_SERVICES **) gPeiServices;\r
+ return gPeiServices;\r
}\r
\r
\r
EFI_STATUS\r
EFIAPI\r
PeiServicesTablePointerLibConstructor (\r
- IN EFI_PEI_FILE_HANDLE FileHandle,\r
- IN EFI_PEI_SERVICES **PeiServices\r
+ IN EFI_PEI_FILE_HANDLE FileHandle,\r
+ IN CONST EFI_PEI_SERVICES **PeiServices\r
)\r
{\r
gPeiServices = PeiServices;\r