\r
VOID\r
InitializePpiServices (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_CORE_INSTANCE *PrivateData,\r
IN PEI_CORE_INSTANCE *OldCoreData\r
)\r
/*++\r
\r
--*/\r
{\r
- PEI_CORE_INSTANCE *PrivateData;\r
- \r
if (OldCoreData == NULL) {\r
- PrivateData = PEI_CORE_INSTANCE_FROM_PS_THIS(PeiServices);\r
-\r
PrivateData->PpiData.NotifyListEnd = MAX_PPI_DESCRIPTORS-1;\r
PrivateData->PpiData.DispatchListEnd = MAX_PPI_DESCRIPTORS-1;\r
PrivateData->PpiData.LastDispatchedNotify = MAX_PPI_DESCRIPTORS-1;\r
\r
VOID\r
ConvertPpiPointers (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
+ IN CONST EFI_PEI_SERVICES **PeiServices,\r
IN EFI_HOB_HANDOFF_INFO_TABLE *OldHandOffHob,\r
IN EFI_HOB_HANDOFF_INFO_TABLE *NewHandOffHob\r
)\r
EFI_STATUS\r
EFIAPI\r
PeiInstallPpi (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_PPI_DESCRIPTOR *PpiList\r
+ IN CONST EFI_PEI_SERVICES **PeiServices,\r
+ IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList\r
)\r
/*++\r
\r
}\r
\r
DEBUG((EFI_D_INFO, "Install PPI: %g\n", PpiList->Guid)); \r
- PrivateData->PpiData.PpiListPtrs[Index].Ppi = PpiList; \r
+ PrivateData->PpiData.PpiListPtrs[Index].Ppi = (EFI_PEI_PPI_DESCRIPTOR*) PpiList; \r
PrivateData->PpiData.PpiListEnd++;\r
\r
//\r
// Dispatch any callback level notifies for newly installed PPIs.\r
//\r
DispatchNotify (\r
- PeiServices,\r
+ PrivateData,\r
EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK,\r
LastCallbackInstall,\r
PrivateData->PpiData.PpiListEnd,\r
EFI_STATUS\r
EFIAPI\r
PeiReInstallPpi (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_PPI_DESCRIPTOR *OldPpi,\r
- IN EFI_PEI_PPI_DESCRIPTOR *NewPpi\r
+ IN CONST EFI_PEI_SERVICES **PeiServices,\r
+ IN CONST EFI_PEI_PPI_DESCRIPTOR *OldPpi,\r
+ IN CONST EFI_PEI_PPI_DESCRIPTOR *NewPpi\r
)\r
/*++\r
\r
// Remove the old PPI from the database, add the new one.\r
// \r
DEBUG((EFI_D_INFO, "Reinstall PPI: %g\n", NewPpi->Guid));\r
- PrivateData->PpiData.PpiListPtrs[Index].Ppi = NewPpi;\r
+ PrivateData->PpiData.PpiListPtrs[Index].Ppi = (EFI_PEI_PPI_DESCRIPTOR *) NewPpi;\r
\r
//\r
// Dispatch any callback level notifies for the newly installed PPI.\r
//\r
DispatchNotify (\r
- PeiServices,\r
+ PrivateData,\r
EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK,\r
Index,\r
Index+1,\r
EFI_STATUS\r
EFIAPI\r
PeiLocatePpi (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_GUID *Guid,\r
+ IN CONST EFI_PEI_SERVICES **PeiServices,\r
+ IN CONST EFI_GUID *Guid,\r
IN UINTN Instance,\r
IN OUT EFI_PEI_PPI_DESCRIPTOR **PpiDescriptor,\r
IN OUT VOID **Ppi\r
EFI_STATUS\r
EFIAPI\r
PeiNotifyPpi (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyList\r
+ IN CONST EFI_PEI_SERVICES **PeiServices,\r
+ IN CONST EFI_PEI_NOTIFY_DESCRIPTOR *NotifyList\r
)\r
/*++\r
\r
NotifyDispatchCount ++; \r
} \r
\r
- PrivateData->PpiData.PpiListPtrs[Index].Notify = NotifyList; \r
+ PrivateData->PpiData.PpiListPtrs[Index].Notify = (EFI_PEI_NOTIFY_DESCRIPTOR *) NotifyList; \r
\r
PrivateData->PpiData.NotifyListEnd--;\r
DEBUG((EFI_D_INFO, "Register PPI Notify: %g\n", NotifyList->Guid));\r
// Dispatch any callback level notifies for all previously installed PPIs.\r
//\r
DispatchNotify (\r
- PeiServices,\r
+ PrivateData,\r
EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK,\r
0,\r
PrivateData->PpiData.PpiListEnd,\r
\r
VOID\r
ProcessNotifyList (\r
- IN EFI_PEI_SERVICES **PeiServices\r
+ IN PEI_CORE_INSTANCE *PrivateData\r
)\r
/*++\r
\r
--*/\r
\r
{\r
- PEI_CORE_INSTANCE *PrivateData;\r
INTN TempValue;\r
-\r
- PrivateData = PEI_CORE_INSTANCE_FROM_PS_THIS(PeiServices);\r
-\r
\r
while (TRUE) {\r
//\r
while (PrivateData->PpiData.LastDispatchedNotify != PrivateData->PpiData.DispatchListEnd) {\r
TempValue = PrivateData->PpiData.DispatchListEnd;\r
DispatchNotify (\r
- PeiServices,\r
+ PrivateData,\r
EFI_PEI_PPI_DESCRIPTOR_NOTIFY_DISPATCH,\r
0,\r
PrivateData->PpiData.LastDispatchedInstall,\r
while (PrivateData->PpiData.LastDispatchedInstall != PrivateData->PpiData.PpiListEnd) {\r
TempValue = PrivateData->PpiData.PpiListEnd;\r
DispatchNotify (\r
- PeiServices,\r
+ PrivateData,\r
EFI_PEI_PPI_DESCRIPTOR_NOTIFY_DISPATCH,\r
PrivateData->PpiData.LastDispatchedInstall,\r
PrivateData->PpiData.PpiListEnd,\r
\r
VOID\r
DispatchNotify (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_CORE_INSTANCE *PrivateData,\r
IN UINTN NotifyType,\r
IN INTN InstallStartIndex,\r
IN INTN InstallStopIndex,\r
--*/\r
\r
{\r
- PEI_CORE_INSTANCE *PrivateData;\r
INTN Index1;\r
INTN Index2;\r
EFI_GUID *SearchGuid;\r
EFI_GUID *CheckGuid;\r
EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDescriptor;\r
\r
- PrivateData = PEI_CORE_INSTANCE_FROM_PS_THIS(PeiServices);\r
-\r
//\r
// Remember that Installs moves up and Notifies moves down.\r
//\r
NotifyDescriptor->Notify\r
));\r
NotifyDescriptor->Notify (\r
- PeiServices,\r
+ GetPeiServicesTablePointer (),\r
NotifyDescriptor,\r
(PrivateData->PpiData.PpiListPtrs[Index2].Ppi)->Ppi\r
);\r