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

Daniel P. Berrange berrange at redhat.com
Fri Jun 3 13:23:02 UTC 2011


On Fri, May 27, 2011 at 06:19:42PM +0800, Wen Congyang wrote:
> 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,

ACK


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list