diff options
author | lgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-08-22 06:53:46 +0000 |
---|---|---|
committer | lgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-08-22 06:53:46 +0000 |
commit | a61513d6f94b0fb4d5498609cbaef60c324858ba (patch) | |
tree | ade4254429bddfa048608544a8856d86cfaf578f /EdkModulePkg | |
parent | bf3a7173e34fa0754df81c53f24b72ce40fa5372 (diff) | |
download | edk2-a61513d6f94b0fb4d5498609cbaef60c324858ba.tar.gz edk2-a61513d6f94b0fb4d5498609cbaef60c324858ba.tar.bz2 edk2-a61513d6f94b0fb4d5498609cbaef60c324858ba.zip |
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')
-rw-r--r-- | EdkModulePkg/Core/DxeIplPeim/DxeLoad.c | 1 | ||||
-rw-r--r-- | EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c | 32 | ||||
-rw-r--r-- | EdkModulePkg/Core/Pei/Image/Image.c | 2 |
3 files changed, 10 insertions, 25 deletions
diff --git a/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c b/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c index c53a7316c9..5ec81b2534 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 4211dd3075..023924c6c8 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 32f0fe6523..c5c68c1d92 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;
|