summaryrefslogtreecommitdiff
path: root/EdkModulePkg/Core
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2006-08-22 06:53:46 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2006-08-22 06:53:46 +0000
commita61513d6f94b0fb4d5498609cbaef60c324858ba (patch)
treeade4254429bddfa048608544a8856d86cfaf578f /EdkModulePkg/Core
parentbf3a7173e34fa0754df81c53f24b72ce40fa5372 (diff)
downloadedk2-a61513d6f94b0fb4d5498609cbaef60c324858ba.zip
edk2-a61513d6f94b0fb4d5498609cbaef60c324858ba.tar.gz
edk2-a61513d6f94b0fb4d5498609cbaef60c324858ba.tar.bz2
Fix one bug in PeiMain to make it output correct ImageStartAddress. And in DxeIplX64Peim/DxeLoadX64.c, install EndOfPeiSignalPpi can delay only if it enters into dxecore.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1348 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkModulePkg/Core')
-rw-r--r--EdkModulePkg/Core/DxeIplPeim/DxeLoad.c1
-rw-r--r--EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c32
-rw-r--r--EdkModulePkg/Core/Pei/Image/Image.c2
3 files changed, 10 insertions, 25 deletions
diff --git a/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c b/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c
index c53a731..5ec81b2 100644
--- a/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c
+++ b/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c
@@ -371,7 +371,6 @@ Returns:
// Transfer control to the DXE Core
// The handoff state is simply a pointer to the HOB list
//
-// PERF_END (PeiServices, L"DxeIpl", NULL, 0);
Status = PeiServicesInstallPpi (&mPpiSignal);
diff --git a/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c b/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c
index 4211dd3..023924c 100644
--- a/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c
+++ b/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c
@@ -27,15 +27,6 @@ Abstract:
BOOLEAN gInMemory = FALSE;
//
-// GUID for EM64T
-//
-#define EFI_PPI_NEEDED_BY_DXE \
- { \
- 0x4d37da42, 0x3a0c, 0x4eda, 0xb9, 0xeb, 0xbc, 0x0e, 0x1d, 0xb4, 0x71, 0x3b \
- }
-EFI_GUID mPpiNeededByDxeGuid = EFI_PPI_NEEDED_BY_DXE;
-
-//
// Module Globals used in the DXE to PEI handoff
// These must be module globals, so the stack can be switched
//
@@ -256,12 +247,8 @@ Returns:
//
// Install the PEI Protocols that are shared between PEI and DXE
//
-#ifdef EFI_NT_EMULATOR
- PeiEfiPeiPeCoffLoader = (EFI_PEI_PE_COFF_LOADER_PROTOCOL *)GetPeCoffLoaderProtocol ();
- ASSERT (PeiEfiPeiPeCoffLoader != NULL);
-#else
PeiEfiPeiPeCoffLoader = (EFI_PEI_PE_COFF_LOADER_PROTOCOL *)GetPeCoffLoaderX64Protocol ();
-#endif
+ ASSERT (PeiEfiPeiPeCoffLoader != NULL);
//
// Allocate 128KB for the Stack
@@ -310,15 +297,6 @@ Returns:
ASSERT_EFI_ERROR (Status);
//
- // Transfer control to the DXE Core
- // The handoff state is simply a pointer to the HOB list
- //
- // PEI_PERF_END (PeiServices, L"DxeIpl", NULL, 0);
-
- Status = PeiServicesInstallPpi (&mPpiSignal);
- ASSERT_EFI_ERROR (Status);
-
- //
// Load the GDT of Go64. Since the GDT of 32-bit Tiano locates in the BS_DATA \
// memory, it may be corrupted when copying FV to high-end memory
LoadGo64Gdt();
@@ -343,6 +321,14 @@ Returns:
ASSERT_EFI_ERROR (Status);
//
+ // Transfer control to the DXE Core
+ // The handoff state is simply a pointer to the HOB list
+ //
+
+ Status = PeiServicesInstallPpi (&mPpiSignal);
+ ASSERT_EFI_ERROR (Status);
+
+ //
//
// Add HOB for the DXE Core
//
diff --git a/EdkModulePkg/Core/Pei/Image/Image.c b/EdkModulePkg/Core/Pei/Image/Image.c
index 32f0fe6..c5c68c1 100644
--- a/EdkModulePkg/Core/Pei/Image/Image.c
+++ b/EdkModulePkg/Core/Pei/Image/Image.c
@@ -131,7 +131,7 @@ Returns:
//
// Print debug message: Loading PEIM at 0x12345678 EntryPoint=0x12345688 Driver.efi
//
- DEBUG ((EFI_D_INFO | EFI_D_LOAD, "Loading PEIM at 0x%08x EntryPoint=0x%08x ", Pe32Data, *EntryPoint));
+ DEBUG ((EFI_D_INFO | EFI_D_LOAD, "Loading PEIM at 0x%08x EntryPoint=0x%08x ", (UINTN) ImageAddress, *EntryPoint));
DEBUG_CODE_BEGIN ();
EFI_IMAGE_DATA_DIRECTORY *DirectoryEntry;
EFI_IMAGE_DEBUG_DIRECTORY_ENTRY *DebugEntry;