From 6617d838fa77334dd423e71561dd5e0a69025599 Mon Sep 17 00:00:00 2001 From: niruiyu Date: Tue, 1 Mar 2011 06:46:24 +0000 Subject: [PATCH] Fix the bug that BDS assumes any boot option resides in the FV is Shell which causes that the non-Shell FV boot option is removed by GenericBdsLib. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11342 6f19259b-4bc3-4df7-8a09-765794883524 --- IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c b/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c index 0005eb3803..6f49ea1b52 100644 --- a/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c +++ b/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c @@ -2326,14 +2326,17 @@ BdsLibIsValidEFIBootOptDevicePathExt ( } // - // Check if it's a valid boot option for internal Shell + // Check if it's a valid boot option for internal FV application // if (EfiGetNameGuidFromFwVolDevicePathNode ((MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *) LastDeviceNode) != NULL) { // - // If the boot option point to Internal FV shell, make sure it is valid + // If the boot option point to internal FV application, make sure it is valid // TempDevicePath = DevPath; - Status = BdsLibUpdateFvFileDevicePath (&TempDevicePath, PcdGetPtr(PcdShellFile)); + Status = BdsLibUpdateFvFileDevicePath ( + &TempDevicePath, + EfiGetNameGuidFromFwVolDevicePathNode ((MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *) LastDeviceNode) + ); if (Status == EFI_ALREADY_STARTED) { return TRUE; } else {