[PATCH 0/6] qtests/libqos: Introduce pci-arm

Eric Auger posted 6 patches 2 years, 3 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220110211915.2749082-1-eric.auger@redhat.com
Maintainers: Jason Wang <jasowang@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Thomas Huth <thuth@redhat.com>, Coiby Xu <Coiby.Xu@gmail.com>, Stefan Hajnoczi <stefanha@redhat.com>, David Gibson <david@gibson.dropbear.id.au>, Amit Shah <amit@kernel.org>, Paolo Bonzini <pbonzini@redhat.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, "Cédric Le Goater" <clg@kaod.org>, Greg Kurz <groug@kaod.org>
tests/qtest/e1000e-test.c             |   6 +
tests/qtest/libqos/arm-virt-machine.c |  47 +++++-
tests/qtest/libqos/meson.build        |   3 +
tests/qtest/libqos/pci-arm.c          | 219 ++++++++++++++++++++++++++
tests/qtest/libqos/pci-arm.h          |  56 +++++++
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              |   7 +-
tests/qtest/libqos/qgraph.c           |   7 +
tests/qtest/libqos/qgraph.h           |  15 ++
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 +
16 files changed, 452 insertions(+), 44 deletions(-)
create mode 100644 tests/qtest/libqos/pci-arm.c
create mode 100644 tests/qtest/libqos/pci-arm.h
[PATCH 0/6] qtests/libqos: Introduce pci-arm
Posted by Eric Auger 2 years, 3 months ago
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-arm
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-v1

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 pci-arm and add a pci-arm producer in arm-virt
    machine

 tests/qtest/e1000e-test.c             |   6 +
 tests/qtest/libqos/arm-virt-machine.c |  47 +++++-
 tests/qtest/libqos/meson.build        |   3 +
 tests/qtest/libqos/pci-arm.c          | 219 ++++++++++++++++++++++++++
 tests/qtest/libqos/pci-arm.h          |  56 +++++++
 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              |   7 +-
 tests/qtest/libqos/qgraph.c           |   7 +
 tests/qtest/libqos/qgraph.h           |  15 ++
 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 +
 16 files changed, 452 insertions(+), 44 deletions(-)
 create mode 100644 tests/qtest/libqos/pci-arm.c
 create mode 100644 tests/qtest/libqos/pci-arm.h

-- 
2.26.3