File libvirt-qemu-add-qemu-vga-devices-caps-and-one-cap-to-mark-them-usable.patch of Package libvirt

From f6e91044f13b5734b678f31915da6a1410c6ebfe Mon Sep 17 00:00:00 2001
Message-Id: <f6e91044f13b5734b678f31915da6a1410c6ebfe.1373271639.git.jdenemar@redhat.com>
From: Guannan Ren <gren@redhat.com>
Date: Wed, 6 Mar 2013 15:03:52 -0700
Subject: [PATCH] qemu: add qemu vga devices caps and one cap to mark them
 usable

https://bugzilla.redhat.com/show_bug.cgi?id=896604

QEMU_CAPS_DEVICE_QXL          -device qxl
QEMU_CAPS_DEVICE_VGA          -device VGA
QEMU_CAPS_DEVICE_CIRRUS_VGA   -device cirrus-vga
QEMU_CAPS_DEVICE_VMWARE_SVGA  -device vmware-svga

QEMU_CAPS_DEVICE_VIDEO_PRIMARY  /* safe to use -device XXX
                                 for primary video device */

Fix a typo in qemuCapsObjectTypes, the string 'qxl' here
should be -device qxl rather than -vga [...|qxl|..]
(cherry picked from commit 4c993d8ab5473334e9d4155faa913476ada39069)

Conflicts:
	src/qemu/qemu_capabilities.c - context with rhel capabilities
	src/qemu/qemu_capabilities.h - likewise
	tests/qemuhelptest.c - likewise, and one fewer test in rhel
