[libvirt] [PATCH 1/7] check whether qemu supports multi function PCI device

Wen Congyang wency at cn.fujitsu.com
Fri May 27 10:19:42 UTC 2011


qemu supports multi function PCI device after 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 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index c69cf1d..28c89b5 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 4c1ad63..e6d2fa3 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 71780d8..327a0c7 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,
-- 
1.7.1




More information about the libvir-list mailing list