mirror of https://github.com/acidanthera/audk.git
Update logic in Suuported() for PCI-ISA Bridges with Positive Decode to avoid false positives on bridges of class PCI_CLASS_BRIDGE_OTHER.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10626 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
4bc6ab83ba
commit
755e4d1184
|
@ -73,6 +73,10 @@ PcatIsaAcpiDriverBindingSupported (
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
EFI_PCI_IO_PROTOCOL *PciIo;
|
EFI_PCI_IO_PROTOCOL *PciIo;
|
||||||
PCI_TYPE00 Pci;
|
PCI_TYPE00 Pci;
|
||||||
|
UINTN SegmentNumber;
|
||||||
|
UINTN BusNumber;
|
||||||
|
UINTN DeviceNumber;
|
||||||
|
UINTN FunctionNumber;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Get PciIo protocol instance
|
// Get PciIo protocol instance
|
||||||
|
@ -110,10 +114,25 @@ PcatIsaAcpiDriverBindingSupported (
|
||||||
//
|
//
|
||||||
// See if this is an Intel PCI to ISA bridge in Positive Decode Mode
|
// See if this is an Intel PCI to ISA bridge in Positive Decode Mode
|
||||||
//
|
//
|
||||||
if (Pci.Hdr.ClassCode[1] == PCI_CLASS_BRIDGE_ISA_PDECODE &&
|
if (Pci.Hdr.ClassCode[1] == PCI_CLASS_BRIDGE_ISA_PDECODE &&
|
||||||
Pci.Hdr.VendorId == 0x8086 &&
|
Pci.Hdr.VendorId == 0x8086 ) {
|
||||||
(Pci.Hdr.DeviceId & 0xF000) == 0x7000) {
|
//
|
||||||
Status = EFI_SUCCESS;
|
// See if this is on Function #0 to avoid false positives on
|
||||||
|
// PCI_CLASS_BRIDGE_OTHER that has the same value as
|
||||||
|
// PCI_CLASS_BRIDGE_ISA_PDECODE
|
||||||
|
//
|
||||||
|
Status = PciIo->GetLocation (
|
||||||
|
PciIo,
|
||||||
|
&SegmentNumber,
|
||||||
|
&BusNumber,
|
||||||
|
&DeviceNumber,
|
||||||
|
&FunctionNumber
|
||||||
|
);
|
||||||
|
if (!EFI_ERROR (Status) && FunctionNumber == 0) {
|
||||||
|
Status = EFI_SUCCESS;
|
||||||
|
} else {
|
||||||
|
Status = EFI_UNSUPPORTED;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue