Make BaseCachingPciExpressLib depend on PciPcdProducerLib, so that we
have a chance to populate PcdPciExpressBaseAddress based on the contents
of the device tree.
Also update the platforms under ArmVirtPkg that support PCI to use the
special MAX_UINT64 value as the build time default for
PcdPciExpressBaseAddress.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
!if $(SECURE_BOOT_ENABLE) == TRUE\r
FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
!endif\r
!if $(SECURE_BOOT_ENABLE) == TRUE\r
FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
!endif\r
+ PciPcdProducerLib|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
\r
[LibraryClasses.common.UEFI_DRIVER]\r
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
\r
[LibraryClasses.common.UEFI_DRIVER]\r
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
gArmPlatformTokenSpaceGuid.PcdPciIoTranslation|0x0\r
gArmPlatformTokenSpaceGuid.PcdPciMmio32Base|0x0\r
gArmPlatformTokenSpaceGuid.PcdPciMmio32Size|0x0\r
gArmPlatformTokenSpaceGuid.PcdPciIoTranslation|0x0\r
gArmPlatformTokenSpaceGuid.PcdPciMmio32Base|0x0\r
gArmPlatformTokenSpaceGuid.PcdPciMmio32Size|0x0\r
- gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0\r
+\r
+ # set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this\r
+ # PCD and PcdPciDisableBusEnumeration above have not been assigned yet\r
+ gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF\r
\r
#\r
# Set video resolution for boot options and for text setup.\r
\r
#\r
# Set video resolution for boot options and for text setup.\r
!if $(SECURE_BOOT_ENABLE) == TRUE\r
FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
!endif\r
!if $(SECURE_BOOT_ENABLE) == TRUE\r
FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
!endif\r
+ PciPcdProducerLib|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf\r
\r
[LibraryClasses.common.UEFI_DRIVER]\r
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
\r
[LibraryClasses.common.UEFI_DRIVER]\r
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
gArmPlatformTokenSpaceGuid.PcdPciIoTranslation|0x0\r
gArmPlatformTokenSpaceGuid.PcdPciMmio32Base|0x0\r
gArmPlatformTokenSpaceGuid.PcdPciMmio32Size|0x0\r
gArmPlatformTokenSpaceGuid.PcdPciIoTranslation|0x0\r
gArmPlatformTokenSpaceGuid.PcdPciMmio32Base|0x0\r
gArmPlatformTokenSpaceGuid.PcdPciMmio32Size|0x0\r
- gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0\r
+\r
+ # set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this\r
+ # PCD and PcdPciDisableBusEnumeration above have not been assigned yet\r
+ gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF\r
\r
#\r
# Set video resolution for boot options and for text setup.\r
\r
#\r
# Set video resolution for boot options and for text setup.\r
PciExpressLib.c\r
\r
[Packages]\r
PciExpressLib.c\r
\r
[Packages]\r
+ ArmVirtPkg/ArmVirtPkg.dec\r
MdePkg/MdePkg.dec\r
\r
[LibraryClasses]\r
MdePkg/MdePkg.dec\r
\r
[LibraryClasses]\r
PcdLib\r
DebugLib\r
IoLib\r
PcdLib\r
DebugLib\r
IoLib\r
\r
[Pcd]\r
gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress ## CONSUMES\r
\r
[Pcd]\r
gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress ## CONSUMES\r