CorebootPayloadPkg: Allow PciLib instance selection
authorMaurice Ma <maurice.ma@intel.com>
Thu, 17 Nov 2016 03:01:01 +0000 (19:01 -0800)
committerMaurice Ma <maurice.ma@intel.com>
Thu, 17 Nov 2016 18:21:52 +0000 (10:21 -0800)
On old platform without PCIe express support, the PciLib needs to
be mapped to PciLibCf8 instance to make it work.  On new platform
with PCIe express support, the PciLib needs to be mapped to
PciLibPciExpress to allow access to extended PCIe configuration
space. This patch allows to select the PciLib instance between
PciLibCf8 and PciLibPciExpress using the PCIE_BASE macro through
build command line.

Cc: Prince Agyeman <prince.agyeman@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
Reviewed-by: Prince Agyeman <prince.agyeman@intel.com>
CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc
CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc

index d4b3f71..cdfcb75 100644 (file)
   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
   CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
+!if $(PCIE_BASE) == 0\r
+  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
+  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf\r
+!else\r
   PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf\r
   PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf\r
+!endif\r
   PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf\r
   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
index 1e9bae9..c35f261 100644 (file)
   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
   CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
+!if $(PCIE_BASE) == 0\r
+  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
+  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf\r
+!else\r
   PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf\r
   PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf\r
+!endif\r
   PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf\r
   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r