Enhance the PEI Core to convert pointers pointing to PPI descriptors on the temporary stack.

Signed-off by: rsun3
Reviewed-by:   li-elvin


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12354 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
rsun3
2011-09-15 06:48:20 +00:00
parent a9292c1363
commit 424b7c9f8f
4 changed files with 53 additions and 48 deletions

View File

@@ -200,6 +200,8 @@ struct _PEI_CORE_INSTANCE {
EFI_PHYSICAL_ADDRESS FreePhysicalMemoryTop;
UINTN HeapOffset;
BOOLEAN HeapOffsetPositive;
UINTN StackOffset;
BOOLEAN StackOffsetPositive;
PEICORE_FUNCTION_POINTER ShadowedPeiCore;
CACHE_SECTION_DATA CacheSection;
//
@@ -377,24 +379,15 @@ InitializePpiServices (
Migrate the Hob list from the temporary memory stack to PEI installed memory.
@param PrivateData Pointer to PeiCore's private data structure.
@param OldCheckingBottom Bottom of temporary memory range. All Ppi in this range
will be fixup for PpiData and PpiDescriptor pointer.
@param OldCheckingTop Top of temporary memory range. All Ppi in this range
will be fixup for PpiData and PpiDescriptor.
@param Fixup The address difference between
the new Hob list and old Hob list.
@param FixupPositive TRUE if new Hob list is above the old Hob list.
Otherwise FALSE.
@param SecCoreData Points to a data structure containing SEC to PEI handoff data, such as the size
and location of temporary RAM, the stack location and the BFV location.
@param PrivateData Pointer to PeiCore's private data structure.
**/
VOID
ConvertPpiPointers (
IN PEI_CORE_INSTANCE *PrivateData,
IN UINTN OldCheckingBottom,
IN UINTN OldCheckingTop,
IN UINTN Fixup,
IN BOOLEAN FixupPositive
IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData,
IN PEI_CORE_INSTANCE *PrivateData
);
/**