MdeModulePkg: Update UefiBootManagerLib to support HTTP boot option creation
authorRuiyu Ni <ruiyu.ni@intel.com>
Tue, 7 Jul 2015 05:43:00 +0000 (05:43 +0000)
committerniruiyu <niruiyu@Edk2>
Tue, 7 Jul 2015 05:43:00 +0000 (05:43 +0000)
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

MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h

index 3691c11..2c38aa8 100644 (file)
@@ -69,6 +69,8 @@ EfiBootManagerRegisterLegacyBootSupport (
   @retval MessageNetworkBoot           If given device path contains MESSAGING_DEVICE_PATH type device path node\r
                                        and its last device path node's subtype is MSG_MAC_ADDR_DP, MSG_VLAN_DP,\r
                                        MSG_IPv4_DP or MSG_IPv6_DP.\r
+  @retval MessageHttpBoot              If given device path contains MESSAGING_DEVICE_PATH type device path node\r
+                                       and its last device path node's subtype is MSG_URI_DP.\r
   @retval UnsupportedBoot              If tiven device path doesn't match the above condition, it's not supported.\r
 \r
 **/\r
@@ -113,7 +115,7 @@ BmDevicePathType (
         // If the device path not only point to driver device, it is not a messaging device path,\r
         //\r
         if (!IsDevicePathEndType (NextNode)) {\r
-          break;\r
+          continue;\r
         }\r
 \r
         switch (DevicePathSubType (Node)) {\r
@@ -139,6 +141,10 @@ BmDevicePathType (
         case MSG_IPv6_DP:\r
           return BmMessageNetworkBoot;\r
           break;\r
+\r
+        case MSG_URI_DP:\r
+          return BmMessageHttpBoot;\r
+          break;\r
         }\r
     }\r
   }\r
@@ -686,6 +692,10 @@ BmGetMiscDescription (
     Description = L"Network";\r
     break;\r
 \r
+  case BmMessageHttpBoot:\r
+    Description = L"Http";\r
+    break;\r
+\r
   default:\r
     Status = gBS->HandleProtocol (Handle, &gEfiSimpleFileSystemProtocolGuid, (VOID **) &Fs);\r
     if (!EFI_ERROR (Status)) {\r
index 9baba86..d415442 100644 (file)
@@ -91,6 +91,7 @@ typedef enum {
   BmMessageUsbBoot,\r
   BmMessageScsiBoot,\r
   BmMessageNetworkBoot,\r
+  BmMessageHttpBoot,\r
   BmMiscBoot\r
 } BM_BOOT_TYPE;\r
 \r