summaryrefslogtreecommitdiffstats
path: root/MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c
diff options
context:
space:
mode:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2008-09-03 08:04:48 +0000
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2008-09-03 08:04:48 +0000
commit5dd39dc6556952b301eba6a2082acbbc5ea1fbca (patch)
tree2901f9c1adddd2933e2cafacfddb5a354973fe53 /MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c
parent22e6fe86ba006b1bf48b41498a158f8a488474fc (diff)
downloadedk2-5dd39dc6556952b301eba6a2082acbbc5ea1fbca.tar.gz
edk2-5dd39dc6556952b301eba6a2082acbbc5ea1fbca.tar.bz2
edk2-5dd39dc6556952b301eba6a2082acbbc5ea1fbca.zip
1, remove MigrateIdt interface, 2, remove unused library class
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5793 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c')
-rw-r--r--MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c41
1 files changed, 7 insertions, 34 deletions
diff --git a/MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c b/MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c
index 97abaa4aeb..a1959e121d 100644
--- a/MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c
+++ b/MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointer.c
@@ -12,7 +12,11 @@
**/
-#include "InternalPeiServicesTablePointer.h"
+#include <PiPei.h>
+
+#include <Library/BaseLib.h>
+#include <Library/PeiServicesTablePointerLib.h>
+#include <Library/DebugLib.h>
/**
@@ -37,7 +41,7 @@ GetPeiServicesTablePointer (
IA32_DESCRIPTOR Idtr;
AsmReadIdtr (&Idtr);
- PeiServices = (EFI_PEI_SERVICES **) (*(UINTN*)(Idtr.Base - 4));
+ PeiServices = (EFI_PEI_SERVICES **) (*(UINTN*)(Idtr.Base - sizeof (UINTN)));
ASSERT (PeiServices != NULL);
return PeiServices;
}
@@ -64,38 +68,7 @@ SetPeiServicesTablePointer (
IA32_DESCRIPTOR Idtr;
AsmReadIdtr (&Idtr);
- (*(UINTN*)(Idtr.Base - 4)) = (UINTN)PeiServicesTablePointer;
+ (*(UINTN*)(Idtr.Base - sizeof (UINTN))) = (UINTN)PeiServicesTablePointer;
}
-/**
- 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
-EFIAPI
-MigrateIdtTable (
- IN EFI_PEI_SERVICES **PeiServices
- )
-{
- UINTN Size;
- VOID *NewBase;
- EFI_STATUS Status;
- IA32_DESCRIPTOR Idtr;
-
- AsmReadIdtr (&Idtr);
-
- Size = sizeof(UINTN) + (Idtr.Limit + 1);
-
- Status = PeiServicesAllocatePool (Size, &NewBase);
- ASSERT_EFI_ERROR (Status);
-
- CopyMem ((VOID*)((UINTN)NewBase + sizeof(UINTN)), (VOID*)Idtr.Base, (Idtr.Limit + 1));
-
- Idtr.Base = (UINTN)NewBase + sizeof(UINTN);
- AsmWriteIdtr (&Idtr);
- SetPeiServicesTablePointer(PeiServices);
-}