OUT BOOT_MENU_POPUP_DATA *BootMenuData\r
)\r
{\r
+ EFI_STATUS Status;\r
UINTN Index;\r
UINTN StrIndex;\r
+ EFI_DEVICE_PATH_PROTOCOL *ImageDevicePath;\r
\r
if (BootOption == NULL || BootMenuData == NULL) {\r
return EFI_INVALID_PARAMETER;\r
- } \r
- \r
+ }\r
+\r
+ Status = gBS->HandleProtocol (gImageHandle, &gEfiLoadedImageDevicePathProtocolGuid, (VOID **) &ImageDevicePath);\r
+ ASSERT_EFI_ERROR (Status);\r
+\r
BootMenuData->TitleToken[0] = STRING_TOKEN (STR_BOOT_POPUP_MENU_TITLE_STRING);\r
BootMenuData->PtrTokens = AllocateZeroPool (BootOptionCount * sizeof (EFI_STRING_ID));\r
ASSERT (BootMenuData->PtrTokens != NULL);\r
!IsBootManagerMenu (&BootOption[Index])) { \r
continue;\r
}\r
+\r
+ //\r
+ // Don't display myself\r
+ //\r
+ if (CompareMem (BootOption[Index].FilePath, ImageDevicePath, GetDevicePathSize (ImageDevicePath)) == 0) {\r
+ continue;\r
+ }\r
+\r
ASSERT (BootOption[Index].Description != NULL);\r
BootMenuData->PtrTokens[StrIndex++] = HiiSetString (\r
gStringPackHandle, \r