Add back the trick logic on EFI_PCI_DEVICE_ENABLE in PciBus driver so that some old vendor drivers can still work well.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4131 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -192,6 +192,8 @@ ATAIdentify (
|
|||||||
|
|
||||||
@retval EFI_DEVICE_ERROR The identify data in IdeDev is incorrect
|
@retval EFI_DEVICE_ERROR The identify data in IdeDev is incorrect
|
||||||
|
|
||||||
|
@retval EFI_INVALID_PARAMETER The identify data in IdeDev is NULL.
|
||||||
|
|
||||||
@note
|
@note
|
||||||
This function must be called after DEVICE_IDENTITY command has been
|
This function must be called after DEVICE_IDENTITY command has been
|
||||||
successfully returned
|
successfully returned
|
||||||
@ -208,7 +210,7 @@ AtaAtapi6Identify (
|
|||||||
EFI_IDENTIFY_DATA *Atapi6IdentifyStruct;
|
EFI_IDENTIFY_DATA *Atapi6IdentifyStruct;
|
||||||
|
|
||||||
if (IdeDev->pIdData == NULL) {
|
if (IdeDev->pIdData == NULL) {
|
||||||
return EFI_UNSUPPORTED;
|
return EFI_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
Atapi6IdentifyStruct = IdeDev->pIdData;
|
Atapi6IdentifyStruct = IdeDev->pIdData;
|
||||||
|
@ -275,9 +275,6 @@ Returns:
|
|||||||
EFI_TIMEOUT - Time out
|
EFI_TIMEOUT - Time out
|
||||||
|
|
||||||
--*/
|
--*/
|
||||||
// TODO: TimeoutInMilliSeconds - add argument and description to function comment
|
|
||||||
// TODO: EFI_SUCCESS - add return value to function comment
|
|
||||||
// TODO: EFI_TIMEOUT - add return value to function comment
|
|
||||||
{
|
{
|
||||||
UINT32 Delay;
|
UINT32 Delay;
|
||||||
UINTN Index;
|
UINTN Index;
|
||||||
|
@ -1464,19 +1464,20 @@ Returns:
|
|||||||
// Just a trick for ENABLE attribute
|
// Just a trick for ENABLE attribute
|
||||||
// EFI_PCI_DEVICE_ENABLE is not defined in UEFI spec, which is the internal usage.
|
// EFI_PCI_DEVICE_ENABLE is not defined in UEFI spec, which is the internal usage.
|
||||||
// So, this logic doesn't confrom to UEFI spec, which should be removed.
|
// So, this logic doesn't confrom to UEFI spec, which should be removed.
|
||||||
|
// But this trick logic is still kept for some binary drivers that depend on it.
|
||||||
//
|
//
|
||||||
// if ((Attributes & EFI_PCI_DEVICE_ENABLE) == EFI_PCI_DEVICE_ENABLE) {
|
if ((Attributes & EFI_PCI_DEVICE_ENABLE) == EFI_PCI_DEVICE_ENABLE) {
|
||||||
// Attributes &= (PciIoDevice->Supports);
|
Attributes &= (PciIoDevice->Supports);
|
||||||
//
|
|
||||||
// //
|
//
|
||||||
// // Raise the EFI_P_PC_ENABLE Status code
|
// Raise the EFI_P_PC_ENABLE Status code
|
||||||
// //
|
//
|
||||||
// REPORT_STATUS_CODE_WITH_DEVICE_PATH (
|
REPORT_STATUS_CODE_WITH_DEVICE_PATH (
|
||||||
// EFI_PROGRESS_CODE,
|
EFI_PROGRESS_CODE,
|
||||||
// EFI_IO_BUS_PCI | EFI_P_PC_ENABLE,
|
EFI_IO_BUS_PCI | EFI_P_PC_ENABLE,
|
||||||
// PciIoDevice->DevicePath
|
PciIoDevice->DevicePath
|
||||||
// );
|
);
|
||||||
// }
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// If no attributes can be supported, then return.
|
// If no attributes can be supported, then return.
|
||||||
|
Reference in New Issue
Block a user