From: Ruiyu Ni Date: Tue, 7 Jul 2015 05:43:00 +0000 (+0000) Subject: MdeModulePkg: Update UefiBootManagerLib to support HTTP boot option creation X-Git-Tag: edk2-stable201903~9425 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=ebf735f11907e31e1fa80f21737d277d8a964e17 MdeModulePkg: Update UefiBootManagerLib to support HTTP boot option creation Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni Reviewed-by: Siyuan Fu git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17849 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c index 3691c116a9..2c38aa8275 100644 --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c @@ -69,6 +69,8 @@ EfiBootManagerRegisterLegacyBootSupport ( @retval MessageNetworkBoot If given device path contains MESSAGING_DEVICE_PATH type device path node and its last device path node's subtype is MSG_MAC_ADDR_DP, MSG_VLAN_DP, MSG_IPv4_DP or MSG_IPv6_DP. + @retval MessageHttpBoot If given device path contains MESSAGING_DEVICE_PATH type device path node + and its last device path node's subtype is MSG_URI_DP. @retval UnsupportedBoot If tiven device path doesn't match the above condition, it's not supported. **/ @@ -113,7 +115,7 @@ BmDevicePathType ( // If the device path not only point to driver device, it is not a messaging device path, // if (!IsDevicePathEndType (NextNode)) { - break; + continue; } switch (DevicePathSubType (Node)) { @@ -139,6 +141,10 @@ BmDevicePathType ( case MSG_IPv6_DP: return BmMessageNetworkBoot; break; + + case MSG_URI_DP: + return BmMessageHttpBoot; + break; } } } @@ -686,6 +692,10 @@ BmGetMiscDescription ( Description = L"Network"; break; + case BmMessageHttpBoot: + Description = L"Http"; + break; + default: Status = gBS->HandleProtocol (Handle, &gEfiSimpleFileSystemProtocolGuid, (VOID **) &Fs); if (!EFI_ERROR (Status)) { diff --git a/MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h b/MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h index 9baba8689b..d415442e23 100644 --- a/MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h +++ b/MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h @@ -91,6 +91,7 @@ typedef enum { BmMessageUsbBoot, BmMessageScsiBoot, BmMessageNetworkBoot, + BmMessageHttpBoot, BmMiscBoot } BM_BOOT_TYPE;