[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 0/3] qtests/libqos: Allow PCI tests to be run with virt-ma
From: |
Eric Auger |
Subject: |
Re: [PATCH v6 0/3] qtests/libqos: Allow PCI tests to be run with virt-machine |
Date: |
Mon, 9 May 2022 10:18:03 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 |
Hi,
On 5/4/22 17:20, 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 run the tests 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-v6
A gentle ping on this series.
Now 5b4f72f5e86 ("tests/qtest: properly initialise the vring used idx")
has landed and the all the enabled tests pass, Could someone please consider
pulling it. I have rebased it on
907b5105f1b ("tests: move libqtest.h back under qtest")
so now I hope everything is OK
Thank you in advance
Eric
>
> History
>
> v5 -> v6:
> - change the libqtest.h header path after pull of
> "tests: move libqtest.h back under qtest/"
>
> v4 -> v5:
> - Added Alex' R-b
> - Removed [PATCH v3 4/5] tests/qtest/vhost-user-blk-test:
> Temporary hack to get tests passing on aarch64
> following Alex' fix
>
> v3 -> v4:
> - handle endianess when accessing the cfg space (fix PPC64
> BE failure). Tested on such machine.
>
> v2 -> v3:
> - force -cpu=max along with aarch64/virt
> - reduced the vhost-user-block-pci issue workaround to a
> single guest_alloc() instead of enabling MSIs. Call for
> help on this specific issue. The 2 tests which fail are:
> test_basic and indirect.
>
> 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 (3):
> tests/qtest/libqos/pci: Introduce pio_limit
> tests/qtest/libqos: Skip hotplug tests if pci root bus is not
> hotpluggable
> 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 | 19 ++-
> 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 | 10 ++
> tests/qtest/virtio-blk-test.c | 5 +
> tests/qtest/virtio-net-test.c | 5 +
> tests/qtest/virtio-rng-test.c | 5 +
> 13 files changed, 387 insertions(+), 35 deletions(-)
> create mode 100644 tests/qtest/libqos/generic-pcihost.c
> create mode 100644 tests/qtest/libqos/generic-pcihost.h
>