]> git.proxmox.com Git - mirror_edk2.git/commit
MdeModulePkg/PciBus: Fix system hang when no PCI Option ROM exists
authorRuiyu Ni <ruiyu.ni@intel.com>
Tue, 11 Dec 2018 09:49:17 +0000 (17:49 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Mon, 17 Dec 2018 01:38:02 +0000 (09:38 +0800)
commit736c436e5355e1370f13392a6cecf2cf260608a8
treeda2cefc0eaa6f48d1753f4b25cd85dfe6e1844c7
parentc8c3c53669bea887ecc093167d64d1fbe63c213f
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>
MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c