audk/MdeModulePkg/Bus/Pci/PciBusDxe
Ruiyu Ni 736c436e53 MdeModulePkg/PciBus: Fix system hang when no PCI Option ROM exists
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1394

When there is no PCI option ROM exists, today's logic still creates
virtual BAR for option ROM using Length = 0, Alignment = (-1).
It causes the final MEM32 alignment requirement is as big as
0xFFFFFFFF_FFFFFFFF.

The patch fixes this issue by only creating virtual BAR for option
ROM when there is PCI option ROM.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Chiu Chasel <chasel.chiu@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2018-12-17 09:38:02 +08:00
..
ComponentName.c
ComponentName.h
PciBus.c MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
PciBus.h MdeModulePkg/PciBus: Shadow option ROM after BARs are programmed 2018-12-10 10:30:13 +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: Enhance PCI capability looking up logic to avoid hang 2015-09-15 08:38:16 +00:00
PciCommand.h
PciDeviceSupport.c MdeModulePkg/PciBus: Restrict one VGA per HostBridge not Segment 2018-08-27 09:40:22 +08:00
PciDeviceSupport.h MdeModulePkg/PciBus: Restrict one VGA per HostBridge not Segment 2018-08-27 09:40:22 +08:00
PciDriverOverride.c MdeModulePkg/PciBus: Fix bug that doesn't produce BusOverride 2017-10-31 11:11:04 +08:00
PciDriverOverride.h MdeModulePkg/PciBus: Fix bug that doesn't produce BusOverride 2017-10-31 11:11:04 +08:00
PciEnumerator.c MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
PciEnumerator.h MdeModulePkg/PciBusDxe: reference gFullEnumeration in one file 2018-01-24 11:40:30 +08:00
PciEnumeratorSupport.c MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
PciEnumeratorSupport.h MdeModulePkg: Fix a PCI resource dumping bug in PciBusDxe driver 2015-11-03 02:33:41 +00:00
PciHotPlugSupport.c MdeModulePkg/PciBusDxe: recognize hotplug-capable PCIe ports 2016-07-13 08:39:29 +02:00
PciHotPlugSupport.h MdeModulePkg/PciBusDxe: recognize hotplug-capable PCIe ports 2016-07-13 08:39:29 +02:00
PciIo.c MdeModulePkg/PciBus: Restrict one VGA per HostBridge not Segment 2018-08-27 09:40:22 +08:00
PciIo.h MdeModulePkg PciBusDxe: Remove redundant functions 2018-08-21 16:28:57 +08:00
PciLib.c MdeModulePkg/PciBus: Fix system hang when no PCI Option ROM exists 2018-12-17 09:38:02 +08:00
PciLib.h
PciOptionRomSupport.c MdeModulePkg/PciBus: Shadow option ROM after BARs are programmed 2018-12-10 10:30:13 +08:00
PciOptionRomSupport.h Dispatch the UEFI option rom returned from PciPlatform/PciOverride protocol. 2015-01-20 06:45:01 +00:00
PciPowerManagement.c MdeModulePkg PciBusDxe and DuetPkg PciBusNoEnumerationDxe: Update ResetPowerManagementFeature() to clear 4 related R/W bits in the PMCSR register, leaving other bits preserved. 2012-04-12 01:49:27 +00:00
PciPowerManagement.h
PciResourceSupport.c MdeModulePkg/PciBus: Shadow option ROM after BARs are programmed 2018-12-10 10:30:13 +08:00
PciResourceSupport.h
PciRomTable.c MdeModulePkg/PciBus: Fix bug that doesn't produce BusOverride 2017-10-31 11:11:04 +08:00
PciRomTable.h MdeModulePkg/PciBus: Refine EFI_PCI_ROM_IMAGE_MAPPING 2017-10-31 11:11:03 +08:00