Hello community,

here is the log from the commit of package libvirt for openSUSE:Leap:15.2 
checked in at 2020-04-20 12:55:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/libvirt (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.libvirt.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libvirt"

Mon Apr 20 12:55:07 2020 rev:114 rq:795386 version:6.0.0

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/libvirt/libvirt.changes        2020-03-31 
07:22:31.994402281 +0200
+++ /work/SRC/openSUSE:Leap:15.2/.libvirt.new.2738/libvirt.changes      
2020-04-20 12:55:28.716727535 +0200
@@ -1,0 +2,25 @@
+Fri Apr 17 05:19:57 UTC 2020 - Lin Ma <l...@suse.com>
+
+- qemu: fix hang in p2p + xbzrle compression + parallel migration
+  93b15ba0-qemu-fix-hang-in-p2p-xbzrle-compression-parallel-mig.patch
+  bsc#1161159
+
+-------------------------------------------------------------------
+Thu Apr  9 22:26:36 UTC 2020 - James Fehlig <jfeh...@suse.com>
+
+- api: Disallow virDomainAgentSetResponseTimeout on read-only
+  connections. CVE-2020-10701
+  4cc90c2e-CVE-2020-10701.patch
+  bsc#1168680
+
+-------------------------------------------------------------------
+Thu Apr  9 22:04:57 UTC 2020 - James Fehlig <jfeh...@suse.com>
+
+- libxl: Add support for max event channels with maxEventChannel
+  attribute on the xenbus controller
+  8e669b38-conf-add-event-channels.patch,
+  a93f55c5-libxl-add-event-channels.patch,
+  967f4eeb-xenconfig-event-channels.patch
+  bsc#1168767
+
+-------------------------------------------------------------------

New:
----
  4cc90c2e-CVE-2020-10701.patch
  8e669b38-conf-add-event-channels.patch
  93b15ba0-qemu-fix-hang-in-p2p-xbzrle-compression-parallel-mig.patch
  967f4eeb-xenconfig-event-channels.patch
  a93f55c5-libxl-add-event-channels.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libvirt.spec ++++++
--- /var/tmp/diff_new_pack.b1Mqod/_old  2020-04-20 12:55:29.692729066 +0200
+++ /var/tmp/diff_new_pack.b1Mqod/_new  2020-04-20 12:55:29.696729072 +0200
@@ -345,6 +345,11 @@
 Patch4:         ae9e6c2a-qemu-allow-cond-format-probe.patch
 Patch5:         a30078cb-qemu-create-mp-target.patch
 Patch6:         aeb909bf-qemu-multipath-fix.patch
+Patch7:         8e669b38-conf-add-event-channels.patch
+Patch8:         a93f55c5-libxl-add-event-channels.patch
+Patch9:         967f4eeb-xenconfig-event-channels.patch
+Patch10:        4cc90c2e-CVE-2020-10701.patch
+Patch11:        
93b15ba0-qemu-fix-hang-in-p2p-xbzrle-compression-parallel-mig.patch
 # Patches pending upstream review
 Patch100:       libxl-dom-reset.patch
 Patch101:       network-don-t-use-dhcp-authoritative-on-static-netwo.patch
@@ -886,6 +891,11 @@
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
 %patch100 -p1
 %patch101 -p1
 %patch150 -p1

++++++ 4cc90c2e-CVE-2020-10701.patch ++++++
commit 4cc90c2e62df653e909ad31fd810224bf8bcf913
Author: Jonathon Jongsma <jjong...@redhat.com>
Date:   Fri Mar 20 09:43:13 2020 -0500

    api: disallow virDomainAgentSetResponseTimeout() on read-only connections
    
    This function changes the amount of time that libvirt waits for a
    response from the guest agent for all guest agent commands. Since this
    is a configuration change, it should not be allowed on read-only
    connections.
    
    Signed-off-by: Jonathon Jongsma <jjong...@redhat.com>
    Reviewed-by: Daniel Henrique Barboza <danielhb...@gmail.com>
    Reviewed-by: Michal Privoznik <mpriv...@redhat.com>

Index: libvirt-6.0.0/src/libvirt-domain.c
===================================================================
--- libvirt-6.0.0.orig/src/libvirt-domain.c
+++ libvirt-6.0.0/src/libvirt-domain.c
@@ -12574,6 +12574,8 @@ virDomainAgentSetResponseTimeout(virDoma
     virCheckDomainReturn(domain, -1);
     conn = domain->conn;
 
+    virCheckReadOnlyGoto(conn->flags, error);
+
     if (conn->driver->domainAgentSetResponseTimeout) {
         if (conn->driver->domainAgentSetResponseTimeout(domain, timeout, 
flags) < 0)
             goto error;
++++++ 8e669b38-conf-add-event-channels.patch ++++++
commit 8e669b382c3533793356261c6d748df56162a2c6
Author: Jim Fehlig <jfeh...@suse.com>
Date:   Tue Apr 7 16:37:09 2020 -0600

    conf: Add a new xenbus controller option for event channels
    
    Event channels are like PV interrupts and in conjuction with grant frames
    form a data transfer mechanism for PV drivers. They are also used for
    inter-processor interrupts. Guests with a large number of vcpus and/or
    many PV devices many need to increase the maximum default value of 1023.
    For this reason the native Xen config format supports the
    'max_event_channels' setting. See xl.cfg(5) man page for more details.
    
    Similar to the existing maxGrantFrames option, add a new xenbus controller
    option 'maxEventChannels', allowing to adjust the maximum value via libvirt.
    
    Signed-off-by: Jim Fehlig <jfeh...@suse.com>
    Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>

Index: libvirt-6.0.0/docs/formatdomain.html.in
===================================================================
--- libvirt-6.0.0.orig/docs/formatdomain.html.in
+++ libvirt-6.0.0/docs/formatdomain.html.in
@@ -4309,7 +4309,7 @@
     &lt;driver iothread='4'/&gt;
     &lt;address type='pci' domain='0x0000' bus='0x00' slot='0x0b' 
function='0x0'/&gt;
   &lt;/controller&gt;
-  &lt;controller type='xenbus' maxGrantFrames='64'/&gt;
+  &lt;controller type='xenbus' maxGrantFrames='64' maxEventChannels='2047'/&gt;
   ...
 &lt;/devices&gt;
 ...</pre>
@@ -4369,7 +4369,11 @@
         <dd><span class="since">Since 5.2.0</span>, the <code>xenbus</code>
         controller has an optional attribute <code>maxGrantFrames</code>,
         which specifies the maximum number of grant frames the controller
-        makes available for connected devices.</dd>
+        makes available for connected devices.
+        <span class="since">Since 6.3.0</span>, the xenbus controller
+        supports the optional <code>maxEventChannels</code> attribute,
+        which specifies maximum number of event channels (PV interrupts)
+        that can be used by the guest.</dd>
       </dl>
 
     <p>
Index: libvirt-6.0.0/docs/schemas/domaincommon.rng
===================================================================
--- libvirt-6.0.0.orig/docs/schemas/domaincommon.rng
+++ libvirt-6.0.0/docs/schemas/domaincommon.rng
@@ -2404,6 +2404,11 @@
                 <ref name="unsignedInt"/>
               </attribute>
             </optional>
+            <optional>
+              <attribute name="maxEventChannels">
+                <ref name="unsignedInt"/>
+              </attribute>
+            </optional>
           </group>
         </choice>
         <optional>
Index: libvirt-6.0.0/src/conf/domain_conf.c
===================================================================
--- libvirt-6.0.0.orig/src/conf/domain_conf.c
+++ libvirt-6.0.0/src/conf/domain_conf.c
@@ -2222,6 +2222,7 @@ virDomainControllerDefNew(virDomainContr
         break;
     case VIR_DOMAIN_CONTROLLER_TYPE_XENBUS:
         def->opts.xenbusopts.maxGrantFrames = -1;
+        def->opts.xenbusopts.maxEventChannels = -1;
         break;
     case VIR_DOMAIN_CONTROLLER_TYPE_IDE:
     case VIR_DOMAIN_CONTROLLER_TYPE_FDC:
@@ -11058,6 +11059,7 @@ virDomainControllerDefParseXML(virDomain
         break;
     case VIR_DOMAIN_CONTROLLER_TYPE_XENBUS: {
         g_autofree char *gntframes = virXMLPropString(node, "maxGrantFrames");
+        g_autofree char *eventchannels = virXMLPropString(node, 
"maxEventChannels");
 
         if (gntframes) {
             int r = virStrToLong_i(gntframes, NULL, 10,
@@ -11068,6 +11070,15 @@ virDomainControllerDefParseXML(virDomain
                 goto error;
             }
         }
+        if (eventchannels) {
+            int r = virStrToLong_i(eventchannels, NULL, 10,
+                                   &def->opts.xenbusopts.maxEventChannels);
+            if (r != 0 || def->opts.xenbusopts.maxEventChannels < 0) {
+                virReportError(VIR_ERR_INTERNAL_ERROR,
+                               _("Invalid maxEventChannels: %s"), 
eventchannels);
+                goto error;
+            }
+        }
         break;
     }
 
@@ -24742,6 +24753,10 @@ virDomainControllerDefFormat(virBufferPt
             virBufferAsprintf(&attrBuf, " maxGrantFrames='%d'",
                               def->opts.xenbusopts.maxGrantFrames);
         }
+        if (def->opts.xenbusopts.maxEventChannels != -1) {
+            virBufferAsprintf(&attrBuf, " maxEventChannels='%d'",
+                              def->opts.xenbusopts.maxEventChannels);
+        }
         break;
 
     default:
Index: libvirt-6.0.0/src/conf/domain_conf.h
===================================================================
--- libvirt-6.0.0.orig/src/conf/domain_conf.h
+++ libvirt-6.0.0/src/conf/domain_conf.h
@@ -727,6 +727,7 @@ struct _virDomainUSBControllerOpts {
 
 struct _virDomainXenbusControllerOpts {
     int maxGrantFrames;   /* -1 == undef */
+    int maxEventChannels; /* -1 == undef */
 };
 
 /* Stores the virtual disk controller configuration */
++++++ 93b15ba0-qemu-fix-hang-in-p2p-xbzrle-compression-parallel-mig.patch 
++++++
commit 93b15ba0f2eb7858f8d88a5fd7354bd48bb7fc8d
Author: Lin Ma <l...@suse.com>
Date:   Thu Apr 16 12:44:51 2020 +0800

    qemu: fix hang in p2p + xbzrle compression + parallel migration
    
    When we do parallel migration, The multifd-channels migration parameter
    needs to be set on the destination side as well before incoming migration
    URI, unless we accept the default number of connections(2).
    
    Usually, This can be correctly handled by libvirtd. But in this case if
    we use p2p + xbzrle compression without parameter '--comp-xbzrle-cache',
    qemuMigrationParamsDump returns too early, The corresponding migration
    parameter will not be set on the destination side, It results QEMU hangs.
    
    Reproducer:
    virsh migrate --live --p2p --comp-methods xbzrle \
    --parallel --parallel-connections 3 GUEST qemu+ssh://dsthost/system
    
    or
    
    virsh migrate --live --p2p --compressed \
    --parallel --parallel-connections 3 GUEST qemu+ssh://dsthost/system
    
    Signed-off-by: Lin Ma <l...@suse.com>
    Message-Id: <20200416044451.21134-1-...@suse.com>
    Reviewed-by: Jiri Denemark <jdene...@redhat.com>

Index: libvirt-6.0.0/src/qemu/qemu_migration_params.c
===================================================================
--- libvirt-6.0.0.orig/src/qemu/qemu_migration_params.c
+++ libvirt-6.0.0/src/qemu/qemu_migration_params.c
@@ -630,7 +630,6 @@ qemuMigrationParamsDump(qemuMigrationPar
     if (migParams->compMethods == 1ULL << QEMU_MIGRATION_COMPRESS_XBZRLE &&
         !migParams->params[QEMU_MIGRATION_PARAM_XBZRLE_CACHE_SIZE].set) {
         *flags |= VIR_MIGRATE_COMPRESSED;
-        return 0;
     }
 
     for (i = 0; i < QEMU_MIGRATION_COMPRESS_LAST; ++i) {
++++++ 967f4eeb-xenconfig-event-channels.patch ++++++
commit 967f4eebdcfed014fb8ad4569e9a04cdc731e9a6
Author: Jim Fehlig <jfeh...@suse.com>
Date:   Tue Apr 7 17:33:26 2020 -0600

    xenconfig: Add support for max_event_channels
    
    Add support in the domXML<->native config converter for max_event_channels.
    The parser and formater functions for max_grant_frames were reworked to
    also parse max_event_channels. In doing so the xenbus controller is added
    earlier in the config parsing, requiring a small adjustment to one of the
    existing tests. Include a new test for the event channel conversion.
    
    Signed-off-by: Jim Fehlig <jfeh...@suse.com>
    Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>

Index: libvirt-6.0.0/src/libxl/xen_xl.c
===================================================================
--- libvirt-6.0.0.orig/src/libxl/xen_xl.c
+++ libvirt-6.0.0/src/libxl/xen_xl.c
@@ -597,19 +597,12 @@ xenParseXLVnuma(virConfPtr conf,
 }
 #endif
 
-#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
 static int
-xenParseXLGntLimits(virConfPtr conf, virDomainDefPtr def)
+xenParseXLXenbusLimits(virConfPtr conf, virDomainDefPtr def)
 {
-    unsigned long max_gntframes;
     int ctlr_idx;
     virDomainControllerDefPtr xenbus_ctlr;
-
-    if (xenConfigGetULong(conf, "max_grant_frames", &max_gntframes, 0) < 0)
-        return -1;
-
-    if (max_gntframes <= 0)
-        return 0;
+    unsigned long limit;
 
     ctlr_idx = virDomainControllerFindByType(def, 
VIR_DOMAIN_CONTROLLER_TYPE_XENBUS);
     if (ctlr_idx == -1)
@@ -620,10 +613,20 @@ xenParseXLGntLimits(virConfPtr conf, vir
     if (xenbus_ctlr == NULL)
         return -1;
 
-    xenbus_ctlr->opts.xenbusopts.maxGrantFrames = max_gntframes;
+    if (xenConfigGetULong(conf, "max_event_channels", &limit, 0) < 0)
+        return -1;
+    if (limit > 0)
+        xenbus_ctlr->opts.xenbusopts.maxEventChannels = limit;
+
+#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
+    if (xenConfigGetULong(conf, "max_grant_frames", &limit, 0) < 0)
+        return -1;
+    if (limit > 0)
+        xenbus_ctlr->opts.xenbusopts.maxGrantFrames = limit;
+#endif
+
     return 0;
 }
-#endif
 
 static int
 xenParseXLDiskSrc(virDomainDiskDefPtr disk, char *srcstr)
@@ -1180,10 +1183,8 @@ xenParseXL(virConfPtr conf,
         goto cleanup;
 #endif
 
-#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
-    if (xenParseXLGntLimits(conf, def) < 0)
+    if (xenParseXLXenbusLimits(conf, def) < 0)
         goto cleanup;
-#endif
 
     if (xenParseXLCPUID(conf, def) < 0)
         goto cleanup;
@@ -1532,23 +1533,31 @@ xenFormatXLDomainVnuma(virConfPtr conf,
 }
 #endif
 
-#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
 static int
-xenFormatXLGntLimits(virConfPtr conf, virDomainDefPtr def)
+xenFormatXLXenbusLimits(virConfPtr conf, virDomainDefPtr def)
 {
     size_t i;
 
     for (i = 0; i < def->ncontrollers; i++) {
-        if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_XENBUS &&
-            def->controllers[i]->opts.xenbusopts.maxGrantFrames > 0) {
-            if (xenConfigSetInt(conf, "max_grant_frames",
-                                
def->controllers[i]->opts.xenbusopts.maxGrantFrames) < 0)
-                return -1;
+        if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_XENBUS) {
+            if (def->controllers[i]->opts.xenbusopts.maxEventChannels > 0) {
+                if (xenConfigSetInt(conf, "max_event_channels",
+                                    
def->controllers[i]->opts.xenbusopts.maxEventChannels) < 0)
+                    return -1;
+            }
+
+#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
+            if (def->controllers[i]->opts.xenbusopts.maxGrantFrames > 0) {
+                if (xenConfigSetInt(conf, "max_grant_frames",
+                                    
def->controllers[i]->opts.xenbusopts.maxGrantFrames) < 0)
+                    return -1;
+            }
+#endif
         }
     }
+
     return 0;
 }
-#endif
 
 static char *
 xenFormatXLDiskSrcNet(virStorageSourcePtr src)
@@ -2191,10 +2200,8 @@ xenFormatXL(virDomainDefPtr def, virConn
         return NULL;
 #endif
 
-#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
-    if (xenFormatXLGntLimits(conf, def) < 0)
+    if (xenFormatXLXenbusLimits(conf, def) < 0)
         return NULL;
-#endif
 
     if (xenFormatXLDomainDisks(conf, def) < 0)
         return NULL;
Index: libvirt-6.0.0/tests/xlconfigdata/test-max-eventchannels.cfg
===================================================================
--- /dev/null
+++ libvirt-6.0.0/tests/xlconfigdata/test-max-eventchannels.cfg
@@ -0,0 +1,13 @@
+name = "XenGuest1"
+uuid = "45b60f51-88a9-47a8-a3b3-5e66d71b2283"
+maxmem = 512
+memory = 512
+vcpus = 1
+localtime = 0
+on_poweroff = "preserve"
+on_reboot = "restart"
+on_crash = "preserve"
+vif = [ "mac=5a:36:0e:be:00:09" ]
+bootloader = "/usr/bin/pygrub"
+max_event_channels = 2047
+disk = [ 
"format=qcow2,vdev=xvda,access=rw,backendtype=qdisk,target=/var/lib/xen/images/debian/disk.qcow2"
 ]
Index: libvirt-6.0.0/tests/xlconfigdata/test-max-eventchannels.xml
===================================================================
--- /dev/null
+++ libvirt-6.0.0/tests/xlconfigdata/test-max-eventchannels.xml
@@ -0,0 +1,32 @@
+<domain type='xen'>
+  <name>XenGuest1</name>
+  <uuid>45b60f51-88a9-47a8-a3b3-5e66d71b2283</uuid>
+  <memory unit='KiB'>524288</memory>
+  <currentMemory unit='KiB'>524288</currentMemory>
+  <vcpu placement='static'>1</vcpu>
+  <bootloader>/usr/bin/pygrub</bootloader>
+  <os>
+    <type arch='x86_64' machine='xenpv'>linux</type>
+  </os>
+  <clock offset='utc' adjustment='reset'/>
+  <on_poweroff>preserve</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>preserve</on_crash>
+  <devices>
+    <disk type='file' device='disk'>
+      <driver name='qemu' type='qcow2'/>
+      <source file='/var/lib/xen/images/debian/disk.qcow2'/>
+      <target dev='xvda' bus='xen'/>
+    </disk>
+    <controller type='xenbus' index='0' maxEventChannels='2047'/>
+    <interface type='ethernet'>
+      <mac address='5a:36:0e:be:00:09'/>
+    </interface>
+    <console type='pty'>
+      <target type='xen' port='0'/>
+    </console>
+    <input type='mouse' bus='xen'/>
+    <input type='keyboard' bus='xen'/>
+    <memballoon model='xen'/>
+  </devices>
+</domain>
Index: libvirt-6.0.0/tests/xlconfigdata/test-usbctrl.xml
===================================================================
--- libvirt-6.0.0.orig/tests/xlconfigdata/test-usbctrl.xml
+++ libvirt-6.0.0/tests/xlconfigdata/test-usbctrl.xml
@@ -18,8 +18,8 @@
       <source file='/var/lib/xen/images/debian/disk.qcow2'/>
       <target dev='xvda' bus='xen'/>
     </disk>
-    <controller type='usb' index='0' model='qusb2' ports='6'/>
     <controller type='xenbus' index='0'/>
+    <controller type='usb' index='0' model='qusb2' ports='6'/>
     <interface type='ethernet'>
       <mac address='5a:36:0e:be:00:09'/>
     </interface>
Index: libvirt-6.0.0/tests/xlconfigtest.c
===================================================================
--- libvirt-6.0.0.orig/tests/xlconfigtest.c
+++ libvirt-6.0.0/tests/xlconfigtest.c
@@ -294,6 +294,8 @@ mymain(void)
     DO_TEST("max-gntframes");
 #endif
 
+    DO_TEST("max-eventchannels");
+
     DO_TEST("vif-typename");
     DO_TEST("vif-multi-ip");
     DO_TEST("usb");
++++++ a93f55c5-libxl-add-event-channels.patch ++++++
commit a93f55c53d83ec63fe703db38cb519465b1d2445
Author: Jim Fehlig <jfeh...@suse.com>
Date:   Tue Apr 7 17:15:04 2020 -0600

    libxl: Add support for max_event_channels
    
    Add support for setting event_channels in libxl domain config object and
    include a test to check that it is properly converted from XML to libxl
    domain config.
    
    Signed-off-by: Jim Fehlig <jfeh...@suse.com>
    Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>

Index: libvirt-6.0.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-6.0.0/src/libxl/libxl_conf.c
@@ -381,13 +381,17 @@ libxlMakeDomBuildInfo(virDomainDefPtr de
     b_info->max_memkb = virDomainDefGetMemoryInitial(def);
     b_info->target_memkb = def->mem.cur_balloon;
 
-#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
     for (i = 0; i < def->ncontrollers; i++) {
-        if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_XENBUS &&
-            def->controllers[i]->opts.xenbusopts.maxGrantFrames > 0)
-            b_info->max_grant_frames = 
def->controllers[i]->opts.xenbusopts.maxGrantFrames;
-    }
+        if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_XENBUS) {
+            if (def->controllers[i]->opts.xenbusopts.maxEventChannels > 0)
+                b_info->event_channels = 
def->controllers[i]->opts.xenbusopts.maxEventChannels;
+
+#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
+            if (def->controllers[i]->opts.xenbusopts.maxGrantFrames > 0)
+                b_info->max_grant_frames = 
def->controllers[i]->opts.xenbusopts.maxGrantFrames;
 #endif
+        }
+    }
 
     if (hvm || pvh) {
         if (caps &&
Index: libvirt-6.0.0/tests/libxlxml2domconfigdata/max-eventchannels-hvm.json
===================================================================
--- /dev/null
+++ libvirt-6.0.0/tests/libxlxml2domconfigdata/max-eventchannels-hvm.json
@@ -0,0 +1,90 @@
+{
+    "c_info": {
+        "type": "hvm",
+        "name": "test-hvm",
+        "uuid": "2147d599-9cc6-c0dc-92ab-4064b5446e9b"
+    },
+    "b_info": {
+        "max_vcpus": 4,
+        "avail_vcpus": [
+            0,
+            1,
+            2,
+            3
+        ],
+        "max_memkb": 1048576,
+        "target_memkb": 1048576,
+        "video_memkb": 8192,
+        "shadow_memkb": 12288,
+        "event_channels": 2047,
+        "device_model_version": "qemu_xen",
+        "device_model": "/bin/true",
+        "sched_params": {
+
+        },
+        "type.hvm": {
+            "pae": "True",
+            "apic": "True",
+            "acpi": "True",
+            "vga": {
+                "kind": "cirrus"
+            },
+            "vnc": {
+                "enable": "True",
+                "listen": "0.0.0.0",
+                "findunused": "False"
+            },
+            "sdl": {
+                "enable": "False"
+            },
+            "spice": {
+
+            },
+            "boot": "c",
+            "rdm": {
+
+            }
+        },
+        "arch_arm": {
+
+        }
+    },
+    "disks": [
+        {
+            "pdev_path": "/var/lib/xen/images/test-hvm.img",
+            "vdev": "hda",
+            "backend": "qdisk",
+            "format": "raw",
+            "removable": 1,
+            "readwrite": 1
+        }
+    ],
+    "nics": [
+        {
+            "devid": 0,
+            "mac": "00:16:3e:66:12:b4",
+            "bridge": "br0",
+            "script": "/etc/xen/scripts/vif-bridge",
+            "nictype": "vif_ioemu"
+        }
+    ],
+    "vfbs": [
+        {
+           "devid": -1,
+            "vnc": {
+                "enable": "True",
+                "listen": "0.0.0.0",
+                "findunused": "False"
+            },
+            "sdl": {
+                "enable": "False"
+            }
+        }
+    ],
+    "vkbs": [
+        {
+            "devid": -1
+        }
+    ],
+    "on_reboot": "restart"
+}
Index: libvirt-6.0.0/tests/libxlxml2domconfigdata/max-eventchannels-hvm.xml
===================================================================
--- /dev/null
+++ libvirt-6.0.0/tests/libxlxml2domconfigdata/max-eventchannels-hvm.xml
@@ -0,0 +1,37 @@
+<domain type='xen'>
+  <name>test-hvm</name>
+  <description>None</description>
+  <uuid>2147d599-9cc6-c0dc-92ab-4064b5446e9b</uuid>
+  <memory>1048576</memory>
+  <currentMemory>1048576</currentMemory>
+  <vcpu>4</vcpu>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <clock offset='utc'/>
+  <os>
+    <type>hvm</type>
+    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <boot dev='hd'/>
+  </os>
+  <features>
+    <apic/>
+    <acpi/>
+    <pae/>
+  </features>
+  <devices>
+    <emulator>/bin/true</emulator>
+    <disk type='file' device='disk'>
+      <driver name='qemu'/>
+      <source file='/var/lib/xen/images/test-hvm.img'/>
+      <target dev='hda'/>
+    </disk>
+    <controller type='xenbus' maxEventChannels='2047'/>
+    <interface type='bridge'>
+      <source bridge='br0'/>
+      <mac address='00:16:3e:66:12:b4'/>
+      <script path='/etc/xen/scripts/vif-bridge'/>
+    </interface>
+    <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/>
+  </devices>
+</domain>
Index: libvirt-6.0.0/tests/libxlxml2domconfigtest.c
===================================================================
--- libvirt-6.0.0.orig/tests/libxlxml2domconfigtest.c
+++ libvirt-6.0.0/tests/libxlxml2domconfigtest.c
@@ -202,6 +202,8 @@ mymain(void)
     DO_TEST("max-gntframes-hvm");
 # endif
 
+    DO_TEST("max-eventchannels-hvm");
+
     unlink("libxl-driver.log");
 
     testXLFreeDriver(driver);

++++++ libxl-set-cach-mode.patch ++++++
--- /var/tmp/diff_new_pack.b1Mqod/_old  2020-04-20 12:55:29.888729374 +0200
+++ /var/tmp/diff_new_pack.b1Mqod/_new  2020-04-20 12:55:29.888729374 +0200
@@ -7,7 +7,7 @@
 ===================================================================
 --- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
 +++ libvirt-6.0.0/src/libxl/libxl_conf.c
-@@ -867,6 +867,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
+@@ -871,6 +871,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
  #endif
  }
  
@@ -38,7 +38,7 @@
  static char *
  libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
                             const char *username,
-@@ -1108,6 +1132,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
+@@ -1112,6 +1136,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
      x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
      if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
          return -1;

++++++ libxl-support-block-script.patch ++++++
--- /var/tmp/diff_new_pack.b1Mqod/_old  2020-04-20 12:55:29.896729386 +0200
+++ /var/tmp/diff_new_pack.b1Mqod/_new  2020-04-20 12:55:29.896729386 +0200
@@ -11,7 +11,7 @@
 ===================================================================
 --- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
 +++ libvirt-6.0.0/src/libxl/libxl_conf.c
-@@ -867,6 +867,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
+@@ -871,6 +871,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
  #endif
  }
  
@@ -34,7 +34,7 @@
  static void
  libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
  {
-@@ -1007,6 +1023,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
+@@ -1011,6 +1027,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
  int
  libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk)
  {
@@ -42,7 +42,7 @@
      const char *driver = virDomainDiskGetDriver(l_disk);
      int format = virDomainDiskGetFormat(l_disk);
      int actual_type = virStorageSourceGetActualType(l_disk->src);
-@@ -1022,7 +1039,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
+@@ -1026,7 +1043,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
          if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0)
              return -1;
      } else {
@@ -51,7 +51,7 @@
      }
  
      x_disk->vdev = g_strdup(l_disk->dst);
-@@ -1133,6 +1150,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
+@@ -1137,6 +1154,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
      if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
          return -1;
      libxlDiskSetCacheMode(x_disk, l_disk->cachemode);

++++++ suse-bump-xen-version.patch ++++++
--- /var/tmp/diff_new_pack.b1Mqod/_old  2020-04-20 12:55:29.916729417 +0200
+++ /var/tmp/diff_new_pack.b1Mqod/_new  2020-04-20 12:55:29.916729417 +0200
@@ -31,7 +31,7 @@
 ===================================================================
 --- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
 +++ libvirt-6.0.0/src/libxl/libxl_conf.c
-@@ -1723,7 +1723,7 @@ libxlDriverConfigNew(void)
+@@ -1727,7 +1727,7 @@ libxlDriverConfigNew(void)
  {
      libxlDriverConfigPtr cfg;
      char ebuf[1024];

++++++ suse-libxl-disable-autoballoon.patch ++++++
--- /var/tmp/diff_new_pack.b1Mqod/_old  2020-04-20 12:55:29.928729437 +0200
+++ /var/tmp/diff_new_pack.b1Mqod/_new  2020-04-20 12:55:29.932729443 +0200
@@ -31,7 +31,7 @@
 ===================================================================
 --- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
 +++ libvirt-6.0.0/src/libxl/libxl_conf.c
-@@ -1699,15 +1699,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
+@@ -1703,15 +1703,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
  /*
   * Get domain0 autoballoon configuration.  Honor user-specified
   * setting in libxl.conf first.  If not specified, autoballooning
@@ -48,7 +48,7 @@
      int res;
  
      res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon);
-@@ -1716,15 +1713,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
+@@ -1720,15 +1717,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
      else if (res == 1)
          return 0;
  

++++++ suse-xen-ovmf-loaders.patch ++++++
--- /var/tmp/diff_new_pack.b1Mqod/_old  2020-04-20 12:55:29.956729480 +0200
+++ /var/tmp/diff_new_pack.b1Mqod/_new  2020-04-20 12:55:29.956729480 +0200
@@ -9,7 +9,7 @@
 ===================================================================
 --- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
 +++ libvirt-6.0.0/src/libxl/libxl_conf.c
-@@ -1776,6 +1776,15 @@ libxlDriverConfigNew(void)
+@@ -1780,6 +1780,15 @@ libxlDriverConfigNew(void)
          goto error;
      }
  


Reply via email to