audk/MdeModulePkg/Bus/Pci/PciBusDxe
Ray Ni 0fa92d5839 MdeModulePkg/PciBus: Fix a bug PPB MEM32 BAR isn't restored sometimes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1505

When a device under PPB contains option ROM but doesn't require 32bit
MMIO, ProgrameUpstreamBridgeForRom() cannot correctly restore the
PPB MEM32 RANGE BAR. It causes the 32bit MMIO conflict which may
cause system hangs in boot.

The root cause is when ProgrameUpstreamBridgeForRom() calls
ProgramPpbApperture() to restore the PPB MEM32 RANGE BAR, the
ProgramPpbApperture() skips to program the BAR when the resource
length is 0.

This patch fixes this issue by not calling ProgramPpbApperture().
Instead, it directly programs the PPB MEM32 RANGE BAR.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
2019-02-14 14:56:57 +08:00
..
ComponentName.c Fix the comments to follow UEFI Spec regarding how to check an EFI_HANDLE is valid/invalid. 2011-07-06 03:55:36 +00:00
ComponentName.h Fix the comments to follow UEFI Spec regarding how to check an EFI_HANDLE is valid/invalid. 2011-07-06 03:55:36 +00:00
PciBus.c MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
PciBus.h MdeModulePkg/PciBus: Change PCI_IO_DEVICE.RomSize to UINT32 type 2019-02-14 14:56:56 +08:00
PciBusDxe.inf MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
PciBusDxe.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
PciBusDxeExtra.uni MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
PciCommand.c MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciCommand.h MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciDeviceSupport.c MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciDeviceSupport.h MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciDriverOverride.c MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciDriverOverride.h MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciEnumerator.c MdeModulePkg/PciBus: Change PCI_IO_DEVICE.RomSize to UINT32 type 2019-02-14 14:56:56 +08:00
PciEnumerator.h MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciEnumeratorSupport.c MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciEnumeratorSupport.h MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciHotPlugSupport.c MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciHotPlugSupport.h MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciIo.c MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciIo.h MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciLib.c MdeModulePkg/PciBus: Change PCI_IO_DEVICE.RomSize to UINT32 type 2019-02-14 14:56:56 +08:00
PciLib.h MdeModulePkg PciBusDxe: The PCI Bus Driver is updated to support multiple PCI bus ranges for a PCI root bridge. 2011-10-28 09:59:40 +00:00
PciOptionRomSupport.c MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciOptionRomSupport.h MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciPowerManagement.c MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciPowerManagement.h MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciResourceSupport.c MdeModulePkg/PciBus: Fix a bug PPB MEM32 BAR isn't restored sometimes 2019-02-14 14:56:57 +08:00
PciResourceSupport.h MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00
PciRomTable.c MdeModulePkg/PciBus: Fix bug that doesn't produce BusOverride 2017-10-31 11:11:04 +08:00
PciRomTable.h MdeModulePkg/PciBus: Correct typos 2019-02-14 14:56:57 +08:00