qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 0/5] qtests/libqos: Allow PCI tests to be run with virt-ma


From: Michael S. Tsirkin
Subject: Re: [PATCH v3 0/5] qtests/libqos: Allow PCI tests to be run with virt-machine
Date: Sun, 6 Mar 2022 05:50:20 -0500

On Thu, Feb 10, 2022 at 03:52:49PM +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.
> 
> Also I have some trouble with 2 of the vhost-user-blk-tests. I am
> obliged to hack them in "tests/qtest/vhost-user-blk-test: Temporary
> hack to get tests passing on aarch64". Looks like a memory
> allocation issue, which at first sight seems unrelated to the
> aarch64 pci libqos enablement but we are never sure. Calling for
> help on this issue, if some vhost-user specialists can dedicate
> some cycles on this. Otherwise I will try my best to further debug.
> 
> To reproduce the issue, revert the above hack and run
> 
> QTEST_QEMU_STORAGE_DAEMON_BINARY=build/storage-daemon/qemu-storage-daemon 
> QTEST_QEMU_BINARY=build/aarch64-softmmu/qemu-system-aarch64 
> build/tests/qtest/qos-test
> 
> you should get:
> 
>     ERROR:../tests/qtest/libqos/virtio.c:224:qvirtio_wait_used_elem:
>     assertion failed (got_desc_idx == desc_idx): (50331648 == 0)
>     Bail out! ERROR:../tests/qtest/libqos/virtio.c:224: 
> qvirtio_wait_used_elem:
>     assertion failed (got_desc_idx == desc_idx): (50331648 == 0)
> 
> Best Regards
> 
> Eric
> 
> This series can be found at:
> https://github.com/eauger/qemu/tree/libqos-pci-arm-v3

Seems to cause issues when run on a powerpc host (see Peter's
response to the pull request).
Dropped from pull for now.


> History
> 
> 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 otherwise
>   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 (5):
>   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: Temporary hack to get tests passing
>     on aarch64
>   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     |  16 ++
>  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, 394 insertions(+), 36 deletions(-)
>  create mode 100644 tests/qtest/libqos/generic-pcihost.c
>  create mode 100644 tests/qtest/libqos/generic-pcihost.h
> 
> -- 
> 2.26.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]