From d58c382e934154370990fbdfc0d98fb2f44cdfff Mon Sep 17 00:00:00 2001 From: Wen Congyang Date: Mon, 9 May 2011 14:59:16 +0800 Subject: [PATCH] check whether qemu supports multi function PCI device qemu supports multi function PCI device at least version 0.13.0. --- src/qemu/qemu_capabilities.c | 5 +++++ src/qemu/qemu_capabilities.h | 1 + tests/qemuhelptest.c | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index c69cf1db08..28c89b5bf9 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -119,6 +119,8 @@ VIR_ENUM_IMPL(qemuCaps, QEMU_CAPS_LAST, "device-spicevmc", "virtio-tx-alg", "device-qxl-vga", + + "pci-multifunction", /* 60 */ ); struct qemu_feature_flags { @@ -1024,6 +1026,9 @@ qemuCapsComputeCmdFlags(const char *help, */ if (version >= 13000) qemuCapsSet(flags, QEMU_CAPS_MONITOR_JSON); + + if (version >= 13000) + qemuCapsSet(flags, QEMU_CAPS_PCI_MULTIFUNCTION); } /* We parse the output of 'qemu -help' to get the QEMU diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 4c1ad631db..e6d2fa3728 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -95,6 +95,7 @@ enum qemuCapsFlags { QEMU_CAPS_DEVICE_SPICEVMC = 57, /* older -device spicevmc*/ QEMU_CAPS_VIRTIO_TX_ALG = 58, /* -device virtio-net-pci,tx=string */ QEMU_CAPS_DEVICE_QXL_VGA = 59, /* Is the primary and vga campatible qxl device named qxl-vga? */ + QEMU_CAPS_PCI_MULTIFUNCTION = 60, /* -device multifunction=on|off */ QEMU_CAPS_LAST, /* this must always be the last item */ }; diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c index 71780d8a8f..327a0c7fec 100644 --- a/tests/qemuhelptest.c +++ b/tests/qemuhelptest.c @@ -430,7 +430,8 @@ mymain(void) QEMU_CAPS_VGA_NONE, QEMU_CAPS_MIGRATE_QEMU_FD, QEMU_CAPS_DRIVE_AIO, - QEMU_CAPS_DEVICE_SPICEVMC); + QEMU_CAPS_DEVICE_SPICEVMC, + QEMU_CAPS_PCI_MULTIFUNCTION); DO_TEST("qemu-kvm-0.12.1.2-rhel61", 12001, 1, 0, QEMU_CAPS_VNC_COLON, QEMU_CAPS_NO_REBOOT,