summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRuiyu Ni <ruiyu.ni@intel.com>2015-07-07 05:43:00 +0000
committerniruiyu <niruiyu@Edk2>2015-07-07 05:43:00 +0000
commitebf735f11907e31e1fa80f21737d277d8a964e17 (patch)
treed9eb68ba2efff911a567d52762a28eae6f50f4fe
parent3e2744e41f07066bfa72e77c150251b5d59ca5cc (diff)
downloadedk2-ebf735f11907e31e1fa80f21737d277d8a964e17.tar.gz
edk2-ebf735f11907e31e1fa80f21737d277d8a964e17.tar.bz2
edk2-ebf735f11907e31e1fa80f21737d277d8a964e17.zip
MdeModulePkg: Update UefiBootManagerLib to support HTTP boot option creation
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Siyuan Fu <siyuan.fu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17849 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c12
-rw-r--r--MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h1
2 files changed, 12 insertions, 1 deletions
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;