]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
MdeModulePkg: Update UefiBootManagerLib to support HTTP boot option creation
[mirror_edk2.git] / MdeModulePkg / Library / UefiBootManagerLib / BmBoot.c
index 3691c116a9d18b2723be8998817af7aa40967283..2c38aa827529f0da06be24f26fa82a320c8d25da 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