MdePkg: Add UEFI 2.5 SD (Secure Digital) Device Path Definitions
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17383 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -823,6 +823,15 @@ typedef struct {
|
|||||||
UINT8 Lun;
|
UINT8 Lun;
|
||||||
} UFS_DEVICE_PATH;
|
} UFS_DEVICE_PATH;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// SD (Secure Digital) Device Path SubType.
|
||||||
|
///
|
||||||
|
#define MSG_SD_DP 0x1A
|
||||||
|
typedef struct {
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||||
|
UINT8 SlotNumber;
|
||||||
|
} SD_DEVICE_PATH;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// iSCSI Device Path SubType
|
/// iSCSI Device Path SubType
|
||||||
///
|
///
|
||||||
@@ -1137,6 +1146,7 @@ typedef union {
|
|||||||
URI_DEVICE_PATH Uri;
|
URI_DEVICE_PATH Uri;
|
||||||
BLUETOOTH_DEVICE_PATH Bluetooth;
|
BLUETOOTH_DEVICE_PATH Bluetooth;
|
||||||
UFS_DEVICE_PATH Ufs;
|
UFS_DEVICE_PATH Ufs;
|
||||||
|
SD_DEVICE_PATH Sd;
|
||||||
HARDDRIVE_DEVICE_PATH HardDrive;
|
HARDDRIVE_DEVICE_PATH HardDrive;
|
||||||
CDROM_DEVICE_PATH CD;
|
CDROM_DEVICE_PATH CD;
|
||||||
|
|
||||||
@@ -1190,6 +1200,7 @@ typedef union {
|
|||||||
URI_DEVICE_PATH *Uri;
|
URI_DEVICE_PATH *Uri;
|
||||||
BLUETOOTH_DEVICE_PATH *Bluetooth;
|
BLUETOOTH_DEVICE_PATH *Bluetooth;
|
||||||
UFS_DEVICE_PATH *Ufs;
|
UFS_DEVICE_PATH *Ufs;
|
||||||
|
SD_DEVICE_PATH *Sd;
|
||||||
HARDDRIVE_DEVICE_PATH *HardDrive;
|
HARDDRIVE_DEVICE_PATH *HardDrive;
|
||||||
CDROM_DEVICE_PATH *CD;
|
CDROM_DEVICE_PATH *CD;
|
||||||
|
|
||||||
|
@@ -1840,6 +1840,34 @@ DevPathFromTextUfs (
|
|||||||
return (EFI_DEVICE_PATH_PROTOCOL *) Ufs;
|
return (EFI_DEVICE_PATH_PROTOCOL *) Ufs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Converts a text device path node to SD (Secure Digital) device path structure.
|
||||||
|
|
||||||
|
@param TextDeviceNode The input Text device path node.
|
||||||
|
|
||||||
|
@return A pointer to the newly-created SD device path structure.
|
||||||
|
|
||||||
|
**/
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL *
|
||||||
|
DevPathFromTextSd (
|
||||||
|
IN CHAR16 *TextDeviceNode
|
||||||
|
)
|
||||||
|
{
|
||||||
|
CHAR16 *SlotNumberStr;
|
||||||
|
SD_DEVICE_PATH *Sd;
|
||||||
|
|
||||||
|
SlotNumberStr = GetNextParamStr (&TextDeviceNode);
|
||||||
|
Sd = (SD_DEVICE_PATH *) CreateDeviceNode (
|
||||||
|
MESSAGING_DEVICE_PATH,
|
||||||
|
MSG_SD_DP,
|
||||||
|
(UINT16) sizeof (SD_DEVICE_PATH)
|
||||||
|
);
|
||||||
|
|
||||||
|
Sd->SlotNumber = (UINT8) Strtoi (SlotNumberStr);
|
||||||
|
|
||||||
|
return (EFI_DEVICE_PATH_PROTOCOL *) Sd;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Converts a text device path node to Debug Port device path structure.
|
Converts a text device path node to Debug Port device path structure.
|
||||||
|
|
||||||
@@ -3188,6 +3216,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED DEVICE_PATH_FROM_TEXT_TABLE mUefiDevicePathLibDevP
|
|||||||
{L"SasEx", DevPathFromTextSasEx },
|
{L"SasEx", DevPathFromTextSasEx },
|
||||||
{L"NVMe", DevPathFromTextNVMe },
|
{L"NVMe", DevPathFromTextNVMe },
|
||||||
{L"UFS", DevPathFromTextUfs },
|
{L"UFS", DevPathFromTextUfs },
|
||||||
|
{L"SD", DevPathFromTextSd },
|
||||||
{L"DebugPort", DevPathFromTextDebugPort },
|
{L"DebugPort", DevPathFromTextDebugPort },
|
||||||
{L"MAC", DevPathFromTextMAC },
|
{L"MAC", DevPathFromTextMAC },
|
||||||
{L"IPv4", DevPathFromTextIPv4 },
|
{L"IPv4", DevPathFromTextIPv4 },
|
||||||
|
@@ -758,6 +758,37 @@ DevPathToTextUfs (
|
|||||||
UefiDevicePathLibCatPrint (Str, L"UFS(0x%x,0x%x)", Ufs->Pun, Ufs->Lun);
|
UefiDevicePathLibCatPrint (Str, L"UFS(0x%x,0x%x)", Ufs->Pun, Ufs->Lun);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Converts a SD (Secure Digital) device path structure to its string representative.
|
||||||
|
|
||||||
|
@param Str The string representative of input device.
|
||||||
|
@param DevPath The input device path structure.
|
||||||
|
@param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation
|
||||||
|
of the display node is used, where applicable. If DisplayOnly
|
||||||
|
is FALSE, then the longer text representation of the display node
|
||||||
|
is used.
|
||||||
|
@param AllowShortcuts If AllowShortcuts is TRUE, then the shortcut forms of text
|
||||||
|
representation for a device node can be used, where applicable.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
DevPathToTextSd (
|
||||||
|
IN OUT POOL_PRINT *Str,
|
||||||
|
IN VOID *DevPath,
|
||||||
|
IN BOOLEAN DisplayOnly,
|
||||||
|
IN BOOLEAN AllowShortcuts
|
||||||
|
)
|
||||||
|
{
|
||||||
|
SD_DEVICE_PATH *Sd;
|
||||||
|
|
||||||
|
Sd = DevPath;
|
||||||
|
UefiDevicePathLibCatPrint (
|
||||||
|
Str,
|
||||||
|
L"SD(0x%x)",
|
||||||
|
Sd->SlotNumber
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Converts a 1394 device path structure to its string representative.
|
Converts a 1394 device path structure to its string representative.
|
||||||
|
|
||||||
@@ -1972,6 +2003,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED const DEVICE_PATH_TO_TEXT_TABLE mUefiDevicePathLib
|
|||||||
{MESSAGING_DEVICE_PATH, MSG_SASEX_DP, DevPathToTextSasEx },
|
{MESSAGING_DEVICE_PATH, MSG_SASEX_DP, DevPathToTextSasEx },
|
||||||
{MESSAGING_DEVICE_PATH, MSG_NVME_NAMESPACE_DP, DevPathToTextNVMe },
|
{MESSAGING_DEVICE_PATH, MSG_NVME_NAMESPACE_DP, DevPathToTextNVMe },
|
||||||
{MESSAGING_DEVICE_PATH, MSG_UFS_DP, DevPathToTextUfs },
|
{MESSAGING_DEVICE_PATH, MSG_UFS_DP, DevPathToTextUfs },
|
||||||
|
{MESSAGING_DEVICE_PATH, MSG_SD_DP, DevPathToTextSd },
|
||||||
{MESSAGING_DEVICE_PATH, MSG_1394_DP, DevPathToText1394 },
|
{MESSAGING_DEVICE_PATH, MSG_1394_DP, DevPathToText1394 },
|
||||||
{MESSAGING_DEVICE_PATH, MSG_USB_DP, DevPathToTextUsb },
|
{MESSAGING_DEVICE_PATH, MSG_USB_DP, DevPathToTextUsb },
|
||||||
{MESSAGING_DEVICE_PATH, MSG_USB_WWID_DP, DevPathToTextUsbWWID },
|
{MESSAGING_DEVICE_PATH, MSG_USB_WWID_DP, DevPathToTextUsbWWID },
|
||||||
|
Reference in New Issue
Block a user