summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/DevicePathDxe/DevicePathToText.c
diff options
context:
space:
mode:
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2007-09-24 06:55:50 +0000
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2007-09-24 06:55:50 +0000
commitcf40f28a5b751e14cd9c94cc49c8ddf91920474f (patch)
treebb6ead406cc64df24a56e9f6fb4fbfef27cac687 /MdeModulePkg/Universal/DevicePathDxe/DevicePathToText.c
parent98a14db6f24862dedd3d4a525d086f2619e43ebd (diff)
Update DevicePath driver to reflect several device path update in UEFI spec: SATA, memory, iScsi, Firmware volume, Firmware volume File, etc
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3915 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/DevicePathDxe/DevicePathToText.c')
-rw-r--r--MdeModulePkg/Universal/DevicePathDxe/DevicePathToText.c582
1 files changed, 318 insertions, 264 deletions
diff --git a/MdeModulePkg/Universal/DevicePathDxe/DevicePathToText.c b/MdeModulePkg/Universal/DevicePathDxe/DevicePathToText.c
index f1365baa2..546c4a40e 100644
--- a/MdeModulePkg/Universal/DevicePathDxe/DevicePathToText.c
+++ b/MdeModulePkg/Universal/DevicePathDxe/DevicePathToText.c
@@ -212,7 +212,7 @@ DevPathToTextPci (
PCI_DEVICE_PATH *Pci;
Pci = DevPath;
- CatPrint (Str, L"Pci(%x,%x)", Pci->Function, Pci->Device);
+ CatPrint (Str, L"Pci(0x%x,0x%x)", Pci->Device, Pci->Function);
}
STATIC
@@ -227,7 +227,7 @@ DevPathToTextPccard (
PCCARD_DEVICE_PATH *Pccard;
Pccard = DevPath;
- CatPrint (Str, L"PcCard(%x)", Pccard->FunctionNumber);
+ CatPrint (Str, L"PcCard(0x%x)", Pccard->FunctionNumber);
}
STATIC
@@ -244,7 +244,8 @@ DevPathToTextMemMap (
MemMap = DevPath;
CatPrint (
Str,
- L"MemoryMapped(%lx,%lx)",
+ L"MemoryMapped(0x%x,0x%lx,0x%lx)",
+ MemMap->MemoryType,
MemMap->StartingAddress,
MemMap->EndingAddress
);
@@ -262,6 +263,7 @@ DevPathToTextVendor (
VENDOR_DEVICE_PATH *Vendor;
CHAR16 *Type;
UINTN Index;
+ UINTN DataLength;
UINT32 FlowControlMap;
UINT16 Info;
@@ -309,7 +311,7 @@ DevPathToTextVendor (
} else if (CompareGuid (&Vendor->Guid, &mEfiDevicePathMessagingSASGuid)) {
CatPrint (
Str,
- L"SAS(%lx,%lx,%x,",
+ L"SAS(0x%lx,0x%lx,0x%x,",
((SAS_DEVICE_PATH *) Vendor)->SasAddress,
((SAS_DEVICE_PATH *) Vendor)->Lun,
((SAS_DEVICE_PATH *) Vendor)->RelativeTargetPort
@@ -328,22 +330,17 @@ DevPathToTextVendor (
if ((Info & 0x0f) == 1) {
CatPrint (Str, L"0,");
} else {
- CatPrint (Str, L"%x,", (Info >> 8) & 0xff);
+ CatPrint (Str, L"0x%x,", (Info >> 8) & 0xff);
}
} else {
CatPrint (Str, L"0,0,0,0,");
}
- CatPrint (Str, L"%x)", ((SAS_DEVICE_PATH *) Vendor)->Reserved);
+ CatPrint (Str, L"0x%x)", ((SAS_DEVICE_PATH *) Vendor)->Reserved);
return ;
} else if (CompareGuid (&Vendor->Guid, &gEfiDebugPortProtocolGuid)) {
CatPrint (Str, L"DebugPort()");
return ;
- } else {
- return ;
- //
- // reserved
- //
}
}
break;
@@ -357,9 +354,13 @@ DevPathToTextVendor (
break;
}
- CatPrint (Str, L"Ven%s(%g,", Type, &Vendor->Guid);
- for (Index = 0; Index < DevicePathNodeLength (&Vendor->Header) - sizeof (VENDOR_DEVICE_PATH); Index++) {
- CatPrint (Str, L"%02x", ((VENDOR_DEVICE_PATH_WITH_DATA *) Vendor)->VendorDefinedData[Index]);
+ DataLength = DevicePathNodeLength (&Vendor->Header) - sizeof (VENDOR_DEVICE_PATH);
+ CatPrint (Str, L"Ven%s(%g", Type, &Vendor->Guid);
+ if (DataLength != 0) {
+ CatPrint (Str, L",");
+ for (Index = 0; Index < DataLength; Index++) {
+ CatPrint (Str, L"%02x", ((VENDOR_DEVICE_PATH_WITH_DATA *) Vendor)->VendorDefinedData[Index]);
+ }
}
CatPrint (Str, L")");
@@ -379,7 +380,7 @@ DevPathToTextController (
Controller = DevPath;
CatPrint (
Str,
- L"Ctrl(%x)",
+ L"Ctrl(0x%x)",
Controller->ControllerNumber
);
}
@@ -397,109 +398,156 @@ DevPathToTextAcpi (
Acpi = DevPath;
if ((Acpi->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {
- if (AllowShortcuts) {
- switch (EISA_ID_TO_NUM (Acpi->HID)) {
- case 0x0a03:
- CatPrint (Str, L"PciRoot(%x)", Acpi->UID);
- break;
-
- case 0x0604:
- CatPrint (Str, L"Floppy(%x)", Acpi->UID);
- break;
+ switch (EISA_ID_TO_NUM (Acpi->HID)) {
+ case 0x0a03:
+ CatPrint (Str, L"PciRoot(0x%x)", Acpi->UID);
+ break;
- case 0x0301:
- CatPrint (Str, L"Keyboard(%x)", Acpi->UID);
- break;
+ case 0x0604:
+ CatPrint (Str, L"Floppy(0x%x)", Acpi->UID);
+ break;
- case 0x0501:
- CatPrint (Str, L"Serial(%x)", Acpi->UID);
- break;
+ case 0x0301:
+ CatPrint (Str, L"Keyboard(0x%x)", Acpi->UID);
+ break;
- case 0x0401:
- CatPrint (Str, L"ParallelPort(%x)", Acpi->UID);
- break;
+ case 0x0501:
+ CatPrint (Str, L"Serial(0x%x)", Acpi->UID);
+ break;
- default:
- break;
- }
+ case 0x0401:
+ CatPrint (Str, L"ParallelPort(0x%x)", Acpi->UID);
+ break;
- return ;
+ default:
+ CatPrint (Str, L"Acpi(PNP%04x,0x%x)", EISA_ID_TO_NUM (Acpi->HID), Acpi->UID);
+ break;
}
-
- CatPrint (Str, L"Acpi(PNP%04x,%x)", EISA_ID_TO_NUM (Acpi->HID), Acpi->UID);
} else {
- CatPrint (Str, L"Acpi(%08x,%x)", Acpi->HID, Acpi->UID);
+ CatPrint (Str, L"Acpi(0x%08x,0x%x)", Acpi->HID, Acpi->UID);
}
}
-#define NextStrA(a) ((UINT8 *) (((UINT8 *) (a)) + AsciiStrLen ((CHAR8 *) (a)) + 1))
+STATIC
+VOID
+EisaIdToText (
+ IN UINT32 EisaId,
+ IN OUT CHAR16 *Text
+ )
+{
+ CHAR16 PnpIdStr[17];
+
+ //
+ //UnicodeSPrint ("%X", 0x0a03) => "0000000000000A03"
+ //
+ UnicodeSPrint (PnpIdStr, 17 * 2, L"%X", EisaId >> 16);
+
+ UnicodeSPrint (
+ Text,
+ 0,
+ L"%c%c%c%s",
+ '@' + ((EisaId >> 10) & 0x1f),
+ '@' + ((EisaId >> 5) & 0x1f),
+ '@' + ((EisaId >> 0) & 0x1f),
+ PnpIdStr + (16 - 4)
+ );
+}
STATIC
VOID
-DevPathToTextExtAcpi (
+DevPathToTextAcpiEx (
IN OUT POOL_PRINT *Str,
IN VOID *DevPath,
IN BOOLEAN DisplayOnly,
IN BOOLEAN AllowShortcuts
)
{
- ACPI_EXTENDED_HID_DEVICE_PATH_WITH_STR *AcpiExt;
- UINT8 *NextString;
+ ACPI_EXTENDED_HID_DEVICE_PATH *AcpiEx;
+ CHAR8 *HIDStr;
+ CHAR8 *UIDStr;
+ CHAR8 *CIDStr;
+ CHAR16 HIDText[11];
+ CHAR16 CIDText[11];
+
+ AcpiEx = DevPath;
+ HIDStr = (CHAR8 *) (((UINT8 *) AcpiEx) + sizeof (ACPI_EXTENDED_HID_DEVICE_PATH));
+ UIDStr = HIDStr + AsciiStrLen (HIDStr) + 1;
+ CIDStr = UIDStr + AsciiStrLen (UIDStr) + 1;
+
+ EisaIdToText (AcpiEx->HID, HIDText);
+ EisaIdToText (AcpiEx->CID, CIDText);
+
+ if ((*HIDStr == '\0') && (*CIDStr == '\0') && (AcpiEx->UID == 0)) {
+ //
+ // use AcpiExp()
+ //
+ CatPrint (
+ Str,
+ L"AcpiExp(%s,%s,%a)",
+ HIDText,
+ CIDText,
+ UIDStr
+ );
+ } else {
+ if (AllowShortcuts) {
+ //
+ // display only
+ //
+ if (AcpiEx->HID == 0) {
+ CatPrint (Str, L"AcpiEx(%a,", HIDStr);
+ } else {
+ CatPrint (Str, L"AcpiEx(%s,", HIDText);
+ }
- AcpiExt = DevPath;
+ if (AcpiEx->UID == 0) {
+ CatPrint (Str, L"%a,", UIDStr);
+ } else {
+ CatPrint (Str, L"0x%x,", AcpiEx->UID);
+ }
- if (AllowShortcuts) {
- NextString = NextStrA (AcpiExt->HidUidCidStr);
- if ((*(AcpiExt->HidUidCidStr) == '\0') &&
- (*(NextStrA (NextString)) == '\0') &&
- (AcpiExt->UID == 0)
- ) {
- if ((AcpiExt->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {
- CatPrint (
- Str,
- L"AcpiExp(PNP%04x,%x,%a)",
- EISA_ID_TO_NUM (AcpiExt->HID),
- AcpiExt->CID,
- NextStrA (AcpiExt->HidUidCidStr)
- );
+ if (AcpiEx->CID == 0) {
+ CatPrint (Str, L"%a)", CIDStr);
} else {
- CatPrint (
- Str,
- L"AcpiExp(%08x,%x,%a)",
- AcpiExt->HID,
- AcpiExt->CID,
- NextStrA (AcpiExt->HidUidCidStr)
- );
+ CatPrint (Str, L"%s)", CIDText);
}
+ } else {
+ CatPrint (
+ Str,
+ L"AcpiEx(%s,%s,0x%x,%a,%a,%a)",
+ HIDText,
+ CIDText,
+ AcpiEx->UID,
+ HIDStr,
+ CIDStr,
+ UIDStr
+ );
}
- return ;
}
+}
- NextString = NextStrA (AcpiExt->HidUidCidStr);
- NextString = NextStrA (NextString);
- if ((AcpiExt->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {
- CatPrint (
- Str,
- L"AcpiEx(PNP%04x,%x,%x,%a,%a,%a)",
- EISA_ID_TO_NUM (AcpiExt->HID),
- AcpiExt->CID,
- AcpiExt->UID,
- AcpiExt->HidUidCidStr,
- NextString,
- NextStrA (AcpiExt->HidUidCidStr)
- );
- } else {
- CatPrint (
- Str,
- L"AcpiEx(%08x,%x,%x,%a,%a,%a)",
- AcpiExt->HID,
- AcpiExt->CID,
- AcpiExt->UID,
- AcpiExt->HidUidCidStr,
- NextString,
- NextStrA (AcpiExt->HidUidCidStr)
- );
+STATIC
+VOID
+DevPathToTextAcpiAdr (
+ IN OUT POOL_PRINT *Str,
+ IN VOID *DevPath,
+ IN BOOLEAN DisplayOnly,
+ IN BOOLEAN AllowShortcuts
+ )
+{
+ ACPI_ADR_DEVICE_PATH *AcpiAdr;
+ UINT16 Index;
+ UINT16 Length;
+ UINT16 AdditionalAdrCount;
+
+ AcpiAdr = DevPath;
+ Length = (UINT16) DevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *) AcpiAdr);
+ AdditionalAdrCount = (UINT16) ((Length - 8) / 4);
+
+ CatPrint (Str, L"AcpiAdr(0x%x", AcpiAdr->ADR);
+ for (Index = 0; Index < AdditionalAdrCount; Index++) {
+ CatPrint (Str, L",0x%x", *(UINT32 *) ((UINT8 *) AcpiAdr + 8 + Index * 4));
}
+ CatPrint (Str, L")");
}
STATIC
@@ -516,11 +564,11 @@ DevPathToTextAtapi (
Atapi = DevPath;
if (DisplayOnly) {
- CatPrint (Str, L"Ata(%x)", Atapi->Lun);
+ CatPrint (Str, L"Ata(0x%x)", Atapi->Lun);
} else {
CatPrint (
Str,
- L"Ata(%s,%s,%x)",
+ L"Ata(%s,%s,0x%x)",
Atapi->PrimarySecondary ? L"Secondary" : L"Primary",
Atapi->SlaveMaster ? L"Slave" : L"Master",
Atapi->Lun
@@ -540,7 +588,7 @@ DevPathToTextScsi (
SCSI_DEVICE_PATH *Scsi;
Scsi = DevPath;
- CatPrint (Str, L"Scsi(%x,%x)", Scsi->Pun, Scsi->Lun);
+ CatPrint (Str, L"Scsi(0x%x,0x%x)", Scsi->Pun, Scsi->Lun);
}
STATIC
@@ -555,7 +603,7 @@ DevPathToTextFibre (
FIBRECHANNEL_DEVICE_PATH *Fibre;
Fibre = DevPath;
- CatPrint (Str, L"Fibre(%lx,%lx)", Fibre->WWN, Fibre->Lun);
+ CatPrint (Str, L"Fibre(0x%lx,0x%lx)", Fibre->WWN, Fibre->Lun);
}
STATIC
@@ -570,7 +618,10 @@ DevPathToText1394 (
F1394_DEVICE_PATH *F1394;
F1394 = DevPath;
- CatPrint (Str, L"I1394(%lx)", F1394->Guid);
+ //
+ // Guid has format of IEEE-EUI64
+ //
+ CatPrint (Str, L"I1394(%016lx)", F1394->Guid);
}
STATIC
@@ -585,7 +636,7 @@ DevPathToTextUsb (
USB_DEVICE_PATH *Usb;
Usb = DevPath;
- CatPrint (Str, L"USB(%x,%x)", Usb->ParentPortNumber, Usb->InterfaceNumber);
+ CatPrint (Str, L"USB(0x%x,0x%x)", Usb->ParentPortNumber, Usb->InterfaceNumber);
}
STATIC
@@ -598,14 +649,30 @@ DevPathToTextUsbWWID (
)
{
USB_WWID_DEVICE_PATH *UsbWWId;
+ CHAR16 *SerialNumberStr;
+ CHAR16 *NewStr;
+ UINT16 Length;
UsbWWId = DevPath;
+
+ SerialNumberStr = (CHAR16 *) ((UINT8 *) UsbWWId + sizeof (USB_WWID_DEVICE_PATH));
+ Length = (UINT16) ((DevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *) UsbWWId) - sizeof (USB_WWID_DEVICE_PATH)) / sizeof (CHAR16));
+ if (SerialNumberStr [Length - 1] != 0) {
+ //
+ // In case no NULL terminator in SerialNumber, create a new one with NULL terminator
+ //
+ NewStr = AllocateCopyPool ((Length + 1) * sizeof (CHAR16), SerialNumberStr);
+ NewStr [Length] = 0;
+ SerialNumberStr = NewStr;
+ }
+
CatPrint (
Str,
- L"UsbWwid(%x,%x,%x,\"WWID\")",
+ L"UsbWwid(0x%x,0x%x,0x%x,\"%s\")",
UsbWWId->VendorId,
UsbWWId->ProductId,
- UsbWWId->InterfaceNumber
+ UsbWWId->InterfaceNumber,
+ SerialNumberStr
);
}
@@ -621,7 +688,7 @@ DevPathToTextLogicalUnit (
DEVICE_LOGICAL_UNIT_DEVICE_PATH *LogicalUnit;
LogicalUnit = DevPath;
- CatPrint (Str, L"Unit(%x)", LogicalUnit->Lun);
+ CatPrint (Str, L"Unit(0x%x)", LogicalUnit->Lun);
}
STATIC
@@ -634,181 +701,112 @@ DevPathToTextUsbClass (
)
{
USB_CLASS_DEVICE_PATH *UsbClass;
+ BOOLEAN IsKnownSubClass;
+
UsbClass = DevPath;
- if (AllowShortcuts == TRUE) {
- switch (UsbClass->DeviceClass) {
- case 1:
- CatPrint (
- Str,
- L"UsbAudio(%x,%x,%x,%x)",
- UsbClass->VendorId,
- UsbClass->ProductId,
- UsbClass->DeviceSubClass,
- UsbClass->DeviceProtocol
- );
- break;
+ IsKnownSubClass = TRUE;
+ switch (UsbClass->DeviceClass) {
+ case USB_CLASS_AUDIO:
+ CatPrint (Str, L"UsbAudio");
+ break;
- case 2:
- CatPrint (
- Str,
- L"UsbCDCControl(%x,%x,%x,%x)",
- UsbClass->VendorId,
- UsbClass->ProductId,
- UsbClass->DeviceSubClass,
- UsbClass->DeviceProtocol
- );
- break;
+ case USB_CLASS_CDCCONTROL:
+ CatPrint (Str, L"UsbCDCControl");
+ break;
- case 3:
- CatPrint (
- Str,
- L"UsbHID(%x,%x,%x,%x)",
- UsbClass->VendorId,
- UsbClass->ProductId,
- UsbClass->DeviceSubClass,
- UsbClass->DeviceProtocol
- );
- break;
+ case USB_CLASS_HID:
+ CatPrint (Str, L"UsbHID");
+ break;
- case 6:
- CatPrint (
- Str,
- L"UsbImage(%x,%x,%x,%x)",
- UsbClass->VendorId,
- UsbClass->ProductId,
- UsbClass->DeviceSubClass,
- UsbClass->DeviceProtocol
- );
- break;
+ case USB_CLASS_IMAGE:
+ CatPrint (Str, L"UsbImage");
+ break;
- case 7:
- CatPrint (
- Str,
- L"UsbPrinter(%x,%x,%x,%x)",
- UsbClass->VendorId,
- UsbClass->ProductId,
- UsbClass->DeviceSubClass,
- UsbClass->DeviceProtocol
- );
- break;
+ case USB_CLASS_PRINTER:
+ CatPrint (Str, L"UsbPrinter");
+ break;
- case 8:
- CatPrint (
- Str,
- L"UsbMassStorage(%x,%x,%x,%x)",
- UsbClass->VendorId,
- UsbClass->ProductId,
- UsbClass->DeviceSubClass,
- UsbClass->DeviceProtocol
- );
- break;
+ case USB_CLASS_MASS_STORAGE:
+ CatPrint (Str, L"UsbMassStorage");
+ break;
- case 9:
- CatPrint (
- Str,
- L"UsbHub(%x,%x,%x,%x)",
- UsbClass->VendorId,
- UsbClass->ProductId,
- UsbClass->DeviceSubClass,
- UsbClass->DeviceProtocol
- );
- break;
+ case USB_CLASS_HUB:
+ CatPrint (Str, L"UsbHub");
+ break;
- case 10:
- CatPrint (
- Str,
- L"UsbCDCData(%x,%x,%x,%x)",
- UsbClass->VendorId,
- UsbClass->ProductId,
- UsbClass->DeviceSubClass,
- UsbClass->DeviceProtocol
- );
- break;
+ case USB_CLASS_CDCDATA:
+ CatPrint (Str, L"UsbCDCData");
+ break;
- case 11:
- CatPrint (
- Str,
- L"UsbSmartCard(%x,%x,%x,%x)",
- UsbClass->VendorId,
- UsbClass->ProductId,
- UsbClass->DeviceSubClass,
- UsbClass->DeviceProtocol
- );
- break;
+ case USB_CLASS_SMART_CARD:
+ CatPrint (Str, L"UsbSmartCard");
+ break;
- case 14:
+ case USB_CLASS_VIDEO:
+ CatPrint (Str, L"UsbVideo");
+ break;
+
+ case USB_CLASS_DIAGNOSTIC:
+ CatPrint (Str, L"UsbDiagnostic");
+ break;
+
+ case USB_CLASS_WIRELESS:
+ CatPrint (Str, L"UsbWireless");
+ break;
+
+ default:
+ IsKnownSubClass = FALSE;
+ break;
+ }
+
+ if (IsKnownSubClass) {
+ CatPrint (
+ Str,
+ L"(0x%x,0x%x,0x%x,0x%x)",
+ UsbClass->VendorId,
+ UsbClass->ProductId,
+ UsbClass->DeviceSubClass,
+ UsbClass->DeviceProtocol
+ );
+ return;
+ }
+
+ if (UsbClass->DeviceClass == USB_CLASS_RESERVE) {
+ if (UsbClass->DeviceSubClass == USB_SUBCLASS_FW_UPDATE) {
CatPrint (
Str,
- L"UsbVideo(%x,%x,%x,%x)",
+ L"UsbDeviceFirmwareUpdate(0x%x,0x%x,0x%x)",
UsbClass->VendorId,
UsbClass->ProductId,
- UsbClass->DeviceSubClass,
UsbClass->DeviceProtocol
);
- break;
-
- case 220:
+ return;
+ } else if (UsbClass->DeviceSubClass == USB_SUBCLASS_IRDA_BRIDGE) {
CatPrint (
Str,
- L"UsbDiagnostic(%x,%x,%x,%x)",
+ L"UsbIrdaBridge(0x%x,0x%x,0x%x)",
UsbClass->VendorId,
UsbClass->ProductId,
- UsbClass->DeviceSubClass,
UsbClass->DeviceProtocol
);
- break;
-
- case 224:
+ return;
+ } else if (UsbClass->DeviceSubClass == USB_SUBCLASS_TEST) {
CatPrint (
Str,
- L"UsbWireless(%x,%x,%x,%x)",
+ L"UsbTestAndMeasurement(0x%x,0x%x,0x%x)",
UsbClass->VendorId,
UsbClass->ProductId,
- UsbClass->DeviceSubClass,
UsbClass->DeviceProtocol
);
- break;
-
- case 254:
- if (UsbClass->DeviceSubClass == 1) {
- CatPrint (
- Str,
- L"UsbDeviceFirmwareUpdate(%x,%x,%x)",
- UsbClass->VendorId,
- UsbClass->ProductId,
- UsbClass->DeviceProtocol
- );
- } else if (UsbClass->DeviceSubClass == 2) {
- CatPrint (
- Str,
- L"UsbIrdaBridge(%x,%x,%x)",
- UsbClass->VendorId,
- UsbClass->ProductId,
- UsbClass->DeviceProtocol
- );
- } else if (UsbClass->DeviceSubClass == 3) {
- CatPrint (
- Str,
- L"UsbTestAndMeasurement(%x,%x,%x)",
- UsbClass->VendorId,
- UsbClass->ProductId,
- UsbClass->DeviceProtocol
- );
- }
- break;
-
- default:
- break;
+ return;
}
-
- return ;
}
CatPrint (
Str,
- L"UsbClass(%x,%x,%x,%x,%x)",
+ L"UsbClass(0x%x,0x%x,0x%x,0x%x,0x%x)",
UsbClass->VendorId,
UsbClass->ProductId,
UsbClass->DeviceClass,
@@ -819,6 +817,27 @@ DevPathToTextUsbClass (
STATIC
VOID
+DevPathToTextSata (
+ IN OUT POOL_PRINT *Str,
+ IN VOID *DevPath,
+ IN BOOLEAN DisplayOnly,
+ IN BOOLEAN AllowShortcuts
+ )
+{
+ SATA_DEVICE_PATH *Sata;
+
+ Sata = DevPath;
+ CatPrint (
+ Str,
+ L"Sata(0x%x,0x%x,0x%x)",
+ (UINTN) Sata->HbaPortNumber,
+ (UINTN) Sata->PortMultiplierPort,
+ (UINTN) Sata->LogicalUnitNumber
+ );
+}
+
+STATIC
+VOID
DevPathToTextI2O (
IN OUT POOL_PRINT *Str,
IN VOID *DevPath,
@@ -829,7 +848,7 @@ DevPathToTextI2O (
I2O_DEVICE_PATH *I2O;
I2O = DevPath;
- CatPrint (Str, L"I2O(%x)", I2O->Tid);
+ CatPrint (Str, L"I2O(0x%x)", I2O->Tid);
}
STATIC
@@ -858,7 +877,7 @@ DevPathToTextMacAddr (
CatPrint (Str, L"%02x", MAC->MacAddress.Addr[Index]);
}
- CatPrint (Str, L",%x)", MAC->IfType);
+ CatPrint (Str, L",0x%x)", MAC->IfType);
}
STATIC
@@ -991,7 +1010,7 @@ DevPathToTextInfiniBand (
InfiniBand = DevPath;
CatPrint (
Str,
- L"Infiniband(%x,%g,%lx,%lx,%lx)",
+ L"Infiniband(0x%x,%g,0x%lx,0x%lx,0x%lx)",
InfiniBand->ResourceFlags,
InfiniBand->PortGid,
InfiniBand->ServiceId,
@@ -1095,7 +1114,7 @@ DevPathToTextiSCSI (
iSCSI = DevPath;
CatPrint (
Str,
- L"iSCSI(%s,%x,%lx,",
+ L"iSCSI(%a,0x%x,0x%lx,",
iSCSI->iSCSITargetName,
iSCSI->TargetPortalGroupTag,
iSCSI->Lun
@@ -1129,19 +1148,10 @@ DevPathToTextHardDrive (
Hd = DevPath;
switch (Hd->SignatureType) {
- case 0:
- CatPrint (
- Str,
- L"HD(%d,%s,0,",
- Hd->PartitionNumber,
- L"None"
- );
- break;
-
case SIGNATURE_TYPE_MBR:
CatPrint (
Str,
- L"HD(%d,%s,%08x,",
+ L"HD(%d,%s,0x%08x,",
Hd->PartitionNumber,
L"MBR",
*((UINT32 *) (&(Hd->Signature[0])))
@@ -1153,16 +1163,22 @@ DevPathToTextHardDrive (
Str,
L"HD(%d,%s,%g,",
Hd->PartitionNumber,
- L"GUID",
+ L"GPT",
(EFI_GUID *) &(Hd->Signature[0])
);
break;
default:
+ CatPrint (
+ Str,
+ L"HD(%d,%d,0,",
+ Hd->PartitionNumber,
+ Hd->SignatureType
+ );
break;
}
- CatPrint (Str, L"%lx,%lx)", Hd->PartitionStart, Hd->PartitionSize);
+ CatPrint (Str, L"0x%lx,0x%lx)", Hd->PartitionStart, Hd->PartitionSize);
}
STATIC
@@ -1178,11 +1194,11 @@ DevPathToTextCDROM (
Cd = DevPath;
if (DisplayOnly == TRUE) {
- CatPrint (Str, L"CDROM(%x)", Cd->BootEntry);
+ CatPrint (Str, L"CDROM(0x%x)", Cd->BootEntry);
return ;
}
- CatPrint (Str, L"CDROM(%x,%lx,%lx)", Cd->BootEntry, Cd->PartitionStart, Cd->PartitionSize);
+ CatPrint (Str, L"CDROM(0x%x,0x%lx,0x%lx)", Cd->BootEntry, Cd->PartitionStart, Cd->PartitionSize);
}
STATIC
@@ -1217,6 +1233,36 @@ DevPathToTextMediaProtocol (
STATIC
VOID
+DevPathToTextFv (
+ IN OUT POOL_PRINT *Str,
+ IN VOID *DevPath,
+ IN BOOLEAN DisplayOnly,
+ IN BOOLEAN AllowShortcuts
+ )
+{
+ MEDIA_FW_VOL_DEVICE_PATH *Fv;
+
+ Fv = DevPath;
+ CatPrint (Str, L"Fv(%g)", &Fv->FvName);
+}
+
+STATIC
+VOID
+DevPathToTextFvFile (
+ IN OUT POOL_PRINT *Str,
+ IN VOID *DevPath,
+ IN BOOLEAN DisplayOnly,
+ IN BOOLEAN AllowShortcuts
+ )
+{
+ MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvFile;
+
+ FvFile = DevPath;
+ CatPrint (Str, L"FvFile(%g)", &FvFile->FvFileName);
+}
+
+STATIC
+VOID
DevPathToTextBBS (
IN OUT POOL_PRINT *Str,
IN VOID *DevPath,
@@ -1254,18 +1300,22 @@ DevPathToTextBBS (
break;
default:
- Type = L"?";
+ Type = NULL;
break;
}
- CatPrint (Str, L"BBS(%s,%a", Type, Bbs->String);
+ if (Type != NULL) {
+ CatPrint (Str, L"BBS(%s,%a", Type, Bbs->String);
+ } else {
+ CatPrint (Str, L"BBS(0x%x,%a", Bbs->DeviceType, Bbs->String);
+ }
if (DisplayOnly == TRUE) {
CatPrint (Str, L")");
return ;
}
- CatPrint (Str, L",%x)", Bbs->StatusFlag);
+ CatPrint (Str, L",0x%x)", Bbs->StatusFlag);
}
STATIC
@@ -1299,7 +1349,8 @@ GLOBAL_REMOVE_IF_UNREFERENCED const DEVICE_PATH_TO_TEXT_TABLE DevPathToTextTable
{HARDWARE_DEVICE_PATH, HW_VENDOR_DP, DevPathToTextVendor},
{HARDWARE_DEVICE_PATH, HW_CONTROLLER_DP, DevPathToTextController},
{ACPI_DEVICE_PATH, ACPI_DP, DevPathToTextAcpi},
- {ACPI_DEVICE_PATH, ACPI_EXTENDED_DP, DevPathToTextExtAcpi},
+ {ACPI_DEVICE_PATH, ACPI_EXTENDED_DP, DevPathToTextAcpiEx},
+ {ACPI_DEVICE_PATH, ACPI_ADR_DP, DevPathToTextAcpiAdr},
{MESSAGING_DEVICE_PATH, MSG_ATAPI_DP, DevPathToTextAtapi},
{MESSAGING_DEVICE_PATH, MSG_SCSI_DP, DevPathToTextScsi},
{MESSAGING_DEVICE_PATH, MSG_FIBRECHANNEL_DP, DevPathToTextFibre},
@@ -1308,6 +1359,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED const DEVICE_PATH_TO_TEXT_TABLE DevPathToTextTable
{MESSAGING_DEVICE_PATH, MSG_USB_WWID_DP, DevPathToTextUsbWWID},
{MESSAGING_DEVICE_PATH, MSG_DEVICE_LOGICAL_UNIT_DP, DevPathToTextLogicalUnit},
{MESSAGING_DEVICE_PATH, MSG_USB_CLASS_DP, DevPathToTextUsbClass},
+ {MESSAGING_DEVICE_PATH, MSG_SATA_DP, DevPathToTextSata},
{MESSAGING_DEVICE_PATH, MSG_I2O_DP, DevPathToTextI2O},
{MESSAGING_DEVICE_PATH, MSG_MAC_ADDR_DP, DevPathToTextMacAddr},
{MESSAGING_DEVICE_PATH, MSG_IPv4_DP, DevPathToTextIPv4},
@@ -1322,6 +1374,8 @@ GLOBAL_REMOVE_IF_UNREFERENCED const DEVICE_PATH_TO_TEXT_TABLE DevPathToTextTable
{MEDIA_DEVICE_PATH, MEDIA_FILEPATH_DP, DevPathToTextFilePath},
{MEDIA_DEVICE_PATH, MEDIA_PROTOCOL_DP, DevPathToTextMediaProtocol},
{MEDIA_DEVICE_PATH, MEDIA_FILEPATH_DP, DevPathToTextFilePath},
+ {MEDIA_DEVICE_PATH, MEDIA_PIWG_FW_VOL_DP, DevPathToTextFv},
+ {MEDIA_DEVICE_PATH, MEDIA_PIWG_FW_FILE_DP, DevPathToTextFvFile},
{BBS_DEVICE_PATH, BBS_BBS_DP, DevPathToTextBBS},
{END_DEVICE_PATH_TYPE, END_INSTANCE_DEVICE_PATH_SUBTYPE, DevPathToTextEndInstance},
{0, 0, NULL}
@@ -1471,9 +1525,9 @@ ConvertDevicePathToText (
// Put a path seperator in if needed
//
if (Str.Len && DumpNode != DevPathToTextEndInstance) {
- if (*(Str.Str + Str.Len / sizeof (CHAR16) - 1) != L',') {
+ if (*(Str.Str + Str.Len / sizeof (CHAR16) - 1) != L',') {
CatPrint (&Str, L"/");
- }
+ }
}
//
// Print this node of the device path