}\r
};\r
\r
-PCI_ROOT_BRIDGE_RESOURCE_APERTURE mResAperture[1][1] = {\r
- {{0, 0xff, 0x80000000, 0xffffffff, 0, 0xffff}}\r
-};\r
+STATIC PCI_ROOT_BRIDGE_RESOURCE_APERTURE mResAperture[1][1];\r
\r
EFI_HANDLE mDriverImageHandle;\r
\r
\r
mDriverImageHandle = ImageHandle;\r
\r
+ mResAperture[0][0].BusBase = PcdGet32 (PcdPciBusMin);\r
+ mResAperture[0][0].BusLimit = PcdGet32 (PcdPciBusMax);\r
+\r
+ mResAperture[0][0].MemBase = PcdGet32 (PcdPciMmio32Base);\r
+ mResAperture[0][0].MemLimit = (UINT64)PcdGet32 (PcdPciMmio32Base) +\r
+ PcdGet32 (PcdPciMmio32Size) - 1;\r
+\r
+ mResAperture[0][0].IoBase = PcdGet64 (PcdPciIoBase);\r
+ mResAperture[0][0].IoLimit = PcdGet64 (PcdPciIoBase) +\r
+ PcdGet64 (PcdPciIoSize) - 1;\r
+ mResAperture[0][0].IoTranslation = PcdGet64 (PcdPciIoTranslation);\r
+\r
//\r
// Create Host Bridge Device Handle\r
//\r
#include <Library/DevicePathLib.h>\r
#include <Library/IoLib.h>\r
#include <Library/PciLib.h>\r
+#include <Library/PcdLib.h>\r
\r
//\r
// Hard code the host bridge number in the platform.\r
\r
UINT64 IoBase; \r
UINT64 IoLimit; \r
+ UINT64 IoTranslation;\r
} PCI_ROOT_BRIDGE_RESOURCE_APERTURE;\r
\r
typedef enum {\r
\r
[Packages]\r
MdePkg/MdePkg.dec\r
+ ArmPlatformPkg/ArmPlatformPkg.dec\r
\r
[LibraryClasses]\r
UefiDriverEntryPoint\r
DevicePathLib\r
IoLib\r
PciLib\r
+ PcdLib\r
\r
[Sources]\r
PciHostBridge.c\r
gEfiMetronomeArchProtocolGuid ## CONSUMES\r
gEfiDevicePathProtocolGuid ## PRODUCES\r
\r
+[Pcd]\r
+ gArmPlatformTokenSpaceGuid.PcdPciBusMin\r
+ gArmPlatformTokenSpaceGuid.PcdPciBusMax\r
+ gArmPlatformTokenSpaceGuid.PcdPciIoBase\r
+ gArmPlatformTokenSpaceGuid.PcdPciIoSize\r
+ gArmPlatformTokenSpaceGuid.PcdPciIoTranslation\r
+ gArmPlatformTokenSpaceGuid.PcdPciMmio32Base\r
+ gArmPlatformTokenSpaceGuid.PcdPciMmio32Size\r
+\r
[depex]\r
gEfiMetronomeArchProtocolGuid\r