PI Enabling: the address of PeiServices Pointer should be
1) Set to preceding of IDT table in PeiCore's entry 2) Migrate to preceding of new memory IDT table when memory is discovery git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4059 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -395,7 +395,8 @@ Returns:
|
||||
// Migrate IDT from CAR into real memory, so after stack switches to
|
||||
// the new memory, the caller can get memory version PeiServiceTable.
|
||||
//
|
||||
//MigrateIdtTable (PeiServices);
|
||||
MigrateIdtTable (PeiServices);
|
||||
|
||||
//
|
||||
// Since we are at dispatch level, only the Core's private data
|
||||
// is preserved, nobody else should have any data on the stack.
|
||||
|
@@ -166,6 +166,11 @@ Returns:
|
||||
|
||||
InitializePpiServices (&PrivateData, OldCoreData);
|
||||
|
||||
//
|
||||
// Save PeiServicePointer so that it can be retrieved anywhere.
|
||||
//
|
||||
SetPeiServicesTablePointer(&PrivateData.PS);
|
||||
|
||||
if (OldCoreData != NULL) {
|
||||
|
||||
PERF_END (NULL,"PreMem", NULL, 0);
|
||||
|
Reference in New Issue
Block a user