This series fixes the Designware PCIe host to work with cards other than virio-net-pci, e.g. e1000. It was tested on the imx8mp-evk machine.
The series is structured as follows: The first part refactors the device model to create memory regions for inbound/outbound PCI mappings on demand rather than upfront since this approach doesn't scale for adding I/O space support. The second part consists of fixing the memory mapping by adding I/O space support and fixing default inbound viewport mapping. The third part concludes the series by implementing device reset and cleaning up the imx8mp SoC implementation. Testing done: * Boot imx8mp-evk machine with Buildroot while having an e1000 card attached. Observe that it gets an IP address via DHCP and allows for downloading an HTML file via HTTP. Bernhard Beschow (10): hw/pci-host/designware: Eliminate some helper variables hw/pci-host/designware: Create viewport memory regions on demand hw/pci-host/designware: Determine PCIDevice of configuration region once hw/pci-host/designware: Distinguish stronger between viewport memory types hw/pci-host/designware: Implement I/O space hw/pci-host/designware: Fix I/O range hw/pci-host/designware: Don't map PCI memory space into PCI inbound window hw/pci-host/designware: Fix default inbound viewport mapping hw/pci-host/designware: Implement device reset hw/arm/fsl-imx8mp: Do not map PCI window as unimplemented include/hw/pci-host/designware.h | 5 +- hw/arm/fsl-imx8mp.c | 1 + hw/pci-host/designware.c | 284 ++++++++++++++++--------------- 3 files changed, 151 insertions(+), 139 deletions(-) -- 2.50.1