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


Reply via email to