From 8aeaf59524ad5d40b559b752c4a1cf78e0b8097b Mon Sep 17 00:00:00 2001 From: lgao4 Date: Wed, 21 Jun 2006 02:59:51 +0000 Subject: Fix bug in DxeMain module and EdkMemoryStatusCodeLib library. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@581 6f19259b-4bc3-4df7-8a09-765794883524 --- EdkModulePkg/Core/Dxe/Dispatcher/Dispatcher.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'EdkModulePkg/Core') diff --git a/EdkModulePkg/Core/Dxe/Dispatcher/Dispatcher.c b/EdkModulePkg/Core/Dxe/Dispatcher/Dispatcher.c index fec794821b..82b776f901 100644 --- a/EdkModulePkg/Core/Dxe/Dispatcher/Dispatcher.c +++ b/EdkModulePkg/Core/Dxe/Dispatcher/Dispatcher.c @@ -1019,11 +1019,13 @@ Returns: if (gDxeCoreLoadedImage->FilePath == NULL) { if (CompareGuid (&NameGuid, gDxeCoreFileName)) { // - // Because mFvDevicePath has been initialized when discoveried - // EFI_FV_FILETYPE_DRIVER file. So only need to update the name - // guid of device path. + // Maybe One specail Fv cantains only one DXE_CORE module, so its device path must + // be initialized completely. // - CopyGuid (&mFvDevicePath.File.NameGuid, &NameGuid); + EfiInitializeFwVolDevicepathNode (&mFvDevicePath.File, &NameGuid); + mFvDevicePath.End.Type = EFI_END_ENTIRE_DEVICE_PATH; + mFvDevicePath.End.SubType = END_ENTIRE_DEVICE_PATH_SUBTYPE; + SetDevicePathNodeLength (&mFvDevicePath.End, sizeof (EFI_DEVICE_PATH_PROTOCOL)); gDxeCoreLoadedImage->FilePath = CoreDuplicateDevicePath ( (EFI_DEVICE_PATH_PROTOCOL *)&mFvDevicePath -- cgit v1.2.3