\r
(C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>\r
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
VA_START (Args, Fmt);\r
UnicodeVSPrint (&Str->Str[Str->Count], Str->Capacity - Str->Count * sizeof (CHAR16), Fmt, Args);\r
Str->Count += Count;\r
- \r
+\r
VA_END (Args);\r
return Str->Str;\r
}\r
UefiDevicePathLibCatPrint (Str, L"VenVt100Plus()");\r
return ;\r
} else if (CompareGuid (&Vendor->Guid, &gEfiVTUTF8Guid)) {\r
- UefiDevicePathLibCatPrint (Str, L"VenUft8()");\r
+ UefiDevicePathLibCatPrint (Str, L"VenUtf8()");\r
return ;\r
} else if (CompareGuid (&Vendor->Guid, &gEfiUartDevicePathGuid)) {\r
FlowControlMap = (((UART_FLOW_CONTROL_DEVICE_PATH *) Vendor)->FlowControlMap);\r
UIDStr = HIDStr + AsciiStrLen (HIDStr) + 1;\r
CIDStr = UIDStr + AsciiStrLen (UIDStr) + 1;\r
\r
+ if (DisplayOnly) {\r
+ if ((EISA_ID_TO_NUM (AcpiEx->HID) == 0x0A03) ||\r
+ (EISA_ID_TO_NUM (AcpiEx->CID) == 0x0A03 && EISA_ID_TO_NUM (AcpiEx->HID) != 0x0A08)) {\r
+ if (AcpiEx->UID == 0) {\r
+ UefiDevicePathLibCatPrint (Str, L"PciRoot(%a)", UIDStr);\r
+ } else {\r
+ UefiDevicePathLibCatPrint (Str, L"PciRoot(0x%x)", AcpiEx->UID);\r
+ }\r
+ return;\r
+ }\r
+\r
+ if (EISA_ID_TO_NUM (AcpiEx->HID) == 0x0A08 || EISA_ID_TO_NUM (AcpiEx->CID) == 0x0A08) {\r
+ if (AcpiEx->UID == 0) {\r
+ UefiDevicePathLibCatPrint (Str, L"PcieRoot(%a)", UIDStr);\r
+ } else {\r
+ UefiDevicePathLibCatPrint (Str, L"PcieRoot(0x%x)", AcpiEx->UID);\r
+ }\r
+ return;\r
+ }\r
+ }\r
+\r
//\r
// Converts EISA identification to string.\r
- // \r
+ //\r
UnicodeSPrint (\r
HIDText,\r
sizeof (HIDText),\r
(AcpiEx->CID >> 16) & 0xFFFF\r
);\r
\r
- if ((*HIDStr == '\0') && (*CIDStr == '\0') && (AcpiEx->UID == 0)) {\r
+ if ((*HIDStr == '\0') && (*CIDStr == '\0') && (*UIDStr != '\0')) {\r
//\r
// use AcpiExp()\r
//\r
- UefiDevicePathLibCatPrint (\r
- Str,\r
- L"AcpiExp(%s,%s,%a)",\r
- HIDText,\r
- CIDText,\r
- UIDStr\r
- );\r
+ if (AcpiEx->CID == 0) {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"AcpiExp(%s,0,%a)",\r
+ HIDText,\r
+ UIDStr\r
+ );\r
+ } else {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"AcpiExp(%s,%s,%a)",\r
+ HIDText,\r
+ CIDText,\r
+ UIDStr\r
+ );\r
+ }\r
} else {\r
- if (AllowShortcuts) {\r
+ if (DisplayOnly) {\r
//\r
// display only\r
//\r
UefiDevicePathLibCatPrint (Str, L"AcpiEx(%s,", HIDText);\r
}\r
\r
- if (AcpiEx->UID == 0) {\r
- UefiDevicePathLibCatPrint (Str, L"%a,", UIDStr);\r
+ if (AcpiEx->CID == 0) {\r
+ UefiDevicePathLibCatPrint (Str, L"%a,", CIDStr);\r
} else {\r
- UefiDevicePathLibCatPrint (Str, L"0x%x,", AcpiEx->UID);\r
+ UefiDevicePathLibCatPrint (Str, L"%s,", CIDText);\r
}\r
\r
- if (AcpiEx->CID == 0) {\r
- UefiDevicePathLibCatPrint (Str, L"%a)", CIDStr);\r
+ if (AcpiEx->UID == 0) {\r
+ UefiDevicePathLibCatPrint (Str, L"%a)", UIDStr);\r
} else {\r
- UefiDevicePathLibCatPrint (Str, L"%s)", CIDText);\r
+ UefiDevicePathLibCatPrint (Str, L"0x%x)", AcpiEx->UID);\r
}\r
} else {\r
UefiDevicePathLibCatPrint (\r
\r
SerialNumberStr = (CHAR16 *) ((UINT8 *) UsbWWId + sizeof (USB_WWID_DEVICE_PATH));\r
Length = (UINT16) ((DevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *) UsbWWId) - sizeof (USB_WWID_DEVICE_PATH)) / sizeof (CHAR16));\r
- if (SerialNumberStr [Length - 1] != 0) {\r
+ if (Length >= 1 && SerialNumberStr [Length - 1] != 0) {\r
//\r
// In case no NULL terminator in SerialNumber, create a new one with NULL terminator\r
//\r
UefiDevicePathLibCatPrint (Str, L")");\r
return ;\r
}\r
- \r
+\r
UefiDevicePathLibCatPrint (Str, L",");\r
CatNetworkProtocol (Str, IPDevPath->Protocol);\r
\r
DnsServerIpCount = (UINT32) (DevicePathNodeLength(DnsDevPath) - sizeof (EFI_DEVICE_PATH_PROTOCOL) - sizeof (DnsDevPath->IsIPv6)) / sizeof (EFI_IP_ADDRESS);\r
\r
UefiDevicePathLibCatPrint (Str, L"Dns(");\r
- \r
+\r
for (DnsServerIpIndex = 0; DnsServerIpIndex < DnsServerIpCount; DnsServerIpIndex++) {\r
if (DnsDevPath->IsIPv6 == 0x00) {\r
CatIPv4Address (Str, &(DnsDevPath->DnsServerIp[DnsServerIpIndex].v4));\r
UefiDevicePathLibCatPrint (&Str, L"/");\r
}\r
}\r
- \r
+\r
AlignedNode = AllocateCopyPool (DevicePathNodeLength (Node), Node);\r
//\r
// Print this node of the device path\r
//\r
ToText (&Str, AlignedNode, DisplayOnly, AllowShortcuts);\r
FreePool (AlignedNode);\r
- \r
+\r
//\r
// Next device path node\r
//\r