[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 0/6] qtests/libqos: Allow PCI tests to be run with virt-ma
From: |
Eric Auger |
Subject: |
Re: [PATCH v2 0/6] qtests/libqos: Allow PCI tests to be run with virt-machine |
Date: |
Mon, 7 Feb 2022 22:59:36 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 |
Hi Michael,
On 2/5/22 2:43 AM, Michael S. Tsirkin wrote:
> 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!
Sorry for the inconvenience.
qos-test now is failing on aarch64 and definitively it was passing when
I submitted the patches (ie. with above branch).
I bisected and d9afe24c29a0 ("hw/arm/virt: Disable highmem devices that
don't fit in the PA range") recenly applied upstream changed the way the
test behave and now is causing
/aarch64/virt/generic-pcihost/pci-bus-generic/pci-bus/megasas/megasas-tests/dcmd/pd-get-info/fuzz
to fail.
This is due to the fact GPA is limited to 32b and the device seems to
require high ECAM. I will fix that.
Thanks
Eric
>
>> 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