On 03/04/16 16:37, Gabriel L. Somlo wrote: > On Fri, Mar 04, 2016 at 03:46:29PM +0100, Laszlo Ersek wrote: >> The first two patches should fix >> <https://github.com/tianocore/edk2/issues/32>, based on Marcel's >> analysis in that item. (Thanks a lot for that again!) These patches are >> (and should be) independent of -D USE_OLD_PCI_HOST; that is, they are >> active regardless of the fallback that we're temporarily retaining. >> >> Michał, can you please test if the series solves your issue? >> >> Then, based on the first two patches, the other three expose ECAM to the >> firmware modules proper (DXE and later). These do depend on >> USE_OLD_PCI_HOST==FALSE (which is the default now, and the only >> supported build in the mid term). >> >> I tested & regression tested the series in a bunch of scenarios; the >> most interesting is probably the usual physical GPU assignment. On Q35, >> the core PciHostBridgeDxe now permits access to the full extended config >> space, and it works all right with the PCIe GTX750. >> >> Gabriel, can you please check if your Q35 OSX guest(s) continue working >> with this? > > Applied this series on top of the remaining out-of-tree osx-specific > patches I keep around, and q35 10.9 through 10.11 appear to work fine. > > Older versions (10.8 and older) won't boot even without this series > applied, so if they ever did work (not really sure about that), it > wasn't anything recent that made them stop :) > > Tested-by: Gabriel Somlo <so...@cmu.edu>
Thanks a lot for the quick (and positive :)) feedback! Laszlo > Cheers, > --Gabriel > >> >> Public branch: <https://github.com/lersek/edk2/commits/pcie_issue32_v1>. >> >> Cc: Gabriel Somlo <so...@cmu.edu> >> Cc: Jordan Justen <jordan.l.jus...@intel.com> >> Cc: Marcel Apfelbaum <mar...@redhat.com> >> Cc: Michał Zegan <webczat_...@poczta.onet.pl> >> Cc: Ruiyu Ni <ruiyu...@intel.com> >> >> Thanks! >> Laszlo >> >> Laszlo Ersek (5): >> OvmfPkg: IndustryStandard/Q35MchIch9.h: add PCIEXBAR macros >> OvmfPkg: PlatformPei: enable PCIEXBAR (aka MMCONFIG / ECAM) on Q35 >> OvmfPkg: add DxePciLibI440FxQ35 >> OvmfPkg: match PCI config access to machine type (if not >> USE_OLD_PCI_HOST) >> OvmfPkg: PciHostBridgeLib: permit access to the full extended config >> space >> >> OvmfPkg/Include/IndustryStandard/Q35MchIch9.h >> | 8 + >> OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf >> | 47 ++++++ >> {MdePkg/Library/BasePciLibCf8 => >> OvmfPkg/Library/DxePciLibI440FxQ35}/PciLib.c | 161 +++++++++++++++----- >> OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c >> | 4 +- >> OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf >> | 1 + >> OvmfPkg/OvmfPkgIa32.dsc >> | 29 ++++ >> OvmfPkg/OvmfPkgIa32X64.dsc >> | 29 ++++ >> OvmfPkg/OvmfPkgX64.dsc >> | 29 ++++ >> OvmfPkg/PlatformPei/Platform.c >> | 81 ++++++++++ >> OvmfPkg/PlatformPei/PlatformPei.inf >> | 3 + >> 10 files changed, 356 insertions(+), 36 deletions(-) >> create mode 100644 OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf >> copy {MdePkg/Library/BasePciLibCf8 => >> OvmfPkg/Library/DxePciLibI440FxQ35}/PciLib.c (85%) >> >> -- >> 1.8.3.1 >> _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel