On Tue, Jan 18, 2022 at 09:38:27PM +0100, Eric Auger wrote: > Up to now the virt-machine node only contains a virtio-mmio > driver node but no driver that eventually produces any pci-bus > interface. > > Hence, PCI libqos tests cannot be run with aarch64 binary. > > This series brings the pieces needed to be able to run PCI tests > with the aarch64 binary: a generic-pcihost driver node gets > instantiated by the machine. This later contains a pci-bus-generic > driver which produces a pci-bus interface. Then all tests > consuming the pci-bus interface can be run with the libqos arm > virt machine. > > One of the first goal was to be able to run the virtio-iommu-pci > tests as the virtio-iommu was initially targetting ARM and it > was awkard to be run the test with the pc machine. This is now > possible. > > Only the tests doing hotplug cannot be run yet as hotplug is > not possible on the root bus. This will be dealt with separately > by adding a root port to the object tree. > > Best Regards > > Eric > > This series can be found at: > https://github.com/eauger/qemu/tree/libqos-pci-arm-v2 > > History
I dropped this due to make check failures. Pls make sure to make and test all targets. Thanks! > v1 -> v2: > - copyright updated to 2022 > - QPCIBusARM renamed into QGenericPCIBus > - QGenericPCIHost declarations and definitions moved in the same > place as the generic pci implementation > - rename pci-arm.c/h in generic-pcihost.c/h and remove any ref to > ARM there > - remove qos_node_produces_opts, qpci_new_arm, qpci_free_arm > - ecam_alloc_ptr now is a field of QGenericPCIBus and not QPCIBus > - new libqos_init to create generic-pcihost driver that contains > pci-bus-generic > - QGenericPCIHost moved in the same place as the generic pci > bindings > - collected Thomas A-b/R-b > > > Eric Auger (6): > tests/qtest/vhost-user-test.c: Use vhostforce=on > tests/qtest/libqos/pci: Introduce pio_limit > tests/qtest/libqos: Skip hotplug tests if pci root bus is not > hotpluggable > tests/qtest/vhost-user-blk-test: Setup MSIx to avoid error on aarch64 > tests/qtest/vhost-user-blk-test: Factorize vq setup code > tests/qtest/libqos: Add generic pci host bridge in arm-virt machine > > tests/qtest/e1000e-test.c | 6 + > tests/qtest/libqos/arm-virt-machine.c | 18 +- > tests/qtest/libqos/generic-pcihost.c | 231 ++++++++++++++++++++++++++ > tests/qtest/libqos/generic-pcihost.h | 54 ++++++ > tests/qtest/libqos/meson.build | 1 + > tests/qtest/libqos/pci-pc.c | 1 + > tests/qtest/libqos/pci-spapr.c | 1 + > tests/qtest/libqos/pci.c | 78 +++++---- > tests/qtest/libqos/pci.h | 6 +- > tests/qtest/vhost-user-blk-test.c | 39 ++++- > tests/qtest/vhost-user-test.c | 2 +- > tests/qtest/virtio-blk-test.c | 5 + > tests/qtest/virtio-net-test.c | 5 + > tests/qtest/virtio-rng-test.c | 5 + > 14 files changed, 408 insertions(+), 44 deletions(-) > create mode 100644 tests/qtest/libqos/generic-pcihost.c > create mode 100644 tests/qtest/libqos/generic-pcihost.h > > -- > 2.26.3