Cc: Thomas Huth <thuth@xxxxxxxxxx> Cc: Andrew Jones <drjones@xxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> --- arm/Makefile.common | 1 + arm/pci-test.c | 14 ++++++++++++-- arm/run | 7 ++++++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/arm/Makefile.common b/arm/Makefile.common index 97179bbea4e7..f37b5c2a3de4 100644 --- a/arm/Makefile.common +++ b/arm/Makefile.common @@ -36,6 +36,7 @@ cflatobjs += lib/alloc.o cflatobjs += lib/devicetree.o cflatobjs += lib/pci.o cflatobjs += lib/pci-host-generic.o +cflatobjs += lib/pci-testdev.o cflatobjs += lib/virtio.o cflatobjs += lib/virtio-mmio.o cflatobjs += lib/chr-testdev.o diff --git a/arm/pci-test.c b/arm/pci-test.c index fde5495dd626..be228320e8c7 100644 --- a/arm/pci-test.c +++ b/arm/pci-test.c @@ -13,9 +13,19 @@ int main(void) int ret = pci_probe(); report("PCI bus probing", ret); + if (!ret) + goto done; - if (ret) - pci_print(); + pci_print(); + if (pci_find_dev(PCI_VENDOR_ID_REDHAT, + PCI_DEVICE_ID_REDHAT_TEST) == PCIDEVADDR_INVALID) + goto done; + + ret = pci_testdev(); + report("PCI test device passed %d tests", + ret >= PCI_TESTDEV_NUM_BARS * PCI_TESTDEV_NUM_TESTS, ret); + +done: return report_summary(); } diff --git a/arm/run b/arm/run index a2f35ef6a7e6..1ee6231599d6 100755 --- a/arm/run +++ b/arm/run @@ -67,8 +67,13 @@ fi chr_testdev='-device virtio-serial-device' chr_testdev+=' -device virtconsole,chardev=ctd -chardev testdev,id=ctd' +pci_testdev= +if $qemu $M -device '?' 2>&1 | grep pci-testdev > /dev/null; then + pci_testdev="-device pci-testdev" +fi + M+=",accel=$ACCEL" -command="$qemu $M -cpu $processor $chr_testdev" +command="$qemu $M -cpu $processor $chr_testdev $pci_testdev" command+=" -display none -serial stdio -kernel" command="$(timeout_cmd) $command" echo $command "$@" -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html