summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Core
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Core')
-rw-r--r--MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c3
-rw-r--r--MdeModulePkg/Core/Pei/PeiMain/PeiMain.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
index 9d73c53bb1..7294d85c6c 100644
--- a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
+++ b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
@@ -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.
diff --git a/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c b/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c
index f858740971..4dd7f26c30 100644
--- a/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c
+++ b/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c
@@ -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);