MdeModulePkg: PciHostBridgeDxe: don't assume extended config space
authorLaszlo Ersek <lersek@redhat.com>
Fri, 26 Feb 2016 22:09:46 +0000 (23:09 +0100)
committerLaszlo Ersek <lersek@redhat.com>
Thu, 3 Mar 2016 09:00:24 +0000 (10:00 +0100)
commit014b472053ae31e6b9fcdb5d4ee01e29b4d44fd4
tree32719d1b38c771a460a4341b724522084de51485
parent3da829657e67d01e39eb6cf8ef9754043271e2e7
MdeModulePkg: PciHostBridgeDxe: don't assume extended config space

The "pc" ("pc-i440fx-*") machine types of QEMU don't support extended
config space. Accordingly, OVMF will use the following library instances
in connection with the core PciHostBridgeDxe driver:

  BasePciSegmentLibPci [class: PciSegmentLib]
    BasePciLibCf8      [class: PciLib]
      BasePciCf8Lib    [class: PciCf8Lib]

Add a new field to the PCI_ROOT_BRIDGE structure so that
RootBridgeIoCheckParameter() can catch config space offsets above 0xFF on
such old (emulated) platforms.

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Marcel Apfelbaum <marcel@redhat.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciRootBridge.h
MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciRootBridgeIo.c
MdeModulePkg/Include/Library/PciHostBridgeLib.h