---
 src/qemu/qemu_capabilities.c | 13 ++++++++++++-
 src/qemu/qemu_capabilities.h |  6 ++++++
 tests/qemuhelptest.c         | 42 ++++++++++++++++++++++++++++++++++--------
 3 files changed, 52 insertions(+), 9 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 7cd5bf2..46e429f 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -192,6 +192,11 @@ VIR_ENUM_IMPL(qemuCaps, QEMU_CAPS_LAST,
               "drive-mirror",
               "drive-reopen",
               "blockdev-snapshot-sync",
+              "qxl",
+              "VGA",
+              "cirrus-vga",
+              "vmware-svga",
+              "device-video-primary",
     );
 
 struct _qemuCaps {
@@ -1135,6 +1140,9 @@ qemuCapsComputeCmdFlags(const char *help,
 
     if (version >= 11000)
         qemuCapsSet(caps, QEMU_CAPS_CPU_HOST);
+
+    if (version >= 1002000)
+        qemuCapsSet(caps, QEMU_CAPS_DEVICE_VIDEO_PRIMARY);
     return 0;
 }
 
@@ -1280,11 +1288,14 @@ struct qemuCapsStringFlags qemuCapsObjectTypes[] = {
     { "virtio-scsi-pci", QEMU_CAPS_VIRTIO_SCSI_PCI },
     { "spicevmc", QEMU_CAPS_DEVICE_SPICEVMC },
     { "qxl-vga", QEMU_CAPS_DEVICE_QXL_VGA },
-    { "qxl", QEMU_CAPS_VGA_QXL },
+    { "qxl", QEMU_CAPS_DEVICE_QXL },
     { "sga", QEMU_CAPS_SGA },
     { "scsi-block", QEMU_CAPS_SCSI_BLOCK },
     { "scsi-cd", QEMU_CAPS_SCSI_CD },
     { "ide-cd", QEMU_CAPS_IDE_CD },
+    { "VGA", QEMU_CAPS_DEVICE_VGA },
+    { "cirrus-vga", QEMU_CAPS_DEVICE_CIRRUS_VGA },
+    { "vmware-svga", QEMU_CAPS_DEVICE_VMWARE_SVGA },
 };
 
 
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 7f81a9a..be53b26 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -158,6 +158,12 @@ enum qemuCapsFlags {
     QEMU_CAPS_DRIVE_MIRROR,             /* drive-mirror monitor command */
     QEMU_CAPS_DRIVE_REOPEN,             /* drive-reopen vs block-job-complete */
     QEMU_CAPS_DISK_SNAPSHOT,            /* blockdev-snapshot-sync command */
+    QEMU_CAPS_DEVICE_QXL,               /* -device qxl */
+    QEMU_CAPS_DEVICE_VGA,               /* -device VGA */
+    QEMU_CAPS_DEVICE_CIRRUS_VGA,        /* -device cirrus-vga */
+    QEMU_CAPS_DEVICE_VMWARE_SVGA,       /* -device vmware-svga */
+    QEMU_CAPS_DEVICE_VIDEO_PRIMARY,     /* safe to use -device XXX
+                                           for primary video device */
 
     QEMU_CAPS_LAST,                   /* this must always be the last item */
 };
diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c
index 94828cc..6fdc1b5 100644
--- a/tests/qemuhelptest.c
+++ b/tests/qemuhelptest.c
@@ -382,7 +382,11 @@ mymain(void)
             QEMU_CAPS_PCI_ROMBAR,
             QEMU_CAPS_NO_ACPI,
             QEMU_CAPS_VIRTIO_BLK_SG_IO,
-            QEMU_CAPS_CPU_HOST);
+            QEMU_CAPS_CPU_HOST,
+            QEMU_CAPS_DEVICE_QXL,
+            QEMU_CAPS_DEVICE_VGA,
+            QEMU_CAPS_DEVICE_CIRRUS_VGA,
+            QEMU_CAPS_DEVICE_VMWARE_SVGA);
     DO_TEST("qemu-kvm-0.12.3", 12003, 1, 0,
             QEMU_CAPS_VNC_COLON,
             QEMU_CAPS_NO_REBOOT,
@@ -467,7 +471,6 @@ mymain(void)
             QEMU_CAPS_NESTING,
             QEMU_CAPS_NAME_PROCESS,
             QEMU_CAPS_SMBIOS_TYPE,
-            QEMU_CAPS_VGA_QXL,
             QEMU_CAPS_SPICE,
             QEMU_CAPS_VGA_NONE,
             QEMU_CAPS_MIGRATE_QEMU_FD,
@@ -484,7 +487,11 @@ mymain(void)
             QEMU_CAPS_NO_ACPI,
             QEMU_CAPS_VIRTIO_BLK_SG_IO,
             QEMU_CAPS_CPU_HOST,
-            QEMU_CAPS_SCSI_LSI);
+            QEMU_CAPS_SCSI_LSI,
+            QEMU_CAPS_DEVICE_QXL,
+            QEMU_CAPS_DEVICE_VGA,
+            QEMU_CAPS_DEVICE_CIRRUS_VGA,
+            QEMU_CAPS_DEVICE_VMWARE_SVGA);
     DO_TEST("qemu-kvm-0.12.1.2-rhel61", 12001, 1, 0,
             QEMU_CAPS_VNC_COLON,
             QEMU_CAPS_NO_REBOOT,
@@ -543,7 +550,11 @@ mymain(void)
             QEMU_CAPS_VIRTIO_BLK_SG_IO,
             QEMU_CAPS_CPU_HOST,
             QEMU_CAPS_BLOCKIO,
-            QEMU_CAPS_DISABLE_KSM);
+            QEMU_CAPS_DISABLE_KSM,
+            QEMU_CAPS_DEVICE_QXL,
+            QEMU_CAPS_DEVICE_VGA,
+            QEMU_CAPS_DEVICE_CIRRUS_VGA,
+            QEMU_CAPS_DEVICE_VMWARE_SVGA);
     DO_TEST("qemu-kvm-0.12.1.2-rhel62-beta", 12001, 1, 0,
             QEMU_CAPS_VNC_COLON,
             QEMU_CAPS_NO_REBOOT,
@@ -612,7 +623,10 @@ mymain(void)
             QEMU_CAPS_CPU_HOST,
             QEMU_CAPS_SCSI_CD,
             QEMU_CAPS_BLOCKIO,
-            QEMU_CAPS_DISABLE_KSM);
+            QEMU_CAPS_DISABLE_KSM,
+            QEMU_CAPS_DEVICE_QXL,
+            QEMU_CAPS_DEVICE_VGA,
+            QEMU_CAPS_DEVICE_CIRRUS_VGA);
     DO_TEST("qemu-1.0", 1000000, 0, 0,
             QEMU_CAPS_VNC_COLON,
             QEMU_CAPS_NO_REBOOT,
@@ -685,7 +699,11 @@ mymain(void)
             QEMU_CAPS_SCSI_CD,
             QEMU_CAPS_IDE_CD,
             QEMU_CAPS_SCSI_LSI,
-            QEMU_CAPS_BLOCKIO);
+            QEMU_CAPS_BLOCKIO,
+            QEMU_CAPS_DEVICE_QXL,
+            QEMU_CAPS_DEVICE_VGA,
+            QEMU_CAPS_DEVICE_CIRRUS_VGA,
+            QEMU_CAPS_DEVICE_VMWARE_SVGA);
     DO_TEST("qemu-1.1.0", 1001000, 0, 0,
             QEMU_CAPS_VNC_COLON,
             QEMU_CAPS_NO_REBOOT,
@@ -766,7 +784,11 @@ mymain(void)
             QEMU_CAPS_NETDEV_BRIDGE,
             QEMU_CAPS_SCSI_LSI,
             QEMU_CAPS_VIRTIO_SCSI_PCI,
-            QEMU_CAPS_BLOCKIO);
+            QEMU_CAPS_BLOCKIO,
+            QEMU_CAPS_DEVICE_QXL,
+            QEMU_CAPS_DEVICE_VGA,
+            QEMU_CAPS_DEVICE_CIRRUS_VGA,
+            QEMU_CAPS_DEVICE_VMWARE_SVGA);
     DO_TEST("qemu-1.2.0", 1002000, 0, 0,
             QEMU_CAPS_VNC_COLON,
             QEMU_CAPS_NO_REBOOT,
@@ -850,7 +872,11 @@ mymain(void)
             QEMU_CAPS_BLOCKIO,
             QEMU_CAPS_SCSI_DISK_WWN,
             QEMU_CAPS_SECCOMP_SANDBOX,
-            QEMU_CAPS_DUMP_GUEST_CORE);
+            QEMU_CAPS_DUMP_GUEST_CORE,
+            QEMU_CAPS_DEVICE_VGA,
+            QEMU_CAPS_DEVICE_CIRRUS_VGA,
+            QEMU_CAPS_DEVICE_VMWARE_SVGA,
+            QEMU_CAPS_DEVICE_VIDEO_PRIMARY);
 
     return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
 }
-- 
1.8.2.1

openSUSE Build Service is sponsored by