diff options
author | rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-12-24 14:05:36 +0000 |
---|---|---|
committer | rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-12-24 14:05:36 +0000 |
commit | 6051620257f9eff7a9db17e1bd3b1b7336b3e440 (patch) | |
tree | ff17732f48280964dd2204ea650ee54f8b45b70c /MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c | |
parent | 1ef267831621d709d685c6e65856bdf711ea7b79 (diff) | |
download | edk2-platforms-6051620257f9eff7a9db17e1bd3b1b7336b3e440.tar.xz |
Update resource degrade algorithm in PCI bus driver. (1)If any child device has both option ROM and 64-bit BAR, degrade its PMEM64/MEM64 requests in case that if a legacy option ROM image can not access 64-bit resources. (2) If there are both PMEM64 and PMEM32 requests from child devices, which can not be satisfied by a P2P bridge simultaneously, keep PMEM64 and degrade PMEM32 to MEM32. (3) PMEM64/MEM64 are not supported when firmware is in 32-bit mode.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9599 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c')
-rw-r--r-- | MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c index ece3ee830f..aa209cd8cf 100644 --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c @@ -475,6 +475,7 @@ DetermineRootBridgeAttributes ( }
if ((Attributes & EFI_PCI_HOST_BRIDGE_MEM64_DECODE) != 0) {
+ RootBridgeDev->Decodes |= EFI_BRIDGE_MEM64_DECODE_SUPPORTED;
RootBridgeDev->Decodes |= EFI_BRIDGE_PMEM64_DECODE_SUPPORTED;
}
|