Up to now the virt-machine node contains a virtio-mmio node.
However no driver produces any PCI interface node. Hence, PCI
tests cannot be run with aarch64 binary.
Add a GPEX driver node that produces a pci interface node. This latter
then can be consumed by all the pci tests. One of the first motivation
was to be able to run the virtio-iommu-pci tests.
We still face an issue with pci hotplug tests as hotplug cannot happen
on the pcie root bus and require a generic root port. This will be
addressed later on.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
---
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.h | 1 +
tests/qtest/libqos/qgraph.c | 7 +
tests/qtest/libqos/qgraph.h | 15 ++
7 files changed, 344 insertions(+), 4 deletions(-)
create mode 100644 tests/qtest/libqos/pci-arm.c
create mode 100644 tests/qtest/libqos/pci-arm.h
diff --git a/tests/qtest/libqos/pci-arm.c b/tests/qtest/libqos/pci-arm.c
new file mode 100644
index 00000000000..64d826bb3c7
--- /dev/null
+++ b/tests/qtest/libqos/pci-arm.c
@@ -0,0 +1,219 @@
+/*
+ * libqos PCI bindings for ARM
+ *
+ * Copyright Red Hat Inc., 2021