summaryrefslogtreecommitdiffstats
path: root/MdePkg/Library/PeiServicesTablePointerLib
diff options
context:
space:
mode:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2007-10-09 08:16:53 +0000
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2007-10-09 08:16:53 +0000
commit81c7803cf4a49ca2633c706b7630c1cf2d9e9b55 (patch)
treec4f4dd9d4cf3a1e943acbbf85f80cd43a299bc41 /MdePkg/Library/PeiServicesTablePointerLib
parentd173d9c7616a5e7c3c7758e5692335dacfedebe1 (diff)
downloadedk2-81c7803cf4a49ca2633c706b7630c1cf2d9e9b55.tar.gz
edk2-81c7803cf4a49ca2633c706b7630c1cf2d9e9b55.tar.bz2
edk2-81c7803cf4a49ca2633c706b7630c1cf2d9e9b55.zip
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
Diffstat (limited to 'MdePkg/Library/PeiServicesTablePointerLib')
-rw-r--r--MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c b/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c
index 54a500a732..871e52a25a 100644
--- a/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c
+++ b/MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c
@@ -20,6 +20,12 @@
static EFI_PEI_SERVICES **gPeiServices;
+/**
+ The function set the pointer of PEI services immediately preceding the IDT table
+ according to PI specification.
+
+ @param PeiServices The address of PeiServices pointer.
+**/
VOID
EFIAPI
SetPeiServicesTablePointer (
@@ -70,3 +76,18 @@ PeiServicesTablePointerLibConstructor (
gPeiServices = PeiServices;
return EFI_SUCCESS;
}
+
+/**
+ After memory initialization in PEI phase, the IDT table in temporary memory should
+ be migrated to memory, and the address of PeiServicesPointer also need to be updated
+ immediately preceding the new IDT table.
+
+ @param PeiServices The address of PeiServices pointer.
+**/
+VOID
+MigrateIdtTable (
+ IN EFI_PEI_SERVICES **PeiServices
+ )
+{
+}
+