Fix a bug that PeiCore might fail to fix up Ppi pointer in CAR.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5527 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -44,26 +44,24 @@ InitializePpiServices (
|
||||
@param PeiServices The PEI core services table.
|
||||
@param OldCheckingBottom The old checking bottom.
|
||||
@param OldCheckingTop The old checking top.
|
||||
@param NewHandOffHob The new handoff HOB list.
|
||||
@param Fixup The address difference between
|
||||
the new Hob list and old Hob list.
|
||||
|
||||
**/
|
||||
VOID
|
||||
ConvertPpiPointers (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN UINTN OldCheckingBottom,
|
||||
IN UINTN OldCheckingTop,
|
||||
IN EFI_HOB_HANDOFF_INFO_TABLE *NewHandOffHob
|
||||
IN UINTN Fixup
|
||||
)
|
||||
{
|
||||
PEI_CORE_INSTANCE *PrivateData;
|
||||
UINT8 Index;
|
||||
PEI_PPI_LIST_POINTERS *PpiPointer;
|
||||
UINTN Fixup;
|
||||
|
||||
PrivateData = PEI_CORE_INSTANCE_FROM_PS_THIS(PeiServices);
|
||||
|
||||
Fixup = (UINTN)NewHandOffHob - OldCheckingBottom;
|
||||
|
||||
for (Index = 0; Index < FixedPcdGet32 (PcdPeiCoreMaxPpiSupported); Index++) {
|
||||
if (Index < PrivateData->PpiData.PpiListEnd ||
|
||||
Index > PrivateData->PpiData.NotifyListEnd) {
|
||||
|
Reference in New Issue
Block a user