diff options
author | Ruiyu Ni <ruiyu.ni@intel.com> | 2015-07-07 05:43:00 +0000 |
---|---|---|
committer | niruiyu <niruiyu@Edk2> | 2015-07-07 05:43:00 +0000 |
commit | ebf735f11907e31e1fa80f21737d277d8a964e17 (patch) | |
tree | d9eb68ba2efff911a567d52762a28eae6f50f4fe /MdeModulePkg/Library/UefiBootManagerLib | |
parent | 3e2744e41f07066bfa72e77c150251b5d59ca5cc (diff) | |
download | edk2-platforms-ebf735f11907e31e1fa80f21737d277d8a964e17.tar.xz |
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
Diffstat (limited to 'MdeModulePkg/Library/UefiBootManagerLib')
-rw-r--r-- | MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 12 | ||||
-rw-r--r-- | MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h | 1 |
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;
|