mirror of https://github.com/acidanthera/audk.git
BaseTools: Sync the DevicePath Function update from MdePkg
Update the AcpiExp, USBxxx, Sata, VENDOR_DEVICE_PATH. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
This commit is contained in:
parent
7a283cb3f0
commit
23a62c6990
|
@ -25,7 +25,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
#define UTILITY_MAJOR_VERSION 0
|
#define UTILITY_MAJOR_VERSION 0
|
||||||
#define UTILITY_MINOR_VERSION 1
|
#define UTILITY_MINOR_VERSION 1
|
||||||
|
|
||||||
EFI_GUID gEfiDebugPortDevicePathGuid = DEVICE_PATH_MESSAGING_DEBUGPORT;
|
EFI_GUID gEfiDebugPortProtocolGuid = DEVICE_PATH_MESSAGING_DEBUGPORT;
|
||||||
EFI_GUID gEfiPcAnsiGuid = EFI_PC_ANSI_GUID;
|
EFI_GUID gEfiPcAnsiGuid = EFI_PC_ANSI_GUID;
|
||||||
EFI_GUID gEfiVT100Guid = EFI_VT_100_GUID;
|
EFI_GUID gEfiVT100Guid = EFI_VT_100_GUID;
|
||||||
EFI_GUID gEfiVT100PlusGuid = EFI_VT_100_PLUS_GUID;
|
EFI_GUID gEfiVT100PlusGuid = EFI_VT_100_PLUS_GUID;
|
||||||
|
|
|
@ -764,7 +764,16 @@ DevPathFromTextAcpiExp (
|
||||||
);
|
);
|
||||||
|
|
||||||
AcpiEx->HID = EisaIdFromText (HIDStr);
|
AcpiEx->HID = EisaIdFromText (HIDStr);
|
||||||
AcpiEx->CID = EisaIdFromText (CIDStr);
|
//
|
||||||
|
// According to UEFI spec, the CID parametr is optional and has a default value of 0.
|
||||||
|
// So when the CID parametr is not specified or specified as 0 in the text device node.
|
||||||
|
// Set the CID to 0 in the ACPI extension device path structure.
|
||||||
|
//
|
||||||
|
if (*CIDStr == L'\0' || *CIDStr == L'0') {
|
||||||
|
AcpiEx->CID = 0;
|
||||||
|
} else {
|
||||||
|
AcpiEx->CID = EisaIdFromText (CIDStr);
|
||||||
|
}
|
||||||
AcpiEx->UID = 0;
|
AcpiEx->UID = 0;
|
||||||
|
|
||||||
AsciiStr = (CHAR8 *) ((UINT8 *)AcpiEx + sizeof (ACPI_EXTENDED_HID_DEVICE_PATH));
|
AsciiStr = (CHAR8 *) ((UINT8 *)AcpiEx + sizeof (ACPI_EXTENDED_HID_DEVICE_PATH));
|
||||||
|
@ -1603,15 +1612,15 @@ DevPathFromTextDebugPort (
|
||||||
CHAR16 *TextDeviceNode
|
CHAR16 *TextDeviceNode
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
VENDOR_DEFINED_MESSAGING_DEVICE_PATH *Vend;
|
VENDOR_DEVICE_PATH *Vend;
|
||||||
|
|
||||||
Vend = (VENDOR_DEFINED_MESSAGING_DEVICE_PATH *) CreateDeviceNode (
|
Vend = (VENDOR_DEVICE_PATH *) CreateDeviceNode (
|
||||||
MESSAGING_DEVICE_PATH,
|
MESSAGING_DEVICE_PATH,
|
||||||
MSG_VENDOR_DP,
|
MSG_VENDOR_DP,
|
||||||
(UINT16) sizeof (VENDOR_DEFINED_MESSAGING_DEVICE_PATH)
|
(UINT16) sizeof (VENDOR_DEVICE_PATH)
|
||||||
);
|
);
|
||||||
|
|
||||||
CopyGuid (&Vend->Guid, &gEfiDebugPortDevicePathGuid);
|
CopyGuid (&Vend->Guid, &gEfiDebugPortProtocolGuid);
|
||||||
|
|
||||||
return (EFI_DEVICE_PATH_PROTOCOL *) Vend;
|
return (EFI_DEVICE_PATH_PROTOCOL *) Vend;
|
||||||
}
|
}
|
||||||
|
@ -1906,22 +1915,42 @@ ConvertFromTextUsbClass (
|
||||||
PIDStr = GetNextParamStr (&TextDeviceNode);
|
PIDStr = GetNextParamStr (&TextDeviceNode);
|
||||||
if (UsbClassText->ClassExist) {
|
if (UsbClassText->ClassExist) {
|
||||||
ClassStr = GetNextParamStr (&TextDeviceNode);
|
ClassStr = GetNextParamStr (&TextDeviceNode);
|
||||||
UsbClass->DeviceClass = (UINT8) Strtoi (ClassStr);
|
if (*ClassStr == L'\0') {
|
||||||
|
UsbClass->DeviceClass = 0xFF;
|
||||||
|
} else {
|
||||||
|
UsbClass->DeviceClass = (UINT8) Strtoi (ClassStr);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
UsbClass->DeviceClass = UsbClassText->Class;
|
UsbClass->DeviceClass = UsbClassText->Class;
|
||||||
}
|
}
|
||||||
if (UsbClassText->SubClassExist) {
|
if (UsbClassText->SubClassExist) {
|
||||||
SubClassStr = GetNextParamStr (&TextDeviceNode);
|
SubClassStr = GetNextParamStr (&TextDeviceNode);
|
||||||
UsbClass->DeviceSubClass = (UINT8) Strtoi (SubClassStr);
|
if (*SubClassStr == L'\0') {
|
||||||
|
UsbClass->DeviceSubClass = 0xFF;
|
||||||
|
} else {
|
||||||
|
UsbClass->DeviceSubClass = (UINT8) Strtoi (SubClassStr);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
UsbClass->DeviceSubClass = UsbClassText->SubClass;
|
UsbClass->DeviceSubClass = UsbClassText->SubClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
ProtocolStr = GetNextParamStr (&TextDeviceNode);
|
ProtocolStr = GetNextParamStr (&TextDeviceNode);
|
||||||
|
|
||||||
UsbClass->VendorId = (UINT16) Strtoi (VIDStr);
|
if (*VIDStr == L'\0') {
|
||||||
UsbClass->ProductId = (UINT16) Strtoi (PIDStr);
|
UsbClass->VendorId = 0xFFFF;
|
||||||
UsbClass->DeviceProtocol = (UINT8) Strtoi (ProtocolStr);
|
} else {
|
||||||
|
UsbClass->VendorId = (UINT16) Strtoi (VIDStr);
|
||||||
|
}
|
||||||
|
if (*PIDStr == L'\0') {
|
||||||
|
UsbClass->ProductId = 0xFFFF;
|
||||||
|
} else {
|
||||||
|
UsbClass->ProductId = (UINT16) Strtoi (PIDStr);
|
||||||
|
}
|
||||||
|
if (*ProtocolStr == L'\0') {
|
||||||
|
UsbClass->DeviceProtocol = 0xFF;
|
||||||
|
} else {
|
||||||
|
UsbClass->DeviceProtocol = (UINT8) Strtoi (ProtocolStr);
|
||||||
|
}
|
||||||
|
|
||||||
return (EFI_DEVICE_PATH_PROTOCOL *) UsbClass;
|
return (EFI_DEVICE_PATH_PROTOCOL *) UsbClass;
|
||||||
}
|
}
|
||||||
|
@ -3261,7 +3290,15 @@ DevPathFromTextSata (
|
||||||
(UINT16) sizeof (SATA_DEVICE_PATH)
|
(UINT16) sizeof (SATA_DEVICE_PATH)
|
||||||
);
|
);
|
||||||
Sata->HBAPortNumber = (UINT16) Strtoi (Param1);
|
Sata->HBAPortNumber = (UINT16) Strtoi (Param1);
|
||||||
Sata->PortMultiplierPortNumber = (UINT16) Strtoi (Param2);
|
|
||||||
|
//
|
||||||
|
// According to UEFI spec, if PMPN is not provided, the default is 0xFFFF
|
||||||
|
//
|
||||||
|
if (*Param2 == L'\0' ) {
|
||||||
|
Sata->PortMultiplierPortNumber = 0xFFFF;
|
||||||
|
} else {
|
||||||
|
Sata->PortMultiplierPortNumber = (UINT16) Strtoi (Param2);
|
||||||
|
}
|
||||||
Sata->Lun = (UINT16) Strtoi (Param3);
|
Sata->Lun = (UINT16) Strtoi (Param3);
|
||||||
|
|
||||||
return (EFI_DEVICE_PATH_PROTOCOL *) Sata;
|
return (EFI_DEVICE_PATH_PROTOCOL *) Sata;
|
||||||
|
|
|
@ -1380,7 +1380,7 @@ extern EFI_GUID gEfiDebugPortVariableGuid;
|
||||||
// DebugPort device path definitions...
|
// DebugPort device path definitions...
|
||||||
//
|
//
|
||||||
#define DEVICE_PATH_MESSAGING_DEBUGPORT EFI_DEBUGPORT_PROTOCOL_GUID
|
#define DEVICE_PATH_MESSAGING_DEBUGPORT EFI_DEBUGPORT_PROTOCOL_GUID
|
||||||
extern EFI_GUID gEfiDebugPortDevicePathGuid;
|
extern EFI_GUID gEfiDebugPortProtocolGuid;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||||
|
|
Loading…
Reference in New Issue