summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvanjeff <vanjeff>2013-09-10 08:25:43 +0000
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2013-09-10 08:25:43 +0000
commite450b5b02e56b1db283bb6b2635469c6dd1fb37a (patch)
treea0bf982652db46421606cdaca6443db430c11bbd
parent369fb82c2b0ae6f56a00894b169febca6d479fc3 (diff)
downloadedk2-e450b5b02e56b1db283bb6b2635469c6dd1fb37a.zip
edk2-e450b5b02e56b1db283bb6b2635469c6dd1fb37a.tar.gz
edk2-e450b5b02e56b1db283bb6b2635469c6dd1fb37a.tar.bz2
Sync part of patches r14505, r14519 and r14558 from main trunk.
1. Update all the code to consume the ConvertDevicePathToText, ConvertDevicePathNodeToText, ConvertTextToDevicePath and ConvertTextToDeviceNode APIs in DevicePathLib. 2. OvmfPkg: Use the new DevicePathLib for all platforms. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14643 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--IntelFrameworkModulePkg/Library/GenericBdsLib/DevicePath.c1542
-rw-r--r--IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf16
-rw-r--r--IntelFrameworkModulePkg/Library/GenericBdsLib/InternalBdsLib.h1
-rw-r--r--MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h3
-rw-r--r--MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf3
-rw-r--r--MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c19
-rw-r--r--MdeModulePkg/Universal/DriverSampleDxe/DriverSample.c12
-rw-r--r--MdeModulePkg/Universal/DriverSampleDxe/DriverSample.h1
-rw-r--r--MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf3
-rw-r--r--MdeModulePkg/Universal/PlatformDriOverrideDxe/InternalPlatDriOverrideDxe.h3
-rw-r--r--MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideDxe.c44
-rw-r--r--MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf3
-rw-r--r--Nt32Pkg/Nt32Pkg.dsc8
-rw-r--r--Nt32Pkg/Nt32Pkg.fdf1
-rw-r--r--OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c52
-rw-r--r--OvmfPkg/OvmfPkgIa32.dsc11
-rw-r--r--OvmfPkg/OvmfPkgIa32.fdf3
-rw-r--r--OvmfPkg/OvmfPkgIa32X64.dsc11
-rw-r--r--OvmfPkg/OvmfPkgIa32X64.fdf3
-rw-r--r--OvmfPkg/OvmfPkgX64.dsc11
-rw-r--r--OvmfPkg/OvmfPkgX64.fdf3
-rw-r--r--PerformancePkg/Dp_App/Dp.inf3
-rw-r--r--PerformancePkg/Dp_App/DpUtilities.c23
-rw-r--r--PerformancePkg/PerformancePkg.dsc2
-rw-r--r--SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.c24
-rw-r--r--SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf4
-rw-r--r--SecurityPkg/UserIdentification/UserProfileManagerDxe/ModifyAccessPolicy.c18
-rw-r--r--SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManager.h3
-rw-r--r--SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManagerDxe.inf4
-rw-r--r--SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDevicePath.c1511
-rw-r--r--SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf21
-rw-r--r--SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.h1
-rw-r--r--ShellPkg/Application/Shell/Shell.inf3
-rw-r--r--ShellPkg/Application/Shell/ShellProtocol.c54
-rw-r--r--ShellPkg/Include/Library/ShellCommandLib.h4
-rw-r--r--ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c16
-rw-r--r--ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c8
-rw-r--r--ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf3
-rw-r--r--ShellPkg/Library/UefiShellDebug1CommandsLib/Bcfg.c5
-rw-r--r--ShellPkg/Library/UefiShellDebug1CommandsLib/SetVar.c7
-rw-r--r--ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h4
-rw-r--r--ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c6
-rw-r--r--ShellPkg/Library/UefiShellDriver1CommandsLib/Drivers.c4
-rw-r--r--ShellPkg/Library/UefiShellDriver1CommandsLib/DrvCfg.c4
-rw-r--r--ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h3
-rw-r--r--ShellPkg/Library/UefiShellDriver1CommandsLib/Unload.c24
-rw-r--r--ShellPkg/Library/UefiShellInstall1CommandsLib/Bcfg.c3
-rw-r--r--ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.h3
-rw-r--r--ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h3
-rw-r--r--ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c2
-rw-r--r--ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h3
-rw-r--r--ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf4
-rw-r--r--ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h1
-rw-r--r--ShellPkg/Library/UefiSortLib/UefiSortLib.c16
-rw-r--r--ShellPkg/Library/UefiSortLib/UefiSortLib.inf4
-rw-r--r--ShellPkg/ShellPkg.dsc2
56 files changed, 188 insertions, 3365 deletions
diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/DevicePath.c b/IntelFrameworkModulePkg/Library/GenericBdsLib/DevicePath.c
index 9d46b1c..2f22e7d 100644
--- a/IntelFrameworkModulePkg/Library/GenericBdsLib/DevicePath.c
+++ b/IntelFrameworkModulePkg/Library/GenericBdsLib/DevicePath.c
@@ -2,7 +2,7 @@
BDS internal function define the default device path string, it can be
replaced by platform device path.
-Copyright (c) 2004 - 2009, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -16,1466 +16,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "InternalBdsLib.h"
/**
- Concatenates a formatted unicode string to allocated pool.
- The caller must free the resulting buffer.
-
- @param Str Tracks the allocated pool, size in use, and amount of pool allocated.
- @param Fmt The format string
- @param ... The data will be printed.
-
- @return Allocated buffer with the formatted string printed in it.
- The caller must free the allocated buffer.
- The buffer allocation is not packed.
-
-**/
-CHAR16 *
-EFIAPI
-CatPrint (
- IN OUT POOL_PRINT *Str,
- IN CHAR16 *Fmt,
- ...
- )
-{
- UINT16 *AppendStr;
- VA_LIST Args;
- UINTN StringSize;
-
- AppendStr = AllocateZeroPool (0x1000);
- if (AppendStr == NULL) {
- return Str->Str;
- }
-
- VA_START (Args, Fmt);
- UnicodeVSPrint (AppendStr, 0x1000, Fmt, Args);
- VA_END (Args);
- if (NULL == Str->Str) {
- StringSize = StrSize (AppendStr);
- Str->Str = AllocateZeroPool (StringSize);
- ASSERT (Str->Str != NULL);
- } else {
- StringSize = StrSize (AppendStr);
- StringSize += (StrSize (Str->Str) - sizeof (UINT16));
-
- Str->Str = ReallocatePool (
- StrSize (Str->Str),
- StringSize,
- Str->Str
- );
- ASSERT (Str->Str != NULL);
- }
-
- Str->Maxlen = MAX_CHAR * sizeof (UINT16);
- if (StringSize < Str->Maxlen) {
- StrCat (Str->Str, AppendStr);
- Str->Len = StringSize - sizeof (UINT16);
- }
-
- FreePool (AppendStr);
- return Str->Str;
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathPci (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- PCI_DEVICE_PATH *Pci;
-
- Pci = DevPath;
- CatPrint (Str, L"Pci(%x|%x)", (UINTN) Pci->Device, (UINTN) Pci->Function);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathPccard (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- PCCARD_DEVICE_PATH *Pccard;
-
- Pccard = DevPath;
- CatPrint (Str, L"Pcmcia(Function%x)", (UINTN) Pccard->FunctionNumber);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathMemMap (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- MEMMAP_DEVICE_PATH *MemMap;
-
- MemMap = DevPath;
- CatPrint (
- Str,
- L"MemMap(%d:%lx-%lx)",
- (UINTN) MemMap->MemoryType,
- MemMap->StartingAddress,
- MemMap->EndingAddress
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathController (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- CONTROLLER_DEVICE_PATH *Controller;
-
- Controller = DevPath;
- CatPrint (Str, L"Ctrl(%d)", (UINTN) Controller->ControllerNumber);
-}
-
-
-/**
- Convert Vendor device path to device name.
-
- @param Str The buffer store device name
- @param DevPath Pointer to vendor device path
-
-**/
-VOID
-DevPathVendor (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- VENDOR_DEVICE_PATH *Vendor;
- CHAR16 *Type;
- UINTN DataLength;
- UINTN Index;
- UINT32 FlowControlMap;
-
- UINT16 Info;
-
- Vendor = DevPath;
-
- switch (DevicePathType (&Vendor->Header)) {
- case HARDWARE_DEVICE_PATH:
- Type = L"Hw";
- break;
-
- case MESSAGING_DEVICE_PATH:
- Type = L"Msg";
- if (CompareGuid (&Vendor->Guid, &gEfiPcAnsiGuid)) {
- CatPrint (Str, L"VenPcAnsi()");
- return ;
- } else if (CompareGuid (&Vendor->Guid, &gEfiVT100Guid)) {
- CatPrint (Str, L"VenVt100()");
- return ;
- } else if (CompareGuid (&Vendor->Guid, &gEfiVT100PlusGuid)) {
- CatPrint (Str, L"VenVt100Plus()");
- return ;
- } else if (CompareGuid (&Vendor->Guid, &gEfiVTUTF8Guid)) {
- CatPrint (Str, L"VenUft8()");
- return ;
- } else if (CompareGuid (&Vendor->Guid, &gEfiUartDevicePathGuid )) {
- FlowControlMap = (((UART_FLOW_CONTROL_DEVICE_PATH *) Vendor)->FlowControlMap);
- switch (FlowControlMap & 0x00000003) {
- case 0:
- CatPrint (Str, L"UartFlowCtrl(%s)", L"None");
- break;
-
- case 1:
- CatPrint (Str, L"UartFlowCtrl(%s)", L"Hardware");
- break;
-
- case 2:
- CatPrint (Str, L"UartFlowCtrl(%s)", L"XonXoff");
- break;
-
- default:
- break;
- }
-
- return ;
-
- } else if (CompareGuid (&Vendor->Guid, &gEfiSasDevicePathGuid)) {
- CatPrint (
- Str,
- L"SAS(%lx,%lx,%x,",
- ((SAS_DEVICE_PATH *) Vendor)->SasAddress,
- ((SAS_DEVICE_PATH *) Vendor)->Lun,
- (UINTN) ((SAS_DEVICE_PATH *) Vendor)->RelativeTargetPort
- );
- Info = (((SAS_DEVICE_PATH *) Vendor)->DeviceTopology);
- if ((Info & 0x0f) == 0) {
- CatPrint (Str, L"NoTopology,0,0,0,");
- } else if (((Info & 0x0f) == 1) || ((Info & 0x0f) == 2)) {
- CatPrint (
- Str,
- L"%s,%s,%s,",
- ((Info & (0x1 << 4)) != 0) ? L"SATA" : L"SAS",
- ((Info & (0x1 << 5)) != 0) ? L"External" : L"Internal",
- ((Info & (0x1 << 6)) != 0) ? L"Expanded" : L"Direct"
- );
- if ((Info & 0x0f) == 1) {
- CatPrint (Str, L"0,");
- } else {
- CatPrint (Str, L"%x,", (UINTN) ((Info >> 8) & 0xff));
- }
- } else {
- CatPrint (Str, L"0,0,0,0,");
- }
-
- CatPrint (Str, L"%x)", (UINTN) ((SAS_DEVICE_PATH *) Vendor)->Reserved);
- return ;
-
- } else if (CompareGuid (&Vendor->Guid, &gEfiDebugPortProtocolGuid)) {
- CatPrint (Str, L"DebugPort()");
- return ;
- }
- break;
-
- case MEDIA_DEVICE_PATH:
- Type = L"Media";
- break;
-
- default:
- Type = L"?";
- break;
- }
-
- CatPrint (Str, L"Ven%s(%g", Type, &Vendor->Guid);
- DataLength = DevicePathNodeLength (&Vendor->Header) - sizeof (VENDOR_DEVICE_PATH);
- if (DataLength > 0) {
- CatPrint (Str, L",");
- for (Index = 0; Index < DataLength; Index++) {
- CatPrint (Str, L"%02x", (UINTN) ((VENDOR_DEVICE_PATH_WITH_DATA *) Vendor)->VendorDefinedData[Index]);
- }
- }
- CatPrint (Str, L")");
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathAcpi (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- ACPI_HID_DEVICE_PATH *Acpi;
-
- Acpi = DevPath;
- if ((Acpi->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {
- CatPrint (Str, L"Acpi(PNP%04x,%x)", (UINTN) EISA_ID_TO_NUM (Acpi->HID), (UINTN) Acpi->UID);
- } else {
- CatPrint (Str, L"Acpi(%08x,%x)", (UINTN) Acpi->HID, (UINTN) Acpi->UID);
- }
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathExtendedAcpi (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- ACPI_EXTENDED_HID_DEVICE_PATH *ExtendedAcpi;
-
- //
- // Index for HID, UID and CID strings, 0 for non-exist
- //
- UINT16 HIDSTRIdx;
- UINT16 UIDSTRIdx;
- UINT16 CIDSTRIdx;
- UINT16 Index;
- UINT16 Length;
- UINT16 Anchor;
- CHAR8 *AsChar8Array;
-
- HIDSTRIdx = 0;
- UIDSTRIdx = 0;
- CIDSTRIdx = 0;
- ExtendedAcpi = DevPath;
- Length = (UINT16) DevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *) ExtendedAcpi);
-
- AsChar8Array = (CHAR8 *) ExtendedAcpi;
-
- //
- // find HIDSTR
- //
- Anchor = 16;
- for (Index = Anchor; Index < Length && AsChar8Array[Index] != '\0'; Index++) {
- ;
- }
- if (Index > Anchor) {
- HIDSTRIdx = Anchor;
- }
- //
- // find UIDSTR
- //
- Anchor = (UINT16) (Index + 1);
- for (Index = Anchor; Index < Length && AsChar8Array[Index] != '\0'; Index++) {
- ;
- }
- if (Index > Anchor) {
- UIDSTRIdx = Anchor;
- }
- //
- // find CIDSTR
- //
- Anchor = (UINT16) (Index + 1);
- for (Index = Anchor; Index < Length && AsChar8Array[Index] != '\0'; Index++) {
- ;
- }
- if (Index > Anchor) {
- CIDSTRIdx = Anchor;
- }
-
- if (HIDSTRIdx == 0 && CIDSTRIdx == 0 && ExtendedAcpi->UID == 0) {
- CatPrint (Str, L"AcpiExp(");
- if ((ExtendedAcpi->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {
- CatPrint (Str, L"PNP%04x,", (UINTN) EISA_ID_TO_NUM (ExtendedAcpi->HID));
- } else {
- CatPrint (Str, L"%08x,", (UINTN) ExtendedAcpi->HID);
- }
- if ((ExtendedAcpi->CID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {
- CatPrint (Str, L"PNP%04x,", (UINTN) EISA_ID_TO_NUM (ExtendedAcpi->CID));
- } else {
- CatPrint (Str, L"%08x,", (UINTN) ExtendedAcpi->CID);
- }
- if (UIDSTRIdx != 0) {
- CatPrint (Str, L"%a)", AsChar8Array + UIDSTRIdx);
- } else {
- CatPrint (Str, L"\"\")");
- }
- } else {
- CatPrint (Str, L"AcpiEx(");
- if ((ExtendedAcpi->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {
- CatPrint (Str, L"PNP%04x,", (UINTN) EISA_ID_TO_NUM (ExtendedAcpi->HID));
- } else {
- CatPrint (Str, L"%08x,", (UINTN) ExtendedAcpi->HID);
- }
- if ((ExtendedAcpi->CID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {
- CatPrint (Str, L"PNP%04x,", (UINTN) EISA_ID_TO_NUM (ExtendedAcpi->CID));
- } else {
- CatPrint (Str, L"%08x,", (UINTN) ExtendedAcpi->CID);
- }
- CatPrint (Str, L"%x,", (UINTN) ExtendedAcpi->UID);
-
- if (HIDSTRIdx != 0) {
- CatPrint (Str, L"%a,", AsChar8Array + HIDSTRIdx);
- } else {
- CatPrint (Str, L"\"\",");
- }
- if (CIDSTRIdx != 0) {
- CatPrint (Str, L"%a,", AsChar8Array + CIDSTRIdx);
- } else {
- CatPrint (Str, L"\"\",");
- }
- if (UIDSTRIdx != 0) {
- CatPrint (Str, L"%a)", AsChar8Array + UIDSTRIdx);
- } else {
- CatPrint (Str, L"\"\")");
- }
- }
-
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathAdrAcpi (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- 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(%x", (UINTN) AcpiAdr->ADR);
- for (Index = 0; Index < AdditionalAdrCount; Index++) {
- CatPrint (Str, L",%x", (UINTN) *(UINT32 *) ((UINT8 *) AcpiAdr + 8 + Index * 4));
- }
- CatPrint (Str, L")");
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathAtapi (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- ATAPI_DEVICE_PATH *Atapi;
-
- Atapi = DevPath;
- CatPrint (
- Str,
- L"Ata(%s,%s)",
- (Atapi->PrimarySecondary != 0)? L"Secondary" : L"Primary",
- (Atapi->SlaveMaster != 0)? L"Slave" : L"Master"
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathScsi (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- SCSI_DEVICE_PATH *Scsi;
-
- Scsi = DevPath;
- CatPrint (Str, L"Scsi(Pun%x,Lun%x)", (UINTN) Scsi->Pun, (UINTN) Scsi->Lun);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathFibre (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- FIBRECHANNEL_DEVICE_PATH *Fibre;
-
- Fibre = DevPath;
- CatPrint (Str, L"Fibre(Wwn%lx,Lun%x)", Fibre->WWN, Fibre->Lun);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPath1394 (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- F1394_DEVICE_PATH *F1394Path;
-
- F1394Path = DevPath;
- CatPrint (Str, L"1394(%lx)", &F1394Path->Guid);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathUsb (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- USB_DEVICE_PATH *Usb;
-
- Usb = DevPath;
- CatPrint (Str, L"Usb(%x,%x)", (UINTN) Usb->ParentPortNumber, (UINTN) Usb->InterfaceNumber);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathUsbWWID (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- USB_WWID_DEVICE_PATH *UsbWWId;
-
- UsbWWId = DevPath;
- CatPrint (
- Str,
- L"UsbWwid(%x,%x,%x,\"WWID\")",
- (UINTN) UsbWWId->VendorId,
- (UINTN) UsbWWId->ProductId,
- (UINTN) UsbWWId->InterfaceNumber
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathLogicalUnit (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- DEVICE_LOGICAL_UNIT_DEVICE_PATH *LogicalUnit;
-
- LogicalUnit = DevPath;
- CatPrint (Str, L"Unit(%x)", (UINTN) LogicalUnit->Lun);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathUsbClass (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- USB_CLASS_DEVICE_PATH *UsbClass;
-
- UsbClass = DevPath;
- CatPrint (
- Str,
- L"Usb Class(%x,%x,%x,%x,%x)",
- (UINTN) UsbClass->VendorId,
- (UINTN) UsbClass->ProductId,
- (UINTN) UsbClass->DeviceClass,
- (UINTN) UsbClass->DeviceSubClass,
- (UINTN) UsbClass->DeviceProtocol
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathSata (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- SATA_DEVICE_PATH *Sata;
-
- Sata = DevPath;
- if ((Sata->PortMultiplierPortNumber & SATA_HBA_DIRECT_CONNECT_FLAG) != 0) {
- CatPrint (
- Str,
- L"Sata(%x,%x)",
- (UINTN) Sata->HBAPortNumber,
- (UINTN) Sata->Lun
- );
- } else {
- CatPrint (
- Str,
- L"Sata(%x,%x,%x)",
- (UINTN) Sata->HBAPortNumber,
- (UINTN) Sata->PortMultiplierPortNumber,
- (UINTN) Sata->Lun
- );
- }
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathI2O (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- I2O_DEVICE_PATH *I2OPath;
-
- I2OPath = DevPath;
- CatPrint (Str, L"I2O(%x)", (UINTN) I2OPath->Tid);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathMacAddr (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- MAC_ADDR_DEVICE_PATH *MACDevPath;
- UINTN HwAddressSize;
- UINTN Index;
-
- MACDevPath = DevPath;
-
- HwAddressSize = sizeof (EFI_MAC_ADDRESS);
- if (MACDevPath->IfType == 0x01 || MACDevPath->IfType == 0x00) {
- HwAddressSize = 6;
- }
-
- CatPrint (Str, L"Mac(");
-
- for (Index = 0; Index < HwAddressSize; Index++) {
- CatPrint (Str, L"%02x", (UINTN) MACDevPath->MacAddress.Addr[Index]);
- }
-
- CatPrint (Str, L")");
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathIPv4 (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- IPv4_DEVICE_PATH *IPDevPath;
-
- IPDevPath = DevPath;
- CatPrint (
- Str,
- L"IPv4(%d.%d.%d.%d:%d)",
- (UINTN) IPDevPath->RemoteIpAddress.Addr[0],
- (UINTN) IPDevPath->RemoteIpAddress.Addr[1],
- (UINTN) IPDevPath->RemoteIpAddress.Addr[2],
- (UINTN) IPDevPath->RemoteIpAddress.Addr[3],
- (UINTN) IPDevPath->RemotePort
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathIPv6 (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- IPv6_DEVICE_PATH *IPv6DevPath;
-
- IPv6DevPath = DevPath;
- CatPrint (
- Str,
- L"IPv6(%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x)",
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[0],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[1],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[2],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[3],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[4],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[5],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[6],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[7],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[8],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[9],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[10],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[11],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[12],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[13],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[14],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[15]
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathInfiniBand (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- INFINIBAND_DEVICE_PATH *InfiniBand;
-
- InfiniBand = DevPath;
- CatPrint (
- Str,
- L"Infiniband(%x,%g,%lx,%lx,%lx)",
- (UINTN) InfiniBand->ResourceFlags,
- InfiniBand->PortGid,
- InfiniBand->ServiceId,
- InfiniBand->TargetPortId,
- InfiniBand->DeviceId
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathUart (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- UART_DEVICE_PATH *Uart;
- CHAR8 Parity;
-
- Uart = DevPath;
- switch (Uart->Parity) {
- case 0:
- Parity = 'D';
- break;
-
- case 1:
- Parity = 'N';
- break;
-
- case 2:
- Parity = 'E';
- break;
-
- case 3:
- Parity = 'O';
- break;
-
- case 4:
- Parity = 'M';
- break;
-
- case 5:
- Parity = 'S';
- break;
-
- default:
- Parity = 'x';
- break;
- }
-
- if (Uart->BaudRate == 0) {
- CatPrint (Str, L"Uart(DEFAULT,%c,", Parity);
- } else {
- CatPrint (Str, L"Uart(%ld,%c,", Uart->BaudRate, Parity);
- }
-
- if (Uart->DataBits == 0) {
- CatPrint (Str, L"D,");
- } else {
- CatPrint (Str, L"%d,", (UINTN) Uart->DataBits);
- }
-
- switch (Uart->StopBits) {
- case 0:
- CatPrint (Str, L"D)");
- break;
-
- case 1:
- CatPrint (Str, L"1)");
- break;
-
- case 2:
- CatPrint (Str, L"1.5)");
- break;
-
- case 3:
- CatPrint (Str, L"2)");
- break;
-
- default:
- CatPrint (Str, L"x)");
- break;
- }
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathiSCSI (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- ISCSI_DEVICE_PATH_WITH_NAME *IScsi;
- UINT16 Options;
-
- IScsi = DevPath;
- CatPrint (
- Str,
- L"iSCSI(%a,%x,%lx,",
- IScsi->TargetName,
- (UINTN) IScsi->TargetPortalGroupTag,
- IScsi->Lun
- );
-
- Options = IScsi->LoginOption;
- CatPrint (Str, L"%s,", (((Options >> 1) & 0x0001) != 0) ? L"CRC32C" : L"None");
- CatPrint (Str, L"%s,", (((Options >> 3) & 0x0001) != 0) ? L"CRC32C" : L"None");
- if (((Options >> 11) & 0x0001) != 0) {
- CatPrint (Str, L"%s,", L"None");
- } else if (((Options >> 12) & 0x0001) != 0) {
- CatPrint (Str, L"%s,", L"CHAP_UNI");
- } else {
- CatPrint (Str, L"%s,", L"CHAP_BI");
-
- }
-
- CatPrint (Str, L"%s)", (IScsi->NetworkProtocol == 0) ? L"TCP" : L"reserved");
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathVlan (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- VLAN_DEVICE_PATH *Vlan;
-
- Vlan = DevPath;
- CatPrint (Str, L"Vlan(%d)", (UINTN) Vlan->VlanId);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathHardDrive (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- HARDDRIVE_DEVICE_PATH *Hd;
-
- Hd = DevPath;
- switch (Hd->SignatureType) {
- case SIGNATURE_TYPE_MBR:
- CatPrint (
- Str,
- L"HD(Part%d,Sig%08x)",
- (UINTN) Hd->PartitionNumber,
- (UINTN) *((UINT32 *) (&(Hd->Signature[0])))
- );
- break;
-
- case SIGNATURE_TYPE_GUID:
- CatPrint (
- Str,
- L"HD(Part%d,Sig%g)",
- (UINTN) Hd->PartitionNumber,
- (EFI_GUID *) &(Hd->Signature[0])
- );
- break;
-
- default:
- CatPrint (
- Str,
- L"HD(Part%d,MBRType=%02x,SigType=%02x)",
- (UINTN) Hd->PartitionNumber,
- (UINTN) Hd->MBRType,
- (UINTN) Hd->SignatureType
- );
- break;
- }
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathCDROM (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- CDROM_DEVICE_PATH *Cd;
-
- Cd = DevPath;
- CatPrint (Str, L"CDROM(Entry%x)", (UINTN) Cd->BootEntry);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathFilePath (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- FILEPATH_DEVICE_PATH *Fp;
-
- Fp = DevPath;
- CatPrint (Str, L"%s", Fp->PathName);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathMediaProtocol (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- MEDIA_PROTOCOL_DEVICE_PATH *MediaProt;
-
- MediaProt = DevPath;
- CatPrint (Str, L"Media(%g)", &MediaProt->Protocol);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathFvFilePath (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvFilePath;
-
- FvFilePath = DevPath;
- CatPrint (Str, L"%g", &FvFilePath->FvFileName);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathRelativeOffsetRange (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *Offset;
-
- Offset = DevPath;
- CatPrint (
- Str,
- L"Offset(%lx,%lx)",
- Offset->StartingOffset,
- Offset->EndingOffset
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathBssBss (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- BBS_BBS_DEVICE_PATH *Bbs;
- CHAR16 *Type;
-
- Bbs = DevPath;
- switch (Bbs->DeviceType) {
- case BBS_TYPE_FLOPPY:
- Type = L"Floppy";
- break;
-
- case BBS_TYPE_HARDDRIVE:
- Type = L"Harddrive";
- break;
-
- case BBS_TYPE_CDROM:
- Type = L"CDROM";
- break;
-
- case BBS_TYPE_PCMCIA:
- Type = L"PCMCIA";
- break;
-
- case BBS_TYPE_USB:
- Type = L"Usb";
- break;
-
- case BBS_TYPE_EMBEDDED_NETWORK:
- Type = L"Net";
- break;
-
- case BBS_TYPE_BEV:
- Type = L"BEV";
- break;
-
- default:
- Type = L"?";
- break;
- }
- CatPrint (Str, L"Legacy-%s", Type);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathEndInstance (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- CatPrint (Str, L",");
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maixmum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathNodeUnknown (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- CatPrint (Str, L"?");
-}
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param Str The buffer holding the output string.
- This buffer contains the length of the
- string and the maximum length reserved
- for the string buffer.
- @param DevPath The device path.
-
-**/
-VOID
-DevPathFvPath (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- MEDIA_FW_VOL_DEVICE_PATH *FvPath;
-
- FvPath = DevPath;
- CatPrint (Str, L"Fv(%g)", &FvPath->FvName);
-}
-
-DEVICE_PATH_STRING_TABLE DevPathTable[] = {
- {
- HARDWARE_DEVICE_PATH,
- HW_PCI_DP,
- DevPathPci
- },
- {
- HARDWARE_DEVICE_PATH,
- HW_PCCARD_DP,
- DevPathPccard
- },
- {
- HARDWARE_DEVICE_PATH,
- HW_MEMMAP_DP,
- DevPathMemMap
- },
- {
- HARDWARE_DEVICE_PATH,
- HW_VENDOR_DP,
- DevPathVendor
- },
- {
- HARDWARE_DEVICE_PATH,
- HW_CONTROLLER_DP,
- DevPathController
- },
- {
- ACPI_DEVICE_PATH,
- ACPI_DP,
- DevPathAcpi
- },
- {
- ACPI_DEVICE_PATH,
- ACPI_EXTENDED_DP,
- DevPathExtendedAcpi
- },
- {
- ACPI_DEVICE_PATH,
- ACPI_ADR_DP,
- DevPathAdrAcpi
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_ATAPI_DP,
- DevPathAtapi
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_SCSI_DP,
- DevPathScsi
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_FIBRECHANNEL_DP,
- DevPathFibre
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_1394_DP,
- DevPath1394
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_USB_DP,
- DevPathUsb
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_USB_WWID_DP,
- DevPathUsbWWID
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_DEVICE_LOGICAL_UNIT_DP,
- DevPathLogicalUnit
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_USB_CLASS_DP,
- DevPathUsbClass
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_SATA_DP,
- DevPathSata
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_I2O_DP,
- DevPathI2O
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_MAC_ADDR_DP,
- DevPathMacAddr
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_IPv4_DP,
- DevPathIPv4
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_IPv6_DP,
- DevPathIPv6
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_INFINIBAND_DP,
- DevPathInfiniBand
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_UART_DP,
- DevPathUart
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_VENDOR_DP,
- DevPathVendor
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_ISCSI_DP,
- DevPathiSCSI
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_VLAN_DP,
- DevPathVlan
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_HARDDRIVE_DP,
- DevPathHardDrive
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_CDROM_DP,
- DevPathCDROM
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_VENDOR_DP,
- DevPathVendor
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_FILEPATH_DP,
- DevPathFilePath
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_PROTOCOL_DP,
- DevPathMediaProtocol
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_PIWG_FW_VOL_DP,
- DevPathFvPath,
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_PIWG_FW_FILE_DP,
- DevPathFvFilePath
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_RELATIVE_OFFSET_RANGE_DP,
- DevPathRelativeOffsetRange,
- },
- {
- BBS_DEVICE_PATH,
- BBS_BBS_DP,
- DevPathBssBss
- },
- {
- END_DEVICE_PATH_TYPE,
- END_INSTANCE_DEVICE_PATH_SUBTYPE,
- DevPathEndInstance
- },
- {
- 0,
- 0,
- NULL
- }
-};
-
-
-/**
This function converts an input device structure to a Unicode string.
@param DevPath A pointer to the device path structure.
@@ -1489,83 +29,5 @@ DevicePathToStr (
IN EFI_DEVICE_PATH_PROTOCOL *DevPath
)
{
- POOL_PRINT Str;
- EFI_DEVICE_PATH_PROTOCOL *DevPathNode;
- VOID (*DumpNode) (POOL_PRINT *, VOID *);
-
- UINTN Index;
- UINTN NewSize;
-
- EFI_STATUS Status;
- CHAR16 *ToText;
- EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *DevPathToText;
-
- ZeroMem (&Str, sizeof (Str));
-
- if (DevPath == NULL) {
- goto Done;
- }
-
- Status = gBS->LocateProtocol (
- &gEfiDevicePathToTextProtocolGuid,
- NULL,
- (VOID **) &DevPathToText
- );
- if (!EFI_ERROR (Status)) {
- ToText = DevPathToText->ConvertDevicePathToText (
- DevPath,
- FALSE,
- TRUE
- );
- ASSERT (ToText != NULL);
- return ToText;
- }
-
- //
- // Process each device path node
- //
- DevPathNode = DevPath;
- while (!IsDevicePathEnd (DevPathNode)) {
- //
- // Find the handler to dump this device path node
- //
- DumpNode = NULL;
- for (Index = 0; DevPathTable[Index].Function != NULL; Index += 1) {
-
- if (DevicePathType (DevPathNode) == DevPathTable[Index].Type &&
- DevicePathSubType (DevPathNode) == DevPathTable[Index].SubType
- ) {
- DumpNode = DevPathTable[Index].Function;
- break;
- }
- }
- //
- // If not found, use a generic function
- //
- if (!DumpNode) {
- DumpNode = DevPathNodeUnknown;
- }
- //
- // Put a path seperator in if needed
- //
- if ((Str.Len != 0) && (DumpNode != DevPathEndInstance)) {
- CatPrint (&Str, L"/");
- }
- //
- // Print this node of the device path
- //
- DumpNode (&Str, DevPathNode);
-
- //
- // Next device path node
- //
- DevPathNode = NextDevicePathNode (DevPathNode);
- }
-
-Done:
- NewSize = (Str.Len + 1) * sizeof (CHAR16);
- Str.Str = ReallocatePool (NewSize, NewSize, Str.Str);
- ASSERT (Str.Str != NULL);
- Str.Str[Str.Len] = 0;
- return Str.Str;
+ return ConvertDevicePathToText (DevPath, TRUE, TRUE);
}
diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf b/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
index 2d4a90f..545709c 100644
--- a/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
+++ b/IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
@@ -5,7 +5,7 @@
# 2) BDS boot device connect interface;
# 3) BDS Misc interfaces for mainting boot variable, ouput string, etc.
#
-# Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -70,24 +70,11 @@
ReportStatusCodeLib
[Guids]
- gEfiVT100PlusGuid ## CONSUMES ## GUID (The type of terminal)
- gEfiVT100Guid ## CONSUMES ## GUID (The type of terminal)
- ## CONSUMES ## GUID HOB (The hob holding memory type information)
gEfiMemoryTypeInformationGuid ## CONSUMES ## GUID (The identifier of memory type information type in system table)
- gEfiVTUTF8Guid ## CONSUMES ## GUID (The type of terminal)
- ## SOMETIMES_CONSUMES ## Variable:L"BootXX" (Boot option variable)
- ## CONSUMES ## Variable:L"Timeout" (The time out value in second of showing progress bar)
- ## SOMETIMES_CONSUMES ## Variable:L"BootOrder" (The boot option array)
- ## SOMETIMES_CONSUMES ## Variable:L"DriverOrder" (The driver order list)
- ## SOMETIMES_CONSUMES ## Variable:L"ConIn" (The device path of console in device)
- ## SOMETIMES_CONSUMES ## Variable:L"ConOut" (The device path of console out device)
- ## SOMETIMES_CONSUMES ## Variable:L"ErrOut" (The device path of error out device)
gEfiGlobalVariableGuid ## SOMETIMES_PRODUCES ## Variable:L"BootCurrent" (The boot option of current boot)
gEfiFileInfoGuid ## CONSUMES ## GUID
- gEfiPcAnsiGuid ## CONSUMES ## GUID (The type of terminal)
gPerformanceProtocolGuid ## SOMETIMES_PRODUCES ## Variable:L"PerfDataMemAddr" (The ACPI address of performance data)
gEfiUartDevicePathGuid ## CONSUMES ## GUID (Identify the device path for UARD device)
- gEfiSasDevicePathGuid ## CONSUMES ## GUID (Identify the device path for SAS device)
gLastEnumLangGuid ## SOMETIMES_PRODUCES ## Variable:L"LastEnumLang" (Platform language at last time enumeration.)
gHdBootDevicePathVariablGuid ## SOMETIMES_PRODUCES ## Variable:L"HDDP" (The device path of Boot file on Hard device.)
gBdsLibStringPackageGuid ## PRODUCES ## GUID (HII String PackageList Guid)
@@ -98,7 +85,6 @@
gEfiSimpleTextOutProtocolGuid # PROTOCOL CONSUMES
gEfiPciIoProtocolGuid # PROTOCOL CONSUMES
gEfiLoadedImageProtocolGuid # PROTOCOL CONSUMES
- gEfiDevicePathToTextProtocolGuid # PROTOCOL SOMETIMES_CONSUMES
gEfiSimpleNetworkProtocolGuid # PROTOCOL CONSUMES
gEfiDebugPortProtocolGuid # PROTOCOL CONSUMES
gEfiSimpleTextInProtocolGuid # PROTOCOL CONSUMES
diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/InternalBdsLib.h b/IntelFrameworkModulePkg/Library/GenericBdsLib/InternalBdsLib.h
index f6410a6..0a0dc37 100644
--- a/IntelFrameworkModulePkg/Library/GenericBdsLib/InternalBdsLib.h
+++ b/IntelFrameworkModulePkg/Library/GenericBdsLib/InternalBdsLib.h
@@ -31,7 +31,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Protocol/LegacyBios.h>
#include <Protocol/SimpleTextOut.h>
#include <Protocol/SimpleNetwork.h>
-#include <Protocol/DevicePathToText.h>
#include <Protocol/FirmwareVolume2.h>
#include <Protocol/PciIo.h>
#include <Protocol/AcpiS3Save.h>
diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h b/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h
index 348ce39..fc62a25 100644
--- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h
+++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.h
@@ -1,7 +1,7 @@
/** @file
Header files and data structures needed by PCI Bus module.
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -32,7 +32,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Protocol/IncompatiblePciDeviceSupport.h>
#include <Protocol/PciOverride.h>
#include <Protocol/PciEnumerationComplete.h>
-#include <Protocol/DevicePathToText.h>
#include <Library/DebugLib.h>
#include <Library/UefiDriverEntryPoint.h>
diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf b/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
index 8c557f2..34eb672 100644
--- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
+++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
@@ -5,7 +5,7 @@
# space for these devices. Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable
# hot plug supporting.
#
-# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -97,7 +97,6 @@
gEfiPciRootBridgeIoProtocolGuid ## CONSUMED
gEfiIncompatiblePciDeviceSupportProtocolGuid ## CONSUMED
gEfiLoadFile2ProtocolGuid ## CONSUMED
- gEfiDevicePathToTextProtocolGuid ## CONSUMED
[FeaturePcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdPciBusHotplugDeviceSupport
diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c
index 9e1184e..075cebd 100644
--- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c
+++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c
@@ -290,7 +290,6 @@ DumpResourceMap (
PCI_RESOURCE_NODE *ChildPMem32Node;
PCI_RESOURCE_NODE *ChildMem64Node;
PCI_RESOURCE_NODE *ChildPMem64Node;
- EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *ToText;
CHAR16 *Str;
DEBUG ((EFI_D_INFO, "PciBus: Resource Map for "));
@@ -309,19 +308,11 @@ DumpResourceMap (
Bridge->BusNumber, Bridge->DeviceNumber, Bridge->FunctionNumber
));
} else {
- Status = gBS->LocateProtocol (
- &gEfiDevicePathToTextProtocolGuid,
- NULL,
- (VOID **) &ToText
- );
- Str = NULL;
- if (!EFI_ERROR (Status)) {
- Str = ToText->ConvertDevicePathToText (
- DevicePathFromHandle (Bridge->Handle),
- FALSE,
- FALSE
- );
- }
+ Str = ConvertDevicePathToText (
+ DevicePathFromHandle (Bridge->Handle),
+ FALSE,
+ FALSE
+ );
DEBUG ((EFI_D_INFO, "Root Bridge %s\n", Str != NULL ? Str : L""));
if (Str != NULL) {
FreePool (Str);
diff --git a/MdeModulePkg/Universal/DriverSampleDxe/DriverSample.c b/MdeModulePkg/Universal/DriverSampleDxe/DriverSample.c
index 8af59f8..4208a22 100644
--- a/MdeModulePkg/Universal/DriverSampleDxe/DriverSample.c
+++ b/MdeModulePkg/Universal/DriverSampleDxe/DriverSample.c
@@ -1795,14 +1795,13 @@ DriverSampleInit (
BOOLEAN ActionFlag;
EFI_STRING ConfigRequestHdr;
MY_EFI_VARSTORE_DATA *VarStoreConfig;
- EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *PathToText;
//
// Initialize the local variables.
//
ConfigRequestHdr = NULL;
NewString = NULL;
- PathToText = NULL;
+
//
// Initialize screen dimensions for SendForm().
// Remove 3 characters from top and bottom
@@ -1918,18 +1917,11 @@ DriverSampleInit (
}
PrivateData->HiiHandle[1] = HiiHandle[1];
-
- Status = gBS->LocateProtocol (
- &gEfiDevicePathToTextProtocolGuid,
- NULL,
- (VOID **) &PathToText
- );
- ASSERT_EFI_ERROR (Status);
//
// Update the device path string.
//
- NewString = PathToText->ConvertDevicePathToText((EFI_DEVICE_PATH_PROTOCOL*)&mHiiVendorDevicePath0, FALSE, FALSE);
+ NewString = ConvertDevicePathToText((EFI_DEVICE_PATH_PROTOCOL*)&mHiiVendorDevicePath0, FALSE, FALSE);
if (HiiSetString (HiiHandle[0], STRING_TOKEN (STR_DEVICE_PATH), NewString, NULL) == 0) {
DriverSampleUnload (ImageHandle);
return EFI_OUT_OF_RESOURCES;
diff --git a/MdeModulePkg/Universal/DriverSampleDxe/DriverSample.h b/MdeModulePkg/Universal/DriverSampleDxe/DriverSample.h
index 5babd47..b1cbbb7 100644
--- a/MdeModulePkg/Universal/DriverSampleDxe/DriverSample.h
+++ b/MdeModulePkg/Universal/DriverSampleDxe/DriverSample.h
@@ -31,7 +31,6 @@ Revision History
#include <Protocol/HiiConfigAccess.h>
#include <Protocol/HiiDatabase.h>
#include <Protocol/HiiString.h>
-#include <Protocol/DevicePathToText.h>
#include <Guid/MdeModuleHii.h>
#include <Library/DebugLib.h>
diff --git a/MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf b/MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf
index f7ddbf5..5a3dbdb 100644
--- a/MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf
+++ b/MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf
@@ -55,6 +55,7 @@
HiiLib
PrintLib
UefiLib
+ DevicePathLib
[Guids]
gEfiIfrTianoGuid ## CONSUMES ## Guid
@@ -70,8 +71,6 @@
gEfiHiiDatabaseProtocolGuid ## CONSUMES
gEfiSimpleTextInputExProtocolGuid ## CONSUMES
- gEfiDevicePathToTextProtocolGuid ## CONSUMES
-
[Depex]
gEfiSimpleTextOutProtocolGuid AND gEfiHiiDatabaseProtocolGuid AND gEfiVariableArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid
diff --git a/MdeModulePkg/Universal/PlatformDriOverrideDxe/InternalPlatDriOverrideDxe.h b/MdeModulePkg/Universal/PlatformDriOverrideDxe/InternalPlatDriOverrideDxe.h
index 60113fe..75af763 100644
--- a/MdeModulePkg/Universal/PlatformDriOverrideDxe/InternalPlatDriOverrideDxe.h
+++ b/MdeModulePkg/Universal/PlatformDriOverrideDxe/InternalPlatDriOverrideDxe.h
@@ -2,7 +2,7 @@
Ihe internal heder file includes the required Protocol/Guid/Library
and the shared function APIs.
-Copyright (c) 2007 - 2009, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -29,7 +29,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Protocol/ComponentName2.h>
#include <Protocol/ComponentName.h>
#include <Protocol/DriverBinding.h>
-#include <Protocol/DevicePathToText.h>
#include <Protocol/DevicePath.h>
#include <Protocol/PlatformDriverOverride.h>
#include <Guid/MdeModuleHii.h>
diff --git a/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideDxe.c b/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideDxe.c
index 9c0064d..ab254a0 100644
--- a/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideDxe.c
+++ b/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideDxe.c
@@ -13,7 +13,7 @@
4. It save all the mapping info in NV variables which will be consumed
by platform override protocol driver to publish the platform override protocol.
-Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -104,45 +104,29 @@ HII_VENDOR_DEVICE_PATH mHiiVendorDevicePath = {
};
/**
- Converting a given device to an unicode string.
-
- This function will dependent on gEfiDevicePathToTextProtocolGuid, if protocol
- does not installed, then return unknown device path L"?" directly.
-
+ Converting a given device to an unicode string.
+
@param DevPath Given device path instance
@return Converted string from given device path.
- @retval L"?" Can not locate gEfiDevicePathToTextProtocolGuid protocol for converting.
+ @retval L"?" Converting failed.
**/
CHAR16 *
DevicePathToStr (
IN EFI_DEVICE_PATH_PROTOCOL *DevPath
)
{
- EFI_STATUS Status;
- EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *DevPathToText;
- CHAR16 *ToText;
-
- if (DevPath == NULL) {
- return L"";
- }
-
- Status = gBS->LocateProtocol (
- &gEfiDevicePathToTextProtocolGuid,
- NULL,
- (VOID **) &DevPathToText
- );
- if (!EFI_ERROR (Status)) {
- ToText = DevPathToText->ConvertDevicePathToText (
- DevPath,
- FALSE,
- TRUE
- );
- ASSERT (ToText != NULL);
- return ToText;
+ CHAR16 *Text;
+ Text = ConvertDevicePathToText (
+ DevPath,
+ FALSE,
+ TRUE
+ );
+ if (Text == NULL) {
+ return AllocateCopyPool (sizeof (L"?"), L"?");
+ } else {
+ return Text;
}
-
- return L"?";
}
/**
diff --git a/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf b/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf
index bf333d2..9702f24 100644
--- a/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf
+++ b/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf
@@ -16,7 +16,7 @@
# 4. It save all the mapping info in NV variables for the following boot,
# which will be consumed by GetDriver API of the produced the platform override protocol.
#
-# Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -95,7 +95,6 @@
gEfiFormBrowser2ProtocolGuid ## CONSUMED
gEfiHiiConfigRoutingProtocolGuid ## CONSUMED
gEfiHiiConfigAccessProtocolGuid ## PRODUCED
- gEfiDevicePathToTextProtocolGuid ## CONSUMED
gEfiPlatformDriverOverrideProtocolGuid ## PRODUCED
[Depex]
diff --git a/Nt32Pkg/Nt32Pkg.dsc b/Nt32Pkg/Nt32Pkg.dsc
index cbd56ce..d543c72 100644
--- a/Nt32Pkg/Nt32Pkg.dsc
+++ b/Nt32Pkg/Nt32Pkg.dsc
@@ -79,7 +79,7 @@
UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
- DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
@@ -269,6 +269,7 @@
MdeModulePkg/Core/Dxe/DxeMain.inf {
<LibraryClasses>
NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
<BuildOptions>
*_*_IA32_CC_FLAGS =
}
@@ -311,7 +312,10 @@
<LibraryClasses>
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
}
- MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+ MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
+ <LibraryClasses>
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ }
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
diff --git a/Nt32Pkg/Nt32Pkg.fdf b/Nt32Pkg/Nt32Pkg.fdf
index 959166b..51a8666 100644
--- a/Nt32Pkg/Nt32Pkg.fdf
+++ b/Nt32Pkg/Nt32Pkg.fdf
@@ -160,6 +160,7 @@ APRIORI PEI {
INF Nt32Pkg/WinNtOemHookStatusCodeHandlerPei/WinNtOemHookStatusCodeHandlerPei.inf
}
APRIORI DXE {
+ INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
INF Nt32Pkg/MetronomeDxe/MetronomeDxe.inf
}
diff --git a/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c b/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c
index 58531a8..bdf9fcd 100644
--- a/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c
+++ b/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c
@@ -1,7 +1,7 @@
/** @file
Platform BDS customizations.
- Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -222,14 +222,16 @@ Returns:
// Print Device Path
//
DevPathStr = DevicePathToStr(DevicePath);
- DEBUG((
- EFI_D_INFO,
- "BdsPlatform.c+%d: COM%d DevPath: %s\n",
- __LINE__,
- gPnp16550ComPortDeviceNode.UID + 1,
- DevPathStr
- ));
- FreePool(DevPathStr);
+ if (DevPathStr != NULL) {
+ DEBUG((
+ EFI_D_INFO,
+ "BdsPlatform.c+%d: COM%d DevPath: %s\n",
+ __LINE__,
+ gPnp16550ComPortDeviceNode.UID + 1,
+ DevPathStr
+ ));
+ FreePool(DevPathStr);
+ }
BdsLibUpdateConsoleVariable (VarConsoleOut, DevicePath, NULL);
BdsLibUpdateConsoleVariable (VarConsoleInp, DevicePath, NULL);
@@ -249,14 +251,16 @@ Returns:
// Print Device Path
//
DevPathStr = DevicePathToStr(DevicePath);
- DEBUG((
- EFI_D_INFO,
- "BdsPlatform.c+%d: COM%d DevPath: %s\n",
- __LINE__,
- gPnp16550ComPortDeviceNode.UID + 1,
- DevPathStr
- ));
- FreePool(DevPathStr);
+ if (DevPathStr != NULL) {
+ DEBUG((
+ EFI_D_INFO,
+ "BdsPlatform.c+%d: COM%d DevPath: %s\n",
+ __LINE__,
+ gPnp16550ComPortDeviceNode.UID + 1,
+ DevPathStr
+ ));
+ FreePool(DevPathStr);
+ }
BdsLibUpdateConsoleVariable (VarConsoleOut, DevicePath, NULL);
BdsLibUpdateConsoleVariable (VarConsoleInp, DevicePath, NULL);
@@ -800,12 +804,14 @@ ConnectRecursivelyIfPciMassStorage (
// Print Device Path
//
DevPathStr = DevicePathToStr (DevicePath);
- DEBUG((
- EFI_D_INFO,
- "Found Mass Storage device: %s\n",
- DevPathStr
- ));
- FreePool(DevPathStr);
+ if (DevPathStr != NULL) {
+ DEBUG((
+ EFI_D_INFO,
+ "Found Mass Storage device: %s\n",
+ DevPathStr
+ ));
+ FreePool(DevPathStr);
+ }
Status = gBS->ConnectController (Handle, NULL, NULL, TRUE);
if (EFI_ERROR (Status)) {
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index 62f0795..544c14b 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -1,7 +1,7 @@
## @file
# EFI/Framework Open Virtual Machine Firmware (OVMF) platform
#
-# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -77,7 +77,7 @@
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
- DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
NvVarsFileLib|OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf
FileHandleLib|ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
@@ -290,6 +290,7 @@
MdeModulePkg/Core/Dxe/DxeMain.inf {
<LibraryClasses>
NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
}
IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
@@ -340,7 +341,11 @@
MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
- MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+ MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
+ <LibraryClasses>
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+ }
MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
index ef95151..933766d 100644
--- a/OvmfPkg/OvmfPkgIa32.fdf
+++ b/OvmfPkg/OvmfPkgIa32.fdf
@@ -1,7 +1,7 @@
## @file
# Open Virtual Machine Firmware: FDF
#
-# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -140,6 +140,7 @@ READ_LOCK_CAP = TRUE
READ_LOCK_STATUS = TRUE
APRIORI DXE {
+ INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
}
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index 751b95b..3d992d2 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -1,7 +1,7 @@
## @file
# EFI/Framework Open Virtual Machine Firmware (OVMF) platform
#
-# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -77,7 +77,7 @@
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
- DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
NvVarsFileLib|OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf
FileHandleLib|ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
@@ -292,6 +292,7 @@
MdeModulePkg/Core/Dxe/DxeMain.inf {
<LibraryClasses>
NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
}
IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
@@ -342,7 +343,11 @@
MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
- MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+ MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
+ <LibraryClasses>
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+ }
MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
index cd8a414..d294557 100644
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
@@ -1,7 +1,7 @@
## @file
# Open Virtual Machine Firmware: FDF
#
-# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -140,6 +140,7 @@ READ_LOCK_CAP = TRUE
READ_LOCK_STATUS = TRUE
APRIORI DXE {
+ INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
}
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 1c7c727..13563eb 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -1,7 +1,7 @@
## @file
# EFI/Framework Open Virtual Machine Firmware (OVMF) platform
#
-# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -77,7 +77,7 @@
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
- DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
NvVarsFileLib|OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf
FileHandleLib|ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
@@ -291,6 +291,7 @@
MdeModulePkg/Core/Dxe/DxeMain.inf {
<LibraryClasses>
NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
}
IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
@@ -341,7 +342,11 @@
MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
- MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+ MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
+ <LibraryClasses>
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+ }
MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
index 29b5103..1b6db5e 100644
--- a/OvmfPkg/OvmfPkgX64.fdf
+++ b/OvmfPkg/OvmfPkgX64.fdf
@@ -1,7 +1,7 @@
## @file
# Open Virtual Machine Firmware: FDF
#
-# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -140,6 +140,7 @@ READ_LOCK_CAP = TRUE
READ_LOCK_STATUS = TRUE
APRIORI DXE {
+ INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
}
diff --git a/PerformancePkg/Dp_App/Dp.inf b/PerformancePkg/Dp_App/Dp.inf
index a27ebe6..c6c76b4 100644
--- a/PerformancePkg/Dp_App/Dp.inf
+++ b/PerformancePkg/Dp_App/Dp.inf
@@ -1,7 +1,7 @@
## @file
# Display Performance Application, Module information file.
#
-# Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -66,7 +66,6 @@
gEfiDriverBindingProtocolGuid # SOMETIMES_CONSUMED
gEfiComponentName2ProtocolGuid # SOMETIMES_CONSUMED
gEfiLoadedImageDevicePathProtocolGuid # SOMETIMES_CONSUMED
- gEfiDevicePathToTextProtocolGuid # SOMETIMES_CONSUMED
[Pcd]
gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize
diff --git a/PerformancePkg/Dp_App/DpUtilities.c b/PerformancePkg/Dp_App/DpUtilities.c
index 5e16070..4daca0b 100644
--- a/PerformancePkg/Dp_App/DpUtilities.c
+++ b/PerformancePkg/Dp_App/DpUtilities.c
@@ -1,7 +1,7 @@
/** @file
Utility functions used by the Dp application.
- Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -31,7 +31,6 @@
#include <Protocol/DriverBinding.h>
#include <Protocol/ComponentName2.h>
#include <Protocol/DevicePath.h>
-#include <Protocol/DevicePathToText.h>
#include <Guid/Performance.h>
@@ -220,7 +219,6 @@ GetNameFromHandle (
UINTN StringSize;
CHAR8 *PlatformLanguage;
EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2;
- EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *DevicePathToText;
//
// Method 1: Get the name string from image PDB
@@ -336,19 +334,12 @@ GetNameFromHandle (
//
// Method 5: Get the name string from image DevicePath
//
- Status = gBS->LocateProtocol (
- &gEfiDevicePathToTextProtocolGuid,
- NULL,
- (VOID **) &DevicePathToText
- );
- if (!EFI_ERROR (Status)) {
- NameString = DevicePathToText->ConvertDevicePathToText (LoadedImageDevicePath, TRUE, FALSE);
- if (NameString != NULL) {
- StrnCpy (mGaugeString, NameString, DP_GAUGE_STRING_LENGTH);
- mGaugeString[DP_GAUGE_STRING_LENGTH] = 0;
- FreePool (NameString);
- return;
- }
+ NameString = ConvertDevicePathToText (LoadedImageDevicePath, TRUE, FALSE);
+ if (NameString != NULL) {
+ StrnCpy (mGaugeString, NameString, DP_GAUGE_STRING_LENGTH);
+ mGaugeString[DP_GAUGE_STRING_LENGTH] = 0;
+ FreePool (NameString);
+ return;
}
}
}
diff --git a/PerformancePkg/PerformancePkg.dsc b/PerformancePkg/PerformancePkg.dsc
index 0274229..33b3792 100644
--- a/PerformancePkg/PerformancePkg.dsc
+++ b/PerformancePkg/PerformancePkg.dsc
@@ -41,7 +41,7 @@
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
- DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathProtocol.inf
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
diff --git a/SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.c b/SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.c
index 665e4b6..d11ec13 100644
--- a/SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.c
+++ b/SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.c
@@ -31,7 +31,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Protocol/TcgService.h>
#include <Protocol/BlockIo.h>
#include <Protocol/DiskIo.h>
-#include <Protocol/DevicePathToText.h>
#include <Protocol/FirmwareVolumeBlock.h>
#include <Guid/MeasuredFvHob.h>
@@ -940,21 +939,14 @@ DxeTpmMeasureBootHandler (
//
DEBUG_CODE_BEGIN ();
CHAR16 *ToText;
- EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *DevPathToText;
- Status = gBS->LocateProtocol (
- &gEfiDevicePathToTextProtocolGuid,
- NULL,
- (VOID **) &DevPathToText
- );
- if (!EFI_ERROR (Status)) {
- ToText = DevPathToText->ConvertDevicePathToText (
- DevicePathNode,
- FALSE,
- TRUE
- );
- if (ToText != NULL) {
- DEBUG ((DEBUG_INFO, "The measured image path is %s.\n", ToText));
- }
+ ToText = ConvertDevicePathToText (
+ DevicePathNode,
+ FALSE,
+ TRUE
+ );
+ if (ToText != NULL) {
+ DEBUG ((DEBUG_INFO, "The measured image path is %s.\n", ToText));
+ FreePool (ToText);
}
DEBUG_CODE_END ();
diff --git a/SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf b/SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
index 53b26b0..8552c12 100644
--- a/SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
+++ b/SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
@@ -6,7 +6,7 @@
# This external input must be validated carefully to avoid security issue like
# buffer overflow, integer overflow.
#
-# Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -60,4 +60,4 @@
gEfiFirmwareVolumeBlockProtocolGuid ## CONSUMES
gEfiBlockIoProtocolGuid ## CONSUMES
gEfiDiskIoProtocolGuid ## CONSUMES
- gEfiDevicePathToTextProtocolGuid ## SOMETIMES_CONSUMES (Only used in debug mode)
+
diff --git a/SecurityPkg/UserIdentification/UserProfileManagerDxe/ModifyAccessPolicy.c b/SecurityPkg/UserIdentification/UserProfileManagerDxe/ModifyAccessPolicy.c
index 97bb077..5b4171d 100644
--- a/SecurityPkg/UserIdentification/UserProfileManagerDxe/ModifyAccessPolicy.c
+++ b/SecurityPkg/UserIdentification/UserProfileManagerDxe/ModifyAccessPolicy.c
@@ -1,7 +1,7 @@
/** @file
The functions for access policy modification.
-Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -229,25 +229,11 @@ AddDevicePath (
IN VOID *OpCodeHandle
)
{
- EFI_STATUS Status;
EFI_DEVICE_PATH_PROTOCOL *Next;
EFI_STRING_ID NameID;
EFI_STRING DriverName;
- EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *DevicePathText;
//
- // Locate device path to text protocol.
- //
- Status = gBS->LocateProtocol (
- &gEfiDevicePathToTextProtocolGuid,
- NULL,
- (VOID **) &DevicePathText
- );
- if (EFI_ERROR (Status)) {
- return ;
- }
-
- //
// Get driver file name node.
//
Next = DevicePath;
@@ -259,7 +245,7 @@ AddDevicePath (
//
// Display the device path in form.
//
- DriverName = DevicePathText->ConvertDevicePathToText (DevicePath, FALSE, FALSE);
+ DriverName = ConvertDevicePathToText (DevicePath, FALSE, FALSE);
NameID = HiiSetString (mCallbackInfo->HiiHandle, 0, DriverName, NULL);
FreePool (DriverName);
if (NameID == 0) {
diff --git a/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManager.h b/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManager.h
index fc0efaa..afa420e 100644
--- a/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManager.h
+++ b/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManager.h
@@ -1,7 +1,7 @@
/** @file
The header file for user profile manager driver.
-Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -21,7 +21,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Guid/MdeModuleHii.h>
#include <Protocol/HiiConfigAccess.h>
-#include <Protocol/DevicePathToText.h>
#include <Protocol/UserCredential2.h>
#include <Protocol/UserManager.h>
diff --git a/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManagerDxe.inf b/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManagerDxe.inf
index bd19323..847aaa2 100644
--- a/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManagerDxe.inf
+++ b/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManagerDxe.inf
@@ -1,7 +1,7 @@
## @file
# Component description file for user profile manager driver.
#
-# Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -45,6 +45,7 @@
DebugLib
HiiLib
UefiLib
+ DevicePathLib
[Guids]
gEfiIfrTianoGuid ## CONSUMES ## Guid
@@ -58,7 +59,6 @@
gEfiHiiConfigAccessProtocolGuid
gEfiUserCredential2ProtocolGuid
gEfiUserManagerProtocolGuid
- gEfiDevicePathToTextProtocolGuid
[Depex]
gEfiUserManagerProtocolGuid \ No newline at end of file
diff --git a/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDevicePath.c b/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDevicePath.c
index ae44626..28c4d4f 100644
--- a/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDevicePath.c
+++ b/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDevicePath.c
@@ -1,7 +1,7 @@
/** @file
Internal function defines the default device path string for SecureBoot configuration module.
-Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2012 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -14,1431 +14,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "SecureBootConfigImpl.h"
-/**
- Concatenates a formatted unicode string to allocated pool.
- The caller must free the resulting buffer.
-
- @param[in, out] Str Tracks the allocated pool, size in use, and amount of pool allocated.
- @param[in] Fmt The format string
- @param[in] ... The data will be printed.
-
- @return Allocated buffer with the formatted string printed in it.
- The caller must free the allocated buffer.
- The buffer allocation is not packed.
-
-**/
-CHAR16 *
-EFIAPI
-CatPrint (
- IN OUT POOL_PRINT *Str,
- IN CHAR16 *Fmt,
- ...
- )
-{
- UINT16 *AppendStr;
- VA_LIST Args;
- UINTN StringSize;
-
- AppendStr = AllocateZeroPool (0x1000);
- if (AppendStr == NULL) {
- return Str->Str;
- }
-
- VA_START (Args, Fmt);
- UnicodeVSPrint (AppendStr, 0x1000, Fmt, Args);
- VA_END (Args);
- if (NULL == Str->Str) {
- StringSize = StrSize (AppendStr);
- Str->Str = AllocateZeroPool (StringSize);
- ASSERT (Str->Str != NULL);
- } else {
- StringSize = StrSize (AppendStr);
- StringSize += (StrSize (Str->Str) - sizeof (UINT16));
-
- Str->Str = ReallocatePool (
- StrSize (Str->Str),
- StringSize,
- Str->Str
- );
- ASSERT (Str->Str != NULL);
- }
-
- Str->Maxlen = MAX_CHAR * sizeof (UINT16);
- if (StringSize < Str->Maxlen) {
- StrCat (Str->Str, AppendStr);
- Str->Len = StringSize - sizeof (UINT16);
- }
-
- FreePool (AppendStr);
- return Str->Str;
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathPci (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- PCI_DEVICE_PATH *Pci;
-
- Pci = DevPath;
- CatPrint (Str, L"Pci(%x|%x)", (UINTN) Pci->Device, (UINTN) Pci->Function);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathPccard (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- PCCARD_DEVICE_PATH *Pccard;
-
- Pccard = DevPath;
- CatPrint (Str, L"Pcmcia(Function%x)", (UINTN) Pccard->FunctionNumber);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathMemMap (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- MEMMAP_DEVICE_PATH *MemMap;
-
- MemMap = DevPath;
- CatPrint (
- Str,
- L"MemMap(%d:%lx-%lx)",
- (UINTN) MemMap->MemoryType,
- MemMap->StartingAddress,
- MemMap->EndingAddress
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathController (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- CONTROLLER_DEVICE_PATH *Controller;
-
- Controller = DevPath;
- CatPrint (Str, L"Ctrl(%d)", (UINTN) Controller->ControllerNumber);
-}
-
-
-/**
- Convert Vendor device path to device name.
-
- @param[in, out] Str The buffer store device name
- @param[in] DevPath Pointer to vendor device path
-
-**/
-VOID
-DevPathVendor (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- VENDOR_DEVICE_PATH *Vendor;
- CHAR16 *Type;
- UINTN DataLength;
- UINTN Index;
- UINT32 FlowControlMap;
-
- UINT16 Info;
-
- Vendor = DevPath;
-
- switch (DevicePathType (&Vendor->Header)) {
- case HARDWARE_DEVICE_PATH:
- Type = L"Hw";
- break;
-
- case MESSAGING_DEVICE_PATH:
- Type = L"Msg";
- if (CompareGuid (&Vendor->Guid, &gEfiPcAnsiGuid)) {
- CatPrint (Str, L"VenPcAnsi()");
- return ;
- } else if (CompareGuid (&Vendor->Guid, &gEfiVT100Guid)) {
- CatPrint (Str, L"VenVt100()");
- return ;
- } else if (CompareGuid (&Vendor->Guid, &gEfiVT100PlusGuid)) {
- CatPrint (Str, L"VenVt100Plus()");
- return ;
- } else if (CompareGuid (&Vendor->Guid, &gEfiVTUTF8Guid)) {
- CatPrint (Str, L"VenUft8()");
- return ;
- } else if (CompareGuid (&Vendor->Guid, &gEfiUartDevicePathGuid )) {
- FlowControlMap = (((UART_FLOW_CONTROL_DEVICE_PATH *) Vendor)->FlowControlMap);
- switch (FlowControlMap & 0x00000003) {
- case 0:
- CatPrint (Str, L"UartFlowCtrl(%s)", L"None");
- break;
-
- case 1:
- CatPrint (Str, L"UartFlowCtrl(%s)", L"Hardware");
- break;
-
- case 2:
- CatPrint (Str, L"UartFlowCtrl(%s)", L"XonXoff");
- break;
-
- default:
- break;
- }
-
- return ;
-
- } else if (CompareGuid (&Vendor->Guid, &gEfiSasDevicePathGuid)) {
- CatPrint (
- Str,
- L"SAS(%lx,%lx,%x,",
- ((SAS_DEVICE_PATH *) Vendor)->SasAddress,
- ((SAS_DEVICE_PATH *) Vendor)->Lun,
- (UINTN) ((SAS_DEVICE_PATH *) Vendor)->RelativeTargetPort
- );
- Info = (((SAS_DEVICE_PATH *) Vendor)->DeviceTopology);
- if ((Info & 0x0f) == 0) {
- CatPrint (Str, L"NoTopology,0,0,0,");
- } else if (((Info & 0x0f) == 1) || ((Info & 0x0f) == 2)) {
- CatPrint (
- Str,
- L"%s,%s,%s,",
- ((Info & (0x1 << 4)) != 0) ? L"SATA" : L"SAS",
- ((Info & (0x1 << 5)) != 0) ? L"External" : L"Internal",
- ((Info & (0x1 << 6)) != 0) ? L"Expanded" : L"Direct"
- );
- if ((Info & 0x0f) == 1) {
- CatPrint (Str, L"0,");
- } else {
- CatPrint (Str, L"%x,", (UINTN) ((Info >> 8) & 0xff));
- }
- } else {
- CatPrint (Str, L"0,0,0,0,");
- }
-
- CatPrint (Str, L"%x)", (UINTN) ((SAS_DEVICE_PATH *) Vendor)->Reserved);
- return ;
-
- } else if (CompareGuid (&Vendor->Guid, &gEfiDebugPortProtocolGuid)) {
- CatPrint (Str, L"DebugPort()");
- return ;
- }
- break;
-
- case MEDIA_DEVICE_PATH:
- Type = L"Media";
- break;
-
- default:
- Type = L"?";
- break;
- }
-
- CatPrint (Str, L"Ven%s(%g", Type, &Vendor->Guid);
- DataLength = DevicePathNodeLength (&Vendor->Header) - sizeof (VENDOR_DEVICE_PATH);
- if (DataLength > 0) {
- CatPrint (Str, L",");
- for (Index = 0; Index < DataLength; Index++) {
- CatPrint (Str, L"%02x", (UINTN) ((VENDOR_DEVICE_PATH_WITH_DATA *) Vendor)->VendorDefinedData[Index]);
- }
- }
- CatPrint (Str, L")");
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathAcpi (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- ACPI_HID_DEVICE_PATH *Acpi;
-
- Acpi = DevPath;
- if ((Acpi->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {
- CatPrint (Str, L"Acpi(PNP%04x,%x)", (UINTN) EISA_ID_TO_NUM (Acpi->HID), (UINTN) Acpi->UID);
- } else {
- CatPrint (Str, L"Acpi(%08x,%x)", (UINTN) Acpi->HID, (UINTN) Acpi->UID);
- }
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathExtendedAcpi (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- ACPI_EXTENDED_HID_DEVICE_PATH *ExtendedAcpi;
-
- //
- // Index for HID, UID and CID strings, 0 for non-exist
- //
- UINT16 HIDSTRIdx;
- UINT16 UIDSTRIdx;
- UINT16 CIDSTRIdx;
- UINT16 Index;
- UINT16 Length;
- UINT16 Anchor;
- CHAR8 *AsChar8Array;
-
- HIDSTRIdx = 0;
- UIDSTRIdx = 0;
- CIDSTRIdx = 0;
- ExtendedAcpi = DevPath;
- Length = (UINT16) DevicePathNodeLength ((EFI_DEVICE_PATH_PROTOCOL *) ExtendedAcpi);
-
- AsChar8Array = (CHAR8 *) ExtendedAcpi;
-
- //
- // find HIDSTR
- //
- Anchor = 16;
- for (Index = Anchor; Index < Length && AsChar8Array[Index] != '\0'; Index++) {
- ;
- }
- if (Index > Anchor) {
- HIDSTRIdx = Anchor;
- }
- //
- // find UIDSTR
- //
- Anchor = (UINT16) (Index + 1);
- for (Index = Anchor; Index < Length && AsChar8Array[Index] != '\0'; Index++) {
- ;
- }
- if (Index > Anchor) {
- UIDSTRIdx = Anchor;
- }
- //
- // find CIDSTR
- //
- Anchor = (UINT16) (Index + 1);
- for (Index = Anchor; Index < Length && AsChar8Array[Index] != '\0'; Index++) {
- ;
- }
- if (Index > Anchor) {
- CIDSTRIdx = Anchor;
- }
-
- if (HIDSTRIdx == 0 && CIDSTRIdx == 0 && ExtendedAcpi->UID == 0) {
- CatPrint (Str, L"AcpiExp(");
- if ((ExtendedAcpi->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {
- CatPrint (Str, L"PNP%04x,", (UINTN) EISA_ID_TO_NUM (ExtendedAcpi->HID));
- } else {
- CatPrint (Str, L"%08x,", (UINTN) ExtendedAcpi->HID);
- }
- if ((ExtendedAcpi->CID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {
- CatPrint (Str, L"PNP%04x,", (UINTN) EISA_ID_TO_NUM (ExtendedAcpi->CID));
- } else {
- CatPrint (Str, L"%08x,", (UINTN) ExtendedAcpi->CID);
- }
- if (UIDSTRIdx != 0) {
- CatPrint (Str, L"%a)", AsChar8Array + UIDSTRIdx);
- } else {
- CatPrint (Str, L"\"\")");
- }
- } else {
- CatPrint (Str, L"AcpiEx(");
- if ((ExtendedAcpi->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {
- CatPrint (Str, L"PNP%04x,", (UINTN) EISA_ID_TO_NUM (ExtendedAcpi->HID));
- } else {
- CatPrint (Str, L"%08x,", (UINTN) ExtendedAcpi->HID);
- }
- if ((ExtendedAcpi->CID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {
- CatPrint (Str, L"PNP%04x,", (UINTN) EISA_ID_TO_NUM (ExtendedAcpi->CID));
- } else {
- CatPrint (Str, L"%08x,", (UINTN) ExtendedAcpi->CID);
- }
- CatPrint (Str, L"%x,", (UINTN) ExtendedAcpi->UID);
-
- if (HIDSTRIdx != 0) {
- CatPrint (Str, L"%a,", AsChar8Array + HIDSTRIdx);
- } else {
- CatPrint (Str, L"\"\",");
- }
- if (CIDSTRIdx != 0) {
- CatPrint (Str, L"%a,", AsChar8Array + CIDSTRIdx);
- } else {
- CatPrint (Str, L"\"\",");
- }
- if (UIDSTRIdx != 0) {
- CatPrint (Str, L"%a)", AsChar8Array + UIDSTRIdx);
- } else {
- CatPrint (Str, L"\"\")");
- }
- }
-
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathAdrAcpi (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- 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(%x", (UINTN) AcpiAdr->ADR);
- for (Index = 0; Index < AdditionalAdrCount; Index++) {
- CatPrint (Str, L",%x", (UINTN) *(UINT32 *) ((UINT8 *) AcpiAdr + 8 + Index * 4));
- }
- CatPrint (Str, L")");
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathAtapi (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- ATAPI_DEVICE_PATH *Atapi;
-
- Atapi = DevPath;
- CatPrint (
- Str,
- L"Ata(%s,%s)",
- (Atapi->PrimarySecondary != 0)? L"Secondary" : L"Primary",
- (Atapi->SlaveMaster != 0)? L"Slave" : L"Master"
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathScsi (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- SCSI_DEVICE_PATH *Scsi;
-
- Scsi = DevPath;
- CatPrint (Str, L"Scsi(Pun%x,Lun%x)", (UINTN) Scsi->Pun, (UINTN) Scsi->Lun);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathFibre (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- FIBRECHANNEL_DEVICE_PATH *Fibre;
-
- Fibre = DevPath;
- CatPrint (Str, L"Fibre(Wwn%lx,Lun%x)", Fibre->WWN, Fibre->Lun);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPath1394 (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- F1394_DEVICE_PATH *F1394Path;
-
- F1394Path = DevPath;
- CatPrint (Str, L"1394(%lx)", &F1394Path->Guid);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathUsb (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- USB_DEVICE_PATH *Usb;
-
- Usb = DevPath;
- CatPrint (Str, L"Usb(%x,%x)", (UINTN) Usb->ParentPortNumber, (UINTN) Usb->InterfaceNumber);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathUsbWWID (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- USB_WWID_DEVICE_PATH *UsbWWId;
-
- UsbWWId = DevPath;
- CatPrint (
- Str,
- L"UsbWwid(%x,%x,%x,\"WWID\")",
- (UINTN) UsbWWId->VendorId,
- (UINTN) UsbWWId->ProductId,
- (UINTN) UsbWWId->InterfaceNumber
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathLogicalUnit (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- DEVICE_LOGICAL_UNIT_DEVICE_PATH *LogicalUnit;
-
- LogicalUnit = DevPath;
- CatPrint (Str, L"Unit(%x)", (UINTN) LogicalUnit->Lun);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathUsbClass (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- USB_CLASS_DEVICE_PATH *UsbClass;
-
- UsbClass = DevPath;
- CatPrint (
- Str,
- L"Usb Class(%x,%x,%x,%x,%x)",
- (UINTN) UsbClass->VendorId,
- (UINTN) UsbClass->ProductId,
- (UINTN) UsbClass->DeviceClass,
- (UINTN) UsbClass->DeviceSubClass,
- (UINTN) UsbClass->DeviceProtocol
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathSata (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- SATA_DEVICE_PATH *Sata;
-
- Sata = DevPath;
- if ((Sata->PortMultiplierPortNumber & SATA_HBA_DIRECT_CONNECT_FLAG) != 0) {
- CatPrint (
- Str,
- L"Sata(%x,%x)",
- (UINTN) Sata->HBAPortNumber,
- (UINTN) Sata->Lun
- );
- } else {
- CatPrint (
- Str,
- L"Sata(%x,%x,%x)",
- (UINTN) Sata->HBAPortNumber,
- (UINTN) Sata->PortMultiplierPortNumber,
- (UINTN) Sata->Lun
- );
- }
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathI2O (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- I2O_DEVICE_PATH *I2OPath;
-
- I2OPath = DevPath;
- CatPrint (Str, L"I2O(%x)", (UINTN) I2OPath->Tid);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathMacAddr (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- MAC_ADDR_DEVICE_PATH *MACDevPath;
- UINTN HwAddressSize;
- UINTN Index;
-
- MACDevPath = DevPath;
-
- HwAddressSize = sizeof (EFI_MAC_ADDRESS);
- if (MACDevPath->IfType == 0x01 || MACDevPath->IfType == 0x00) {
- HwAddressSize = 6;
- }
-
- CatPrint (Str, L"Mac(");
-
- for (Index = 0; Index < HwAddressSize; Index++) {
- CatPrint (Str, L"%02x", (UINTN) MACDevPath->MacAddress.Addr[Index]);
- }
-
- CatPrint (Str, L")");
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathIPv4 (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- IPv4_DEVICE_PATH *IPDevPath;
-
- IPDevPath = DevPath;
- CatPrint (
- Str,
- L"IPv4(%d.%d.%d.%d:%d)",
- (UINTN) IPDevPath->RemoteIpAddress.Addr[0],
- (UINTN) IPDevPath->RemoteIpAddress.Addr[1],
- (UINTN) IPDevPath->RemoteIpAddress.Addr[2],
- (UINTN) IPDevPath->RemoteIpAddress.Addr[3],
- (UINTN) IPDevPath->RemotePort
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathIPv6 (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- IPv6_DEVICE_PATH *IPv6DevPath;
-
- IPv6DevPath = DevPath;
- CatPrint (
- Str,
- L"IPv6(%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x)",
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[0],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[1],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[2],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[3],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[4],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[5],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[6],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[7],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[8],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[9],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[10],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[11],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[12],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[13],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[14],
- (UINTN) IPv6DevPath->RemoteIpAddress.Addr[15]
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathInfiniBand (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- INFINIBAND_DEVICE_PATH *InfiniBand;
-
- InfiniBand = DevPath;
- CatPrint (
- Str,
- L"Infiniband(%x,%g,%lx,%lx,%lx)",
- (UINTN) InfiniBand->ResourceFlags,
- InfiniBand->PortGid,
- InfiniBand->ServiceId,
- InfiniBand->TargetPortId,
- InfiniBand->DeviceId
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathUart (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- UART_DEVICE_PATH *Uart;
- CHAR8 Parity;
-
- Uart = DevPath;
- switch (Uart->Parity) {
- case 0:
- Parity = 'D';
- break;
-
- case 1:
- Parity = 'N';
- break;
-
- case 2:
- Parity = 'E';
- break;
-
- case 3:
- Parity = 'O';
- break;
-
- case 4:
- Parity = 'M';
- break;
-
- case 5:
- Parity = 'S';
- break;
-
- default:
- Parity = 'x';
- break;
- }
-
- if (Uart->BaudRate == 0) {
- CatPrint (Str, L"Uart(DEFAULT,%c,", Parity);
- } else {
- CatPrint (Str, L"Uart(%ld,%c,", Uart->BaudRate, Parity);
- }
-
- if (Uart->DataBits == 0) {
- CatPrint (Str, L"D,");
- } else {
- CatPrint (Str, L"%d,", (UINTN) Uart->DataBits);
- }
-
- switch (Uart->StopBits) {
- case 0:
- CatPrint (Str, L"D)");
- break;
-
- case 1:
- CatPrint (Str, L"1)");
- break;
-
- case 2:
- CatPrint (Str, L"1.5)");
- break;
-
- case 3:
- CatPrint (Str, L"2)");
- break;
-
- default:
- CatPrint (Str, L"x)");
- break;
- }
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathiSCSI (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- ISCSI_DEVICE_PATH_WITH_NAME *IScsi;
- UINT16 Options;
-
- IScsi = DevPath;
- CatPrint (
- Str,
- L"iSCSI(%a,%x,%lx,",
- IScsi->TargetName,
- (UINTN) IScsi->TargetPortalGroupTag,
- IScsi->Lun
- );
-
- Options = IScsi->LoginOption;
- CatPrint (Str, L"%s,", (((Options >> 1) & 0x0001) != 0) ? L"CRC32C" : L"None");
- CatPrint (Str, L"%s,", (((Options >> 3) & 0x0001) != 0) ? L"CRC32C" : L"None");
- if (((Options >> 11) & 0x0001) != 0) {
- CatPrint (Str, L"%s,", L"None");
- } else if (((Options >> 12) & 0x0001) != 0) {
- CatPrint (Str, L"%s,", L"CHAP_UNI");
- } else {
- CatPrint (Str, L"%s,", L"CHAP_BI");
-
- }
-
- CatPrint (Str, L"%s)", (IScsi->NetworkProtocol == 0) ? L"TCP" : L"reserved");
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathVlan (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- VLAN_DEVICE_PATH *Vlan;
-
- Vlan = DevPath;
- CatPrint (Str, L"Vlan(%d)", (UINTN) Vlan->VlanId);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathHardDrive (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- HARDDRIVE_DEVICE_PATH *Hd;
-
- Hd = DevPath;
- switch (Hd->SignatureType) {
- case SIGNATURE_TYPE_MBR:
- CatPrint (
- Str,
- L"HD(Part%d,Sig%08x)",
- (UINTN) Hd->PartitionNumber,
- (UINTN) *((UINT32 *) (&(Hd->Signature[0])))
- );
- break;
-
- case SIGNATURE_TYPE_GUID:
- CatPrint (
- Str,
- L"HD(Part%d,Sig%g)",
- (UINTN) Hd->PartitionNumber,
- (EFI_GUID *) &(Hd->Signature[0])
- );
- break;
-
- default:
- CatPrint (
- Str,
- L"HD(Part%d,MBRType=%02x,SigType=%02x)",
- (UINTN) Hd->PartitionNumber,
- (UINTN) Hd->MBRType,
- (UINTN) Hd->SignatureType
- );
- break;
- }
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathCDROM (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- CDROM_DEVICE_PATH *Cd;
-
- Cd = DevPath;
- CatPrint (Str, L"CDROM(Entry%x)", (UINTN) Cd->BootEntry);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathFilePath (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- FILEPATH_DEVICE_PATH *Fp;
-
- Fp = DevPath;
- CatPrint (Str, L"%s", Fp->PathName);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathMediaProtocol (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- MEDIA_PROTOCOL_DEVICE_PATH *MediaProt;
-
- MediaProt = DevPath;
- CatPrint (Str, L"Media(%g)", &MediaProt->Protocol);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathFvFilePath (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvFilePath;
-
- FvFilePath = DevPath;
- CatPrint (Str, L"%g", &FvFilePath->FvFileName);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathRelativeOffsetRange (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *Offset;
-
- Offset = DevPath;
- CatPrint (
- Str,
- L"Offset(%lx,%lx)",
- Offset->StartingOffset,
- Offset->EndingOffset
- );
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathBssBss (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- BBS_BBS_DEVICE_PATH *Bbs;
- CHAR16 *Type;
-
- Bbs = DevPath;
- switch (Bbs->DeviceType) {
- case BBS_TYPE_FLOPPY:
- Type = L"Floppy";
- break;
-
- case BBS_TYPE_HARDDRIVE:
- Type = L"Harddrive";
- break;
-
- case BBS_TYPE_CDROM:
- Type = L"CDROM";
- break;
-
- case BBS_TYPE_PCMCIA:
- Type = L"PCMCIA";
- break;
-
- case BBS_TYPE_USB:
- Type = L"Usb";
- break;
-
- case BBS_TYPE_EMBEDDED_NETWORK:
- Type = L"Net";
- break;
-
- case BBS_TYPE_BEV:
- Type = L"BEV";
- break;
-
- default:
- Type = L"?";
- break;
- }
- CatPrint (Str, L"Legacy-%s", Type);
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathEndInstance (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- CatPrint (Str, L",");
-}
-
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathNodeUnknown (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- CatPrint (Str, L"?");
-}
-/**
- Convert Device Path to a Unicode string for printing.
-
- @param[in, out] Str The buffer holding the output string.
- This buffer contains the length of the string and
- the maixmum length reserved for the string buffer.
- @param[in] DevPath The device path.
-
-**/
-VOID
-DevPathFvPath (
- IN OUT POOL_PRINT *Str,
- IN VOID *DevPath
- )
-{
- MEDIA_FW_VOL_DEVICE_PATH *FvPath;
-
- FvPath = DevPath;
- CatPrint (Str, L"Fv(%g)", &FvPath->FvName);
-}
-
-DEVICE_PATH_STRING_TABLE DevPathTable[] = {
- {
- HARDWARE_DEVICE_PATH,
- HW_PCI_DP,
- DevPathPci
- },
- {
- HARDWARE_DEVICE_PATH,
- HW_PCCARD_DP,
- DevPathPccard
- },
- {
- HARDWARE_DEVICE_PATH,
- HW_MEMMAP_DP,
- DevPathMemMap
- },
- {
- HARDWARE_DEVICE_PATH,
- HW_VENDOR_DP,
- DevPathVendor
- },
- {
- HARDWARE_DEVICE_PATH,
- HW_CONTROLLER_DP,
- DevPathController
- },
- {
- ACPI_DEVICE_PATH,
- ACPI_DP,
- DevPathAcpi
- },
- {
- ACPI_DEVICE_PATH,
- ACPI_EXTENDED_DP,
- DevPathExtendedAcpi
- },
- {
- ACPI_DEVICE_PATH,
- ACPI_ADR_DP,
- DevPathAdrAcpi
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_ATAPI_DP,
- DevPathAtapi
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_SCSI_DP,
- DevPathScsi
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_FIBRECHANNEL_DP,
- DevPathFibre
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_1394_DP,
- DevPath1394
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_USB_DP,
- DevPathUsb
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_USB_WWID_DP,
- DevPathUsbWWID
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_DEVICE_LOGICAL_UNIT_DP,
- DevPathLogicalUnit
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_USB_CLASS_DP,
- DevPathUsbClass
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_SATA_DP,
- DevPathSata
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_I2O_DP,
- DevPathI2O
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_MAC_ADDR_DP,
- DevPathMacAddr
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_IPv4_DP,
- DevPathIPv4
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_IPv6_DP,
- DevPathIPv6
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_INFINIBAND_DP,
- DevPathInfiniBand
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_UART_DP,
- DevPathUart
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_VENDOR_DP,
- DevPathVendor
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_ISCSI_DP,
- DevPathiSCSI
- },
- {
- MESSAGING_DEVICE_PATH,
- MSG_VLAN_DP,
- DevPathVlan
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_HARDDRIVE_DP,
- DevPathHardDrive
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_CDROM_DP,
- DevPathCDROM
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_VENDOR_DP,
- DevPathVendor
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_FILEPATH_DP,
- DevPathFilePath
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_PROTOCOL_DP,
- DevPathMediaProtocol
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_PIWG_FW_VOL_DP,
- DevPathFvPath,
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_PIWG_FW_FILE_DP,
- DevPathFvFilePath
- },
- {
- MEDIA_DEVICE_PATH,
- MEDIA_RELATIVE_OFFSET_RANGE_DP,
- DevPathRelativeOffsetRange,
- },
- {
- BBS_DEVICE_PATH,
- BBS_BBS_DP,
- DevPathBssBss
- },
- {
- END_DEVICE_PATH_TYPE,
- END_INSTANCE_DEVICE_PATH_SUBTYPE,
- DevPathEndInstance
- },
- {
- 0,
- 0,
- NULL
- }
-};
-
/**
This function converts an input device structure to a Unicode string.
@@ -1454,84 +29,10 @@ DevicePathToStr (
IN EFI_DEVICE_PATH_PROTOCOL *DevPath
)
{
- POOL_PRINT Str;
- EFI_DEVICE_PATH_PROTOCOL *DevPathNode;
- VOID (*DumpNode) (POOL_PRINT *, VOID *);
-
- UINTN Index;
- UINTN NewSize;
-
- EFI_STATUS Status;
- CHAR16 *ToText;
- EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *DevPathToText;
-
- ZeroMem (&Str, sizeof (Str));
-
- if (DevPath == NULL) {
- goto Done;
- }
-
- Status = gBS->LocateProtocol (
- &gEfiDevicePathToTextProtocolGuid,
- NULL,
- (VOID **) &DevPathToText
- );
- if (!EFI_ERROR (Status)) {
- ToText = DevPathToText->ConvertDevicePathToText (
- DevPath,
- FALSE,
- TRUE
- );
- ASSERT (ToText != NULL);
- return ToText;
- }
-
- //
- // Process each device path node
- //
- DevPathNode = DevPath;
- while (!IsDevicePathEnd (DevPathNode)) {
- //
- // Find the handler to dump this device path node
- //
- DumpNode = NULL;
- for (Index = 0; DevPathTable[Index].Function != NULL; Index += 1) {
-
- if (DevicePathType (DevPathNode) == DevPathTable[Index].Type &&
- DevicePathSubType (DevPathNode) == DevPathTable[Index].SubType
- ) {
- DumpNode = DevPathTable[Index].Function;
- break;
- }
- }
- //
- // If not found, use a generic function
- //
- if (!DumpNode) {
- DumpNode = DevPathNodeUnknown;
- }
- //
- // Put a path seperator in if needed
- //
- if ((Str.Len != 0) && (DumpNode != DevPathEndInstance)) {
- CatPrint (&Str, L"/");
- }
- //
- // Print this node of the device path
- //
- DumpNode (&Str, DevPathNode);
-
- //
- // Next device path node
- //
- DevPathNode = NextDevicePathNode (DevPathNode);
- }
-
-Done:
- NewSize = (Str.Len + 1) * sizeof (CHAR16);
- Str.Str = ReallocatePool (NewSize, NewSize, Str.Str);
- ASSERT (Str.Str != NULL);
- Str.Str[Str.Len] = 0;
- return Str.Str;
+ return ConvertDevicePathToText (
+ DevPath,
+ FALSE,
+ TRUE
+ );
}
diff --git a/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf b/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
index a0f497f..071ca30 100644
--- a/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
+++ b/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
@@ -1,7 +1,7 @@
## @file
# Component name for SecureBoot configuration module.
#
-# Copyright (c) 2011 - 2012, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2011 - 2013, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -53,7 +53,8 @@
UefiHiiServicesLib
DebugLib
HiiLib
- PlatformSecureLib
+ PlatformSecureLib
+ DevicePathLib
[Guids]
gEfiIfrTianoGuid
@@ -69,21 +70,7 @@
gEfiImageSecurityDatabaseGuid ## CONSUMES
gEfiFileSystemVolumeLabelInfoIdGuid ## CONSUMES
gEfiGlobalVariableGuid ## PRODUCES ## Variable Guid
- gEfiVT100PlusGuid ## CONSUMES ## GUID (The type of terminal)
- gEfiVT100Guid ## CONSUMES ## GUID (The type of terminal)
- ## CONSUMES ## GUID HOB (The hob holding memory type information)
- gEfiVTUTF8Guid ## CONSUMES ## GUID (The type of terminal)
- ## SOMETIMES_CONSUMES ## Variable:L"BootXX" (Boot option variable)
- ## CONSUMES ## Variable:L"Timeout" (The time out value in second of showing progress bar)
- ## SOMETIMES_CONSUMES ## Variable:L"BootOrder" (The boot option array)
- ## SOMETIMES_CONSUMES ## Variable:L"DriverOrder" (The driver order list)
- ## SOMETIMES_CONSUMES ## Variable:L"ConIn" (The device path of console in device)
- ## SOMETIMES_CONSUMES ## Variable:L"ConOut" (The device path of console out device)
- ## SOMETIMES_CONSUMES ## Variable:L"ErrOut" (The device path of error out device)
gEfiFileInfoGuid ## CONSUMES ## GUID
- gEfiPcAnsiGuid ## CONSUMES ## GUID (The type of terminal)
- gEfiUartDevicePathGuid ## CONSUMES ## GUID (Identify the device path for UARD device)
- gEfiSasDevicePathGuid ## CONSUMES ## GUID (Identify the device path for SAS device)
[Protocols]
gEfiHiiConfigAccessProtocolGuid ## PRODUCES
@@ -92,8 +79,6 @@
gEfiLoadFileProtocolGuid ## PROTOCOL CONSUMES
gEfiBlockIoProtocolGuid ## PROTOCOL CONSUMES
gEfiDevicePathProtocolGuid ## PROTOCOL CONSUMES
- gEfiDevicePathToTextProtocolGuid
- gEfiDebugPortProtocolGuid
[Depex]
gEfiHiiConfigRoutingProtocolGuid AND
diff --git a/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.h b/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.h
index 5a5ac12..f87afbe 100644
--- a/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.h
+++ b/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.h
@@ -23,7 +23,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Protocol/SimpleFileSystem.h>
#include <Protocol/BlockIo.h>
#include <Protocol/DevicePath.h>
-#include <Protocol/DevicePathToText.h>
#include <Protocol/DebugPort.h>
#include <Protocol/LoadFile.h>
diff --git a/ShellPkg/Application/Shell/Shell.inf b/ShellPkg/Application/Shell/Shell.inf
index 756e841..c3af617 100644
--- a/ShellPkg/Application/Shell/Shell.inf
+++ b/ShellPkg/Application/Shell/Shell.inf
@@ -1,7 +1,7 @@
## @file
# This is the shell application
#
-# Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -93,7 +93,6 @@
gEfiComponentName2ProtocolGuid # ALWAYS_CONSUMED
gEfiUnicodeCollation2ProtocolGuid # ALWAYS_CONSUMED
gEfiDevicePathProtocolGuid # ALWAYS_CONSUMED
- gEfiDevicePathToTextProtocolGuid # ALWAYS_CONSUMED
[Pcd]
gEfiShellPkgTokenSpaceGuid.PcdShellSupportLevel # ALWAYS_CONSUMED
diff --git a/ShellPkg/Application/Shell/ShellProtocol.c b/ShellPkg/Application/Shell/ShellProtocol.c
index d9293b6..8f719da 100644
--- a/ShellPkg/Application/Shell/ShellProtocol.c
+++ b/ShellPkg/Application/Shell/ShellProtocol.c
@@ -116,27 +116,19 @@ InternalShellProtocolDebugPrintMessage (
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
)
{
- EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *DevicePathToText;
EFI_STATUS Status;
CHAR16 *Temp;
Status = EFI_SUCCESS;
DEBUG_CODE_BEGIN();
- DevicePathToText = NULL;
- Status = gBS->LocateProtocol(&gEfiDevicePathToTextProtocolGuid,
- NULL,
- (VOID**)&DevicePathToText);
if (Mapping != NULL) {
DEBUG((EFI_D_INFO, "Added new map item:\"%S\"\r\n", Mapping));
}
- if (!EFI_ERROR(Status)) {
- if (DevicePath != NULL) {
- Temp = DevicePathToText->ConvertDevicePathToText(DevicePath, TRUE, TRUE);
- DEBUG((EFI_D_INFO, "DevicePath: %S\r\n", Temp));
- FreePool(Temp);
- }
- }
+ Temp = ConvertDevicePathToText(DevicePath, TRUE, TRUE);
+ DEBUG((EFI_D_INFO, "DevicePath: %S\r\n", Temp));
+ FreePool(Temp);
+
DEBUG_CODE_END();
return (Status);
}
@@ -648,7 +640,6 @@ EfiShellGetDeviceName(
{
EFI_STATUS Status;
EFI_COMPONENT_NAME2_PROTOCOL *CompName2;
- EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *DevicePathToText;
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
EFI_HANDLE *HandleList;
UINTN HandleCount;
@@ -816,28 +807,19 @@ EfiShellGetDeviceName(
}
}
if ((Flags & EFI_DEVICE_NAME_USE_DEVICE_PATH) != 0) {
- Status = gBS->LocateProtocol(
- &gEfiDevicePathToTextProtocolGuid,
+ Status = gBS->OpenProtocol(
+ DeviceHandle,
+ &gEfiDevicePathProtocolGuid,
+ (VOID**)&DevicePath,
+ gImageHandle,
NULL,
- (VOID**)&DevicePathToText);
- //
- // we now have the device path to text protocol
- //
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL);
if (!EFI_ERROR(Status)) {
- Status = gBS->OpenProtocol(
- DeviceHandle,
- &gEfiDevicePathProtocolGuid,
- (VOID**)&DevicePath,
- gImageHandle,
- NULL,
- EFI_OPEN_PROTOCOL_GET_PROTOCOL);
- if (!EFI_ERROR(Status)) {
- //
- // use device path to text on the device path
- //
- *BestDeviceName = DevicePathToText->ConvertDevicePathToText(DevicePath, TRUE, TRUE);
- return (EFI_SUCCESS);
- }
+ //
+ // use device path to text on the device path
+ //
+ *BestDeviceName = ConvertDevicePathToText(DevicePath, TRUE, TRUE);
+ return (EFI_SUCCESS);
}
}
//
@@ -1586,11 +1568,11 @@ EfiShellExecute(
DevPath = AppendDevicePath (ShellInfoObject.ImageDevPath, ShellInfoObject.FileDevPath);
DEBUG_CODE_BEGIN();
- Temp = gDevPathToText->ConvertDevicePathToText(ShellInfoObject.FileDevPath, TRUE, TRUE);
+ Temp = ConvertDevicePathToText(ShellInfoObject.FileDevPath, TRUE, TRUE);
FreePool(Temp);
- Temp = gDevPathToText->ConvertDevicePathToText(ShellInfoObject.ImageDevPath, TRUE, TRUE);
+ Temp = ConvertDevicePathToText(ShellInfoObject.ImageDevPath, TRUE, TRUE);
FreePool(Temp);
- Temp = gDevPathToText->ConvertDevicePathToText(DevPath, TRUE, TRUE);
+ Temp = ConvertDevicePathToText(DevPath, TRUE, TRUE);
FreePool(Temp);
DEBUG_CODE_END();
diff --git a/ShellPkg/Include/Library/ShellCommandLib.h b/ShellPkg/Include/Library/ShellCommandLib.h
index 0f4f503..13d526e 100644
--- a/ShellPkg/Include/Library/ShellCommandLib.h
+++ b/ShellPkg/Include/Library/ShellCommandLib.h
@@ -4,7 +4,7 @@
This library is for use ONLY by shell commands linked into the shell application.
This library will not funciton if it is used for UEFI Shell 2.0 Applications.
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -24,7 +24,6 @@
#include <Protocol/EfiShell.h>
#include <Protocol/EfiShellParameters.h>
#include <Protocol/UnicodeCollation.h>
-#include <Protocol/DevicePathToText.h>
#include <Protocol/SimpleFileSystem.h>
#include <Library/UefiBootServicesTableLib.h>
@@ -33,7 +32,6 @@
// The extern global protocol poionters.
//
extern EFI_UNICODE_COLLATION_PROTOCOL *gUnicodeCollation;
-extern EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *gDevPathToText;
extern CONST CHAR16* SupportLevel[];
//
diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
index 8718a5c..a5e5235 100644
--- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
+++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
@@ -414,19 +414,15 @@ DevicePathProtocolDumpInformation(
CHAR16 *Temp;
CHAR16 *Temp2;
EFI_STATUS Status;
- EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *DevPathToText;
Temp = NULL;
- Status = gBS->LocateProtocol(&gEfiDevicePathToTextProtocolGuid, NULL, (VOID**)&DevPathToText);
+ Status = gBS->OpenProtocol(TheHandle, &gEfiDevicePathProtocolGuid, (VOID**)&DevPath, gImageHandle, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
if (!EFI_ERROR(Status)) {
- Status = gBS->OpenProtocol(TheHandle, &gEfiDevicePathProtocolGuid, (VOID**)&DevPath, gImageHandle, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL);
- if (!EFI_ERROR(Status)) {
- //
- // I cannot decide whether to allow shortcuts here (the second BOOLEAN on the next line)
- //
- Temp = DevPathToText->ConvertDevicePathToText(DevPath, TRUE, TRUE);
- gBS->CloseProtocol(TheHandle, &gEfiDevicePathProtocolGuid, gImageHandle, NULL);
- }
+ //
+ // I cannot decide whether to allow shortcuts here (the second BOOLEAN on the next line)
+ //
+ Temp = ConvertDevicePathToText(DevPath, TRUE, TRUE);
+ gBS->CloseProtocol(TheHandle, &gEfiDevicePathProtocolGuid, gImageHandle, NULL);
}
if (!Verbose && Temp != NULL && StrLen(Temp) > 30) {
Temp2 = NULL;
diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
index 971294f..75628f0 100644
--- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
+++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
@@ -36,7 +36,6 @@ STATIC BUFFER_LIST mFileHandleList;
// global variables required by library class.
EFI_UNICODE_COLLATION_PROTOCOL *gUnicodeCollation = NULL;
-EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *gDevPathToText = NULL;
SHELL_MAP_LIST gShellMapList;
SHELL_MAP_LIST *gShellCurDir = NULL;
@@ -64,12 +63,6 @@ CommandInit(
return (EFI_DEVICE_ERROR);
}
}
- if (gDevPathToText == NULL) {
- Status = gBS->LocateProtocol(&gEfiDevicePathToTextProtocolGuid, NULL, (VOID**)&gDevPathToText);
- if (EFI_ERROR(Status)) {
- return (EFI_DEVICE_ERROR);
- }
- }
return (EFI_SUCCESS);
}
@@ -189,7 +182,6 @@ ShellCommandLibDestructor (
}
gUnicodeCollation = NULL;
- gDevPathToText = NULL;
gShellCurDir = NULL;
return (RETURN_SUCCESS);
diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
index fb361a6..6e79205 100644
--- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
+++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
@@ -1,7 +1,7 @@
## @file
# Provides interface to shell internal functions for shell commands.
#
-# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved. <BR>
+# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved. <BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -51,7 +51,6 @@
gEfiUnicodeCollation2ProtocolGuid # ALWAYS_CONSUMED
gEfiShellProtocolGuid # ALWAYS_CONSUMED
gEfiShellParametersProtocolGuid # ALWAYS_CONSUMED
- gEfiDevicePathToTextProtocolGuid # ALWAYS_CONSUMED
[Guids]
gEfiSasDevicePathGuid # ALWAYS_CONSUMED
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/Bcfg.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/Bcfg.c
index 095a946..90e1124 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/Bcfg.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/Bcfg.c
@@ -1,7 +1,7 @@
/** @file
Main file for bcfg shell Debug1 function.
- Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -525,6 +525,7 @@ BcfgAddDebug1(
CopyMem (TempByteBuffer, Desc, DescSize);
TempByteBuffer += DescSize;
+ ASSERT (FilePath != NULL);
CopyMem (TempByteBuffer, FilePath, FilePathSize);
UnicodeSPrint (OptionStr, sizeof(OptionStr), L"%s%04x", Target == BcfgTargetBootOrder?L"Boot":L"Driver", TargetLocation);
@@ -1052,7 +1053,7 @@ BcfgDisplayDumpDebug1(
if ((*(UINT16*)(Buffer+4)) != 0) {
DevPath = AllocateZeroPool(*(UINT16*)(Buffer+4));
CopyMem(DevPath, Buffer+6+StrSize((CHAR16*)(Buffer+6)), *(UINT16*)(Buffer+4));
- DevPathString = gDevPathToText->ConvertDevicePathToText(DevPath, TRUE, FALSE);
+ DevPathString = ConvertDevicePathToText(DevPath, TRUE, FALSE);
} else {
DevPath = NULL;
DevPathString = NULL;
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SetVar.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/SetVar.c
index 34eb6af..8d26c9d 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SetVar.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SetVar.c
@@ -1,7 +1,7 @@
/** @file
Main file for SetVar shell Debug1 function.
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -49,7 +49,6 @@ ShellCommandRunSetVar (
UINTN Size;
UINTN LoopVar;
EFI_DEVICE_PATH_PROTOCOL *DevPath;
- EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL *DevPathFromText;
ShellStatus = SHELL_SUCCESS;
Status = EFI_SUCCESS;
@@ -226,9 +225,7 @@ ShellCommandRunSetVar (
//
Data++;
Data++;
- Status = gBS->LocateProtocol(&gEfiDevicePathFromTextProtocolGuid, NULL, (VOID**)&DevPathFromText);
- ASSERT_EFI_ERROR(Status);
- DevPath = DevPathFromText->ConvertTextToDevicePath(Data);
+ DevPath = ConvertTextToDevicePath(Data);
if (DevPath == NULL) {
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_SETVAR_ERROR_DPFT), gShellDebug1HiiHandle, Status);
ShellStatus = SHELL_INVALID_PARAMETER;
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h
index bbc5391..d8755bf 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h
@@ -1,7 +1,7 @@
/** @file
Main file for NULL named library for Profile1 shell command functions.
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -29,7 +29,6 @@
#include <Protocol/DevicePath.h>
#include <Protocol/LoadedImage.h>
#include <Protocol/UnicodeCollation.h>
-#include <Protocol/DevicePathToText.h>
#include <Protocol/DriverDiagnostics2.h>
#include <Protocol/DriverDiagnostics.h>
#include <Protocol/PlatformDriverOverride.h>
@@ -38,7 +37,6 @@
#include <Protocol/DriverSupportedEfiVersion.h>
#include <Protocol/DriverFamilyOverride.h>
#include <Protocol/DriverHealth.h>
-#include <Protocol/DevicePathFromText.h>
#include <Protocol/SimplePointer.h>
#include <Protocol/PciRootBridgeIo.h>
diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c b/ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c
index a0dc139..c369b79 100644
--- a/ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c
+++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c
@@ -1,7 +1,7 @@
/** @file
Main file for Dh shell Driver1 function.
- Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -260,7 +260,7 @@ GetDriverImageName (
return (Status);
}
DevicePath = LoadedImage->FilePath;
- *Name = gDevPathToText->ConvertDevicePathToText(DevicePath, TRUE, TRUE);
+ *Name = ConvertDevicePathToText(DevicePath, TRUE, TRUE);
return (EFI_SUCCESS);
}
@@ -354,7 +354,7 @@ DisplayDriverModelHandle (
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_DH_OUTPUT_DRIVER1), gShellDriver1HiiHandle, TempStringPointer!=NULL?TempStringPointer:L"<Unknown>");
SHELL_FREE_NON_NULL(TempStringPointer);
- TempStringPointer = gDevPathToText->ConvertDevicePathToText(DevicePath, TRUE, FALSE);
+ TempStringPointer = ConvertDevicePathToText(DevicePath, TRUE, FALSE);
ShellPrintHiiEx(
-1,
-1,
diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/Drivers.c b/ShellPkg/Library/UefiShellDriver1CommandsLib/Drivers.c
index 18912e8..a687e0d 100644
--- a/ShellPkg/Library/UefiShellDriver1CommandsLib/Drivers.c
+++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/Drivers.c
@@ -1,7 +1,7 @@
/** @file
Main file for Drivers shell Driver1 function.
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -80,7 +80,7 @@ GetDevicePathTextForHandle(
}
RetVal = gEfiShellProtocol->GetFilePathFromDevicePath(FinalPath);
if (RetVal == NULL) {
- RetVal = gDevPathToText->ConvertDevicePathToText(FinalPath, TRUE, TRUE);
+ RetVal = ConvertDevicePathToText(FinalPath, TRUE, TRUE);
}
FreePool(FinalPath);
return (RetVal);
diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/DrvCfg.c b/ShellPkg/Library/UefiShellDriver1CommandsLib/DrvCfg.c
index a2b520e..427f71b 100644
--- a/ShellPkg/Library/UefiShellDriver1CommandsLib/DrvCfg.c
+++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/DrvCfg.c
@@ -1,7 +1,7 @@
/** @file
Main file for DrvCfg shell Driver1 function.
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -406,7 +406,7 @@ ConfigFromFile(
//
// print out an error.
//
- TempDevPathString = gDevPathToText->ConvertDevicePathToText((EFI_DEVICE_PATH_PROTOCOL*)(((CHAR8*)PackageHeader) + sizeof(EFI_HII_PACKAGE_HEADER)), TRUE, TRUE);
+ TempDevPathString = ConvertDevicePathToText((EFI_DEVICE_PATH_PROTOCOL*)(((CHAR8*)PackageHeader) + sizeof(EFI_HII_PACKAGE_HEADER)), TRUE, TRUE);
ShellPrintHiiEx(
-1,
-1,
diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h
index 19633a4..46ba8fd 100644
--- a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h
+++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.h
@@ -1,7 +1,7 @@
/** @file
Main file for NULL named library for Profile1 shell command functions.
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -28,7 +28,6 @@
#include <Protocol/DevicePath.h>
#include <Protocol/LoadedImage.h>
#include <Protocol/UnicodeCollation.h>
-#include <Protocol/DevicePathToText.h>
#include <Protocol/DriverDiagnostics2.h>
#include <Protocol/DriverDiagnostics.h>
#include <Protocol/PlatformDriverOverride.h>
diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/Unload.c b/ShellPkg/Library/UefiShellDriver1CommandsLib/Unload.c
index 940f72d..4e1ac0d 100644
--- a/ShellPkg/Library/UefiShellDriver1CommandsLib/Unload.c
+++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/Unload.c
@@ -1,7 +1,7 @@
/** @file
Main file for Unload shell Driver1 function.
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -67,7 +67,6 @@ DumpLoadedImageProtocolInfo (
{
EFI_LOADED_IMAGE_PROTOCOL *Image;
EFI_STATUS Status;
- EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *DevicePathToText;
CHAR16 *DevicePathText;
CHAR16 *CodeTypeText;
CHAR16 *DataTypeText;
@@ -79,23 +78,10 @@ DumpLoadedImageProtocolInfo (
if (EFI_ERROR(Status)) {
return (EFI_INVALID_PARAMETER);
}
-
- Status = gBS->LocateProtocol(
- &gEfiDevicePathToTextProtocolGuid,
- NULL,
- (VOID**)&DevicePathToText);
- //
- // we now have the device path to text protocol
- //
- if (!EFI_ERROR(Status)) {
- DevicePathText = DevicePathToText->ConvertDevicePathToText(Image->FilePath, TRUE, TRUE);
- } else {
- DevicePathText = NULL;
- }
-
- CodeTypeText = ConvertMemoryType(Image->ImageCodeType);
- DataTypeText = ConvertMemoryType(Image->ImageDataType);
- PdbPointer = (CHAR8*)PeCoffLoaderGetPdbPointer(Image->ImageBase);
+ DevicePathText = ConvertDevicePathToText(Image->FilePath, TRUE, TRUE);
+ CodeTypeText = ConvertMemoryType(Image->ImageCodeType);
+ DataTypeText = ConvertMemoryType(Image->ImageDataType);
+ PdbPointer = (CHAR8*)PeCoffLoaderGetPdbPointer(Image->ImageBase);
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_UNLOAD_VERBOSE), gShellDriver1HiiHandle,
ConvertHandleToHandleIndex(TheHandle),
TheHandle,
diff --git a/ShellPkg/Library/UefiShellInstall1CommandsLib/Bcfg.c b/ShellPkg/Library/UefiShellInstall1CommandsLib/Bcfg.c
index a7a10bf..6ae4933 100644
--- a/ShellPkg/Library/UefiShellInstall1CommandsLib/Bcfg.c
+++ b/ShellPkg/Library/UefiShellInstall1CommandsLib/Bcfg.c
@@ -525,6 +525,7 @@ BcfgAddInstall1(
CopyMem (TempByteBuffer, Desc, DescSize);
TempByteBuffer += DescSize;
+ ASSERT (FilePath != NULL);
CopyMem (TempByteBuffer, FilePath, FilePathSize);
UnicodeSPrint (OptionStr, sizeof(OptionStr), L"%s%04x", Target == BcfgTargetBootOrder?L"Boot":L"Driver", TargetLocation);
@@ -1052,7 +1053,7 @@ BcfgDisplayDumpInstall1(
if ((*(UINT16*)(Buffer+4)) != 0) {
DevPath = AllocateZeroPool(*(UINT16*)(Buffer+4));
CopyMem(DevPath, Buffer+6+StrSize((CHAR16*)(Buffer+6)), *(UINT16*)(Buffer+4));
- DevPathString = gDevPathToText->ConvertDevicePathToText(DevPath, TRUE, FALSE);
+ DevPathString = ConvertDevicePathToText(DevPath, TRUE, FALSE);
} else {
DevPath = NULL;
DevPathString = NULL;
diff --git a/ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.h b/ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.h
index 09207c0..8b47a29 100644
--- a/ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.h
+++ b/ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.h
@@ -1,7 +1,7 @@
/** @file
Main file for NULL named library for install 1 shell command functions.
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -25,7 +25,6 @@
#include <Protocol/DevicePath.h>
#include <Protocol/LoadedImage.h>
#include <Protocol/UnicodeCollation.h>
-#include <Protocol/DevicePathToText.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
diff --git a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h
index b0ef503..c4ef536 100644
--- a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h
+++ b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.h
@@ -1,7 +1,7 @@
/** @file
Main file for NULL named library for level 1 shell command functions.
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -25,7 +25,6 @@
#include <Protocol/DevicePath.h>
#include <Protocol/LoadedImage.h>
#include <Protocol/UnicodeCollation.h>
-#include <Protocol/DevicePathToText.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c b/ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c
index a1f9448..c655839 100644
--- a/ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c
+++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c
@@ -421,7 +421,7 @@ PerformSingleMappingDisplay(
if (TempSpot != NULL) {
*TempSpot = CHAR_NULL;
}
- DevPathString = gDevPathToText->ConvertDevicePathToText(DevPath, TRUE, FALSE);
+ DevPathString = ConvertDevicePathToText(DevPath, TRUE, FALSE);
if (!SFO) {
TempLen = StrLen(CurrentName);
ShellPrintHiiEx (
diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h
index 2018247..8abf7e0 100644
--- a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h
+++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h
@@ -9,7 +9,7 @@
* functions are non-interactive only
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -33,7 +33,6 @@
#include <Protocol/DevicePath.h>
#include <Protocol/LoadedImage.h>
#include <Protocol/UnicodeCollation.h>
-#include <Protocol/DevicePathToText.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
index 5787c81..5284442 100644
--- a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
+++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
@@ -1,7 +1,7 @@
## @file
# Provides shell level 2 functions
#
-# Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved. <BR>
+# Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved. <BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -65,6 +65,7 @@
HiiLib
HandleParsingLib
PathLib
+ DevicePathLib
[Protocols]
gEfiUnicodeCollation2ProtocolGuid # ALWAYS_CONSUMED
@@ -73,7 +74,6 @@
gEfiDevicePathProtocolGuid # ALWAYS_CONSUMED
gEfiLoadedImageProtocolGuid # ALWAYS_CONSUMED
gEfiSimpleFileSystemProtocolGuid # ALWAYS_CONSUMED
- gEfiDevicePathToTextProtocolGuid # ALWAYS_CONSUMED
[Pcd.common]
gEfiShellPkgTokenSpaceGuid.PcdShellSupportLevel # ALWAYS_CONSUMED
diff --git a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h
index 5636d49..bd5b9be 100644
--- a/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h
+++ b/ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.h
@@ -25,7 +25,6 @@
#include <Protocol/DevicePath.h>
#include <Protocol/LoadedImage.h>
#include <Protocol/UnicodeCollation.h>
-#include <Protocol/DevicePathToText.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
diff --git a/ShellPkg/Library/UefiSortLib/UefiSortLib.c b/ShellPkg/Library/UefiSortLib/UefiSortLib.c
index 9cff46d..2aab9d2 100644
--- a/ShellPkg/Library/UefiSortLib/UefiSortLib.c
+++ b/ShellPkg/Library/UefiSortLib/UefiSortLib.c
@@ -17,7 +17,6 @@
#include <Protocol/UnicodeCollation.h>
#include <Protocol/DevicePath.h>
-#include <Protocol/DevicePathToText.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/BaseLib.h>
@@ -25,8 +24,8 @@
#include <Library/DebugLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/SortLib.h>
+#include <Library/DevicePathLib.h>
-STATIC EFI_DEVICE_PATH_TO_TEXT_PROTOCOL *mDevicePathToText = NULL;
STATIC EFI_UNICODE_COLLATION_PROTOCOL *mUnicodeCollation = NULL;
@@ -224,15 +223,6 @@ DevicePathCompare (
return 1;
}
- if (mDevicePathToText == NULL) {
- Status = gBS->LocateProtocol(
- &gEfiDevicePathToTextProtocolGuid,
- NULL,
- (VOID**)&mDevicePathToText);
-
- ASSERT_EFI_ERROR(Status);
- }
-
if (mUnicodeCollation == NULL) {
Status = gBS->LocateProtocol(
&gEfiUnicodeCollation2ProtocolGuid,
@@ -242,12 +232,12 @@ DevicePathCompare (
ASSERT_EFI_ERROR(Status);
}
- TextPath1 = mDevicePathToText->ConvertDevicePathToText(
+ TextPath1 = ConvertDevicePathToText(
DevicePath1,
FALSE,
FALSE);
- TextPath2 = mDevicePathToText->ConvertDevicePathToText(
+ TextPath2 = ConvertDevicePathToText(
DevicePath2,
FALSE,
FALSE);
diff --git a/ShellPkg/Library/UefiSortLib/UefiSortLib.inf b/ShellPkg/Library/UefiSortLib/UefiSortLib.inf
index 522d4d8..21541d7 100644
--- a/ShellPkg/Library/UefiSortLib/UefiSortLib.inf
+++ b/ShellPkg/Library/UefiSortLib/UefiSortLib.inf
@@ -1,7 +1,7 @@
## @file
# Library used for sorting routines.
#
-# Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved. <BR>
+# Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved. <BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -38,9 +38,9 @@
BaseMemoryLib
DebugLib
UefiBootServicesTableLib
+ DevicePathLib
[Protocols]
gEfiUnicodeCollation2ProtocolGuid # ALWAYS_CONSUMED
gEfiDevicePathProtocolGuid # ALWAYS_CONSUMED
- gEfiDevicePathToTextProtocolGuid # ALWAYS_CONSUMED
diff --git a/ShellPkg/ShellPkg.dsc b/ShellPkg/ShellPkg.dsc
index 6b64115..a1414b0 100644
--- a/ShellPkg/ShellPkg.dsc
+++ b/ShellPkg/ShellPkg.dsc
@@ -26,7 +26,7 @@
[LibraryClasses.common]
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
- DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathProtocol.inf
DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf