]> git.proxmox.com Git - mirror_edk2.git/commit
OvmfPkg: add DxePciLibI440FxQ35
authorLaszlo Ersek <lersek@redhat.com>
Thu, 3 Mar 2016 23:53:12 +0000 (00:53 +0100)
committerLaszlo Ersek <lersek@redhat.com>
Thu, 10 Mar 2016 20:28:29 +0000 (21:28 +0100)
commit7523788faa51e1a94e87ddb984ceacf8dc8a49bb
treef9b62be3eeaa23a4594ade74e9b8a771aeaf813c
parent7b8fe63561b43f0ae47673a32d27e4967149b556
OvmfPkg: add DxePciLibI440FxQ35

This library is a trivial unification of the following two PciLib
instances (and the result is easily diffable against each):
- MdePkg/Library/BasePciLibCf8
- MdePkg/Library/BasePciLibPciExpress

The PCI config access method is determined in the constructor function,
from the dynamic PCD "PcdOvmfHostBridgePciDevId" that is set by
PlatformPei.

The library instance is usable in DXE phase or later modules: the PciLib
instances being unified have no firmware phase / client module type
restrictions, and here the only PCD access is made in the constructor
function. That is, even before a given client executable's entry point is
invoked.

The library instance depends on PlatformPei both for setting the PCD
mentioned above, and also for enabling MMCONFIG on Q35. PEI and earlier
phase modules are not expected to need extended config access even on Q35.

Cc: Gabriel Somlo <somlo@cmu.edu>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Marcel Apfelbaum <marcel@redhat.com>
Cc: Michał Zegan <webczat_200@poczta.onet.pl>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Tested-by: Gabriel Somlo <somlo@cmu.edu>
Tested-by: Michał Zegan <webczat_200@poczta.onet.pl>
OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf [new file with mode: 0644]
OvmfPkg/Library/DxePciLibI440FxQ35/PciLib.c [new file with mode: 0644]