summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Library/UefiBootManagerLib
diff options
context:
space:
mode:
authorRuiyu Ni <ruiyu.ni@intel.com>2017-04-20 11:22:35 +0800
committerRuiyu Ni <ruiyu.ni@intel.com>2017-04-26 09:25:54 +0800
commit6bbd4a8f5f2a538e5017045ab75674ec106f7b54 (patch)
treee917b311c792b1569c2a7409e2a9337b45be26d7 /MdeModulePkg/Library/UefiBootManagerLib
parent9bb800f7cb3c205a78b1289ba07edb6f7fe64a9e (diff)
downloadedk2-6bbd4a8f5f2a538e5017045ab75674ec106f7b54.tar.gz
edk2-6bbd4a8f5f2a538e5017045ab75674ec106f7b54.tar.bz2
edk2-6bbd4a8f5f2a538e5017045ab75674ec106f7b54.zip
MdeModulePKg/BDS: Build meaningful description for Wi-Fi boot option
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Fan Wang <fan.wang@intel.com> Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
Diffstat (limited to 'MdeModulePkg/Library/UefiBootManagerLib')
-rw-r--r--MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c28
1 files changed, 23 insertions, 5 deletions
diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c b/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c
index 501a0cc255..6e69a1540a 100644
--- a/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c
+++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c
@@ -382,13 +382,13 @@ BmGetNetworkDescription (
//
// The PXE device path is like:
- // ....../Mac(...)[/Vlan(...)]
- // ....../Mac(...)[/Vlan(...)]/IPv4(...)
- // ....../Mac(...)[/Vlan(...)]/IPv6(...)
+ // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]
+ // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv4(...)
+ // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv6(...)
//
// The HTTP device path is like:
- // ....../Mac(...)[/Vlan(...)]/IPv4(...)/Uri(...)
- // ....../Mac(...)[/Vlan(...)]/IPv6(...)/Uri(...)
+ // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv4(...)/Uri(...)
+ // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv6(...)/Uri(...)
//
while (!IsDevicePathEnd (DevicePath) &&
((DevicePathType (DevicePath) != MESSAGING_DEVICE_PATH) ||
@@ -404,6 +404,9 @@ BmGetNetworkDescription (
Mac = (MAC_ADDR_DEVICE_PATH *) DevicePath;
DevicePath = NextDevicePathNode (DevicePath);
+ //
+ // Locate the optional Vlan node
+ //
if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) &&
(DevicePathSubType (DevicePath) == MSG_VLAN_DP)
) {
@@ -413,6 +416,18 @@ BmGetNetworkDescription (
Vlan = NULL;
}
+ //
+ // Skip the optional Wi-Fi node
+ //
+ if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) &&
+ (DevicePathSubType (DevicePath) == MSG_WIFI_DP)
+ ) {
+ DevicePath = NextDevicePathNode (DevicePath);
+ }
+
+ //
+ // Locate the IP node
+ //
if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) &&
((DevicePathSubType (DevicePath) == MSG_IPv4_DP) ||
(DevicePathSubType (DevicePath) == MSG_IPv6_DP))
@@ -423,6 +438,9 @@ BmGetNetworkDescription (
Ip = NULL;
}
+ //
+ // Locate the URI node
+ //
if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) &&
(DevicePathSubType (DevicePath) == MSG_URI_DP)
) {