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
This commit is contained in:
lgao4 2006-08-22 06:53:46 +00:00
parent bf3a7173e3
commit a61513d6f9
3 changed files with 10 additions and 25 deletions

View File

@ -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);

View File

@ -26,15 +26,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
@ -309,15 +296,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
@ -342,6 +320,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

View File

@ -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;