Added SecDispatchTable library to allow custom PPIs to be passed up to into PEI Core. This will allow platform specific libraries to do thinks like map hardware devices directly into the emulator.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10882 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
andrewfish
2010-09-16 20:23:33 +00:00
parent 45059fab2a
commit 249383cf15
8 changed files with 129 additions and 1 deletions

View File

@@ -543,6 +543,7 @@ Returns:
EFI_PHYSICAL_ADDRESS PeiImageAddress;
EFI_SEC_PEI_HAND_OFF *SecCoreData;
UINTN PeiStackSize;
EFI_PEI_PPI_DESCRIPTOR *DispatchTable;
//
// Compute Top Of Memory for Stack and PEI Core Allocations
@@ -596,13 +597,19 @@ Returns:
return ;
}
//
// Allow an override for extra PPIs to be passed up to PEI
// This is an easy way to enable OS specific customizations
//
DispatchTable = OverrideDispatchTable (&gPrivateDispatchTable[0]);
//
// Transfer control to the PEI Core
//
PeiSwitchStacks (
(SWITCH_STACK_ENTRY_POINT) (UINTN) PeiCoreEntryPoint,
SecCoreData,
(VOID *) (UINTN) ((EFI_PEI_PPI_DESCRIPTOR *) &gPrivateDispatchTable),
(VOID *)DispatchTable,
NULL,
TopOfStack
);