diff options
author | Ruiyu Ni <ruiyu.ni@intel.com> | 2017-04-20 11:22:35 +0800 |
---|---|---|
committer | Guo Mang <mang.guo@intel.com> | 2017-07-12 11:24:27 +0800 |
commit | 7cf9f3ba8a7c0f3e497b5c8e1c7c7b972e35d6b8 (patch) | |
tree | e35df5ce10f536cd2b51aa79c0333f8cde2661a7 /Core | |
parent | d91a64ab9811f431cc6909ffec12e306485b88fa (diff) | |
download | edk2-platforms-7cf9f3ba8a7c0f3e497b5c8e1c7c7b972e35d6b8.tar.xz |
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>
(cherry picked from commit 6bbd4a8f5f2a538e5017045ab75674ec106f7b54)
Diffstat (limited to 'Core')
-rw-r--r-- | Core/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/Core/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c b/Core/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c index 501a0cc255..6e69a1540a 100644 --- a/Core/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c +++ b/Core/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)
) {
|