On 05/13/15 14:08, Leekha Shaveta wrote: > Hi, > > > > I was looking for PCIE driver/Root Bridge implementation for ARMv8 kind > of platforms and have referred some code in files: > > · > ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe/PciRootBridgeIo.c > > · > ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe/PciHostBridge.c > > > > But I couldn’t see ATU programming code in this implementation, AFAIK > ATU programming is required for any outbound and inbound transaction of PCI. > > How the IO translation is being done in this? > > Also what is the context of “aperture” used in this code? > > > > Kindly help in clearing these doubts.
"ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe" is a port from the x86-specific "PcAtChipsetPkg/PciHostBridgeDxe". It is not meant to run on physical hardware -- it is meant to be run in QEMU/KVM virtual machines, with ARM or AARCH64 guest architecture. You can find out how the driver was gradually ported by browsing the commit history of the directory. That history should answer your questions about "aperture" and "IO translation". Alternatively, the final version of the patchset is archived at http://thread.gmane.org/gmane.comp.bios.tianocore.devel/12861 The purpose of the port was to provide the platform independent PCI bus UEFI driver in MdeModulePkg/Bus/Pci/PciBusDxe/ to enumerate virtual devices, producing PciIo protocol instances for them. This way various (virtual and non-virtual) PCI device drivers could be stacked on top of the corresponding virtual PCI devices, such as: - OvmfPkg/QemuVideoDxe for VGA - virtio drivers using the virtio-pci backend - USB host and device drivers (UhciDxe, EhciDxe, XhciDxe, UsbBusDxe, UsbKbDxe) If you are interested in a PCI host bridge driver that runs on physical AARCH64 platforms, please talk to your vendor; hopefully they'll give you access to their firmware code. Or, talk to Linaro perhaps. Here's an example (not sure how fresh it is): https://github.com/mlangsdorf/linaro-edk2/tree/acpi-share/ArmPlatformPkg/APMXGenePkg/Bus/Pci/PciHostBridgeDxe https://github.com/mlangsdorf/linaro-edk2/tree/acpi-share/ArmPlatformPkg/APMXGenePkg/Modules/MdeModulePkg/Bus/Pci/PciBusDxe Thanks Laszlo ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel