On Wed, Apr 05, 2017 at 02:37:06PM +0100, Ard Biesheuvel wrote:
On 5 April 2017 at 14:36, Leif Lindholm leif.lindholm@linaro.org wrote:
On Tue, Apr 04, 2017 at 01:31:22PM +0100, Ard Biesheuvel wrote:
Now that we have the prerequisites in place, switch to the generic PCI host bridge driver.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org
Platforms/ARM/Juno/ArmJuno.dsc | 17 +++++++++++------ Platforms/ARM/Juno/ArmJuno.fdf | 4 ++-- 2 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/Platforms/ARM/Juno/ArmJuno.dsc b/Platforms/ARM/Juno/ArmJuno.dsc index 4d5d207f0c3a..a9524be86dbc 100644 --- a/Platforms/ARM/Juno/ArmJuno.dsc +++ b/Platforms/ARM/Juno/ArmJuno.dsc @@ -66,6 +66,10 @@ [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER] PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf
- PciHostBridgeLib|OpenPlatformPkg/Platforms/ARM/Juno/Library/JunoPciHostBridgeLib/JunoPciHostBridgeLib.inf
- PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
- PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
- PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
[BuildOptions] *_*_*_PLATFORM_FLAGS = -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmJunoPkg/Include @@ -143,13 +147,17 @@ # PLDA PCI Root Complex # gArmTokenSpaceGuid.PcdPciBusMax|255
- gArmTokenSpaceGuid.PcdPciIoBase|0x5f800000
Is this effectively a bugfix ...
gArmTokenSpaceGuid.PcdPciIoBase|0x0 gArmTokenSpaceGuid.PcdPciIoSize|0x00800000 gArmTokenSpaceGuid.PcdPciMmio32Base|0x50000000 gArmTokenSpaceGuid.PcdPciMmio32Size|0x08000000 gArmTokenSpaceGuid.PcdPciMmio64Base|0x4000000000 gArmTokenSpaceGuid.PcdPciMmio64Size|0x100000000
gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x40000000
gArmTokenSpaceGuid.PcdPciIoTranslation|0x5f800000
... but not point in fixing before the switch?
Not quite. The Juno host bridge driver interprets PcdPciIoBase as the start of the I/O region in memory.
Right ... but that's a bit "wrong", right? Conceptually if nothing else.
I'm still OK with that explanation - R-b stands.
/ Leif
(If so, fine. Reviewed-by: Leif Lindholm leif.lindholm@linaro.org)
- gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|24
- # List of Device Paths that support BootMonFs gArmPlatformTokenSpaceGuid.PcdBootMonFsSupportedDevicePaths|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)"
@@ -270,16 +278,13 @@ MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
# Required by PCI
- UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf
# # PCI Support # MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
- ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf {
<LibraryClasses>
DmaLib|EmbeddedPkg/Library/NullDmaLib/NullDmaLib.inf
- }
MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
# # SATA Controller
diff --git a/Platforms/ARM/Juno/ArmJuno.fdf b/Platforms/ARM/Juno/ArmJuno.fdf index a16c897f4656..53a3bd2420ce 100644 --- a/Platforms/ARM/Juno/ArmJuno.fdf +++ b/Platforms/ARM/Juno/ArmJuno.fdf @@ -140,7 +140,7 @@ FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092 INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
# Required by PCI
- INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
INF ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf
# FV FileSystem INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
@@ -161,7 +161,7 @@ FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092 # PCI Support # INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
- INF ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe/PciHostBridgeDxe.inf
INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
# # SATA Controller
-- 2.9.3