Blame SOURCES/libvirt-conf-qemu-s-VIR_PCI_CONNECT_HOTPLUGGABLE-VIR_PCI_CONNECT_AUTOASSIGN-g.patch

b971b8
From 4f2bf4edfb640c38281d63e54145433ce8a78d28 Mon Sep 17 00:00:00 2001
b971b8
Message-Id: <4f2bf4edfb640c38281d63e54145433ce8a78d28@dist-git>
b971b8
From: Laine Stump <laine@redhat.com>
b971b8
Date: Sun, 26 Apr 2020 13:04:11 -0400
b971b8
Subject: [PATCH] conf/qemu:
b971b8
 s/VIR_PCI_CONNECT_HOTPLUGGABLE/VIR_PCI_CONNECT_AUTOASSIGN/g
b971b8
b971b8
When the HOTPLUGGABLE flag was originally added, it was set for all
b971b8
the PCI controllers that accepted hotplugged devices, and requested
b971b8
for all devices that were auto-assigned to a controller. While we're
b971b8
still autoassigning to the same list of controllers, those controllers
b971b8
may or may not support hotplug, so let's use the flag that fits what
b971b8
we're actually doing.
b971b8
b971b8
Signed-off-by: Laine Stump <laine@redhat.com>
b971b8
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
b971b8
(cherry picked from commit 7c98f5e3652e19e4eb015d290c1eed2f1b58ee72)
b971b8
b971b8
https://bugzilla.redhat.com/1802592
b971b8
Signed-off-by: Laine Stump <laine@redhat.com>
b971b8
Message-Id: <20200426170415.18328-9-laine@redhat.com>
b971b8
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
b971b8
---
b971b8
 src/conf/domain_addr.c         | 18 +++++++++---------
b971b8
 src/qemu/qemu_domain_address.c | 14 +++++++-------
b971b8
 2 files changed, 16 insertions(+), 16 deletions(-)
b971b8
b971b8
diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c
b971b8
index e0be655772..53be6cd34b 100644
b971b8
--- a/src/conf/domain_addr.c
b971b8
+++ b/src/conf/domain_addr.c
b971b8
@@ -362,8 +362,8 @@ virDomainPCIAddressFlagsCompatible(virPCIDeviceAddressPtr addr,
b971b8
          * libvirt's assumptions about whether or not hotplug
b971b8
          * capability will be required.
b971b8
          */
b971b8
-        if (devFlags & VIR_PCI_CONNECT_HOTPLUGGABLE)
b971b8
-            busFlags |= VIR_PCI_CONNECT_HOTPLUGGABLE;
b971b8
+        if (devFlags & VIR_PCI_CONNECT_AUTOASSIGN)
b971b8
+            busFlags |= VIR_PCI_CONNECT_AUTOASSIGN;
b971b8
         /* if the device is a pci-bridge, allow manually
b971b8
          * assigning to any bus that would also accept a
b971b8
          * standard PCI device.
b971b8
@@ -419,8 +419,8 @@ virDomainPCIAddressFlagsCompatible(virPCIDeviceAddressPtr addr,
b971b8
                        addrStr, addr->bus, connectStr);
b971b8
         return false;
b971b8
     }
b971b8
-    if ((devFlags & VIR_PCI_CONNECT_HOTPLUGGABLE) &&
b971b8
-        !(busFlags & VIR_PCI_CONNECT_HOTPLUGGABLE)) {
b971b8
+    if ((devFlags & VIR_PCI_CONNECT_AUTOASSIGN) &&
b971b8
+        !(busFlags & VIR_PCI_CONNECT_AUTOASSIGN)) {
b971b8
         if (reportError) {
b971b8
             virReportError(errType,
b971b8
                            _("The device at PCI address %s requires "
b971b8
@@ -509,7 +509,7 @@ virDomainPCIAddressBusSetModel(virDomainPCIAddressBusPtr bus,
b971b8
      */
b971b8
     switch (model) {
b971b8
     case VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT:
b971b8
-        bus->flags = (VIR_PCI_CONNECT_HOTPLUGGABLE |
b971b8
+        bus->flags = (VIR_PCI_CONNECT_AUTOASSIGN |
b971b8
                       VIR_PCI_CONNECT_TYPE_PCI_DEVICE |
b971b8
                       VIR_PCI_CONNECT_TYPE_PCI_BRIDGE |
b971b8
                       VIR_PCI_CONNECT_TYPE_PCI_EXPANDER_BUS);
b971b8
@@ -517,14 +517,14 @@ virDomainPCIAddressBusSetModel(virDomainPCIAddressBusPtr bus,
b971b8
         bus->maxSlot = VIR_PCI_ADDRESS_SLOT_LAST;
b971b8
         break;
b971b8
     case VIR_DOMAIN_CONTROLLER_MODEL_PCI_BRIDGE:
b971b8
-        bus->flags = (VIR_PCI_CONNECT_HOTPLUGGABLE |
b971b8
+        bus->flags = (VIR_PCI_CONNECT_AUTOASSIGN |
b971b8
                       VIR_PCI_CONNECT_TYPE_PCI_DEVICE |
b971b8
                       VIR_PCI_CONNECT_TYPE_PCI_BRIDGE);
b971b8
         bus->minSlot = 1;
b971b8
         bus->maxSlot = VIR_PCI_ADDRESS_SLOT_LAST;
b971b8
         break;
b971b8
     case VIR_DOMAIN_CONTROLLER_MODEL_PCI_EXPANDER_BUS:
b971b8
-        bus->flags = (VIR_PCI_CONNECT_HOTPLUGGABLE |
b971b8
+        bus->flags = (VIR_PCI_CONNECT_AUTOASSIGN |
b971b8
                       VIR_PCI_CONNECT_TYPE_PCI_DEVICE |
b971b8
                       VIR_PCI_CONNECT_TYPE_PCI_BRIDGE);
b971b8
         bus->minSlot = 0;
b971b8
@@ -555,7 +555,7 @@ virDomainPCIAddressBusSetModel(virDomainPCIAddressBusPtr bus,
b971b8
     case VIR_DOMAIN_CONTROLLER_MODEL_PCIE_TO_PCI_BRIDGE:
b971b8
         /* Same as pci-bridge: 32 hotpluggable traditional PCI slots (0-31),
b971b8
          * the first of which is not usable because of the SHPC */
b971b8
-        bus->flags = (VIR_PCI_CONNECT_HOTPLUGGABLE |
b971b8
+        bus->flags = (VIR_PCI_CONNECT_AUTOASSIGN |
b971b8
                       VIR_PCI_CONNECT_TYPE_PCI_DEVICE |
b971b8
                       VIR_PCI_CONNECT_TYPE_PCI_BRIDGE);
b971b8
         bus->minSlot = 1;
b971b8
@@ -566,7 +566,7 @@ virDomainPCIAddressBusSetModel(virDomainPCIAddressBusPtr bus,
b971b8
         /* provides one slot which is pcie, can be used by endpoint
b971b8
          * devices, pcie-switch-upstream-ports or pcie-to-pci-bridges,
b971b8
          * and is hotpluggable */
b971b8
-        bus->flags = (VIR_PCI_CONNECT_HOTPLUGGABLE |
b971b8
+        bus->flags = (VIR_PCI_CONNECT_AUTOASSIGN |
b971b8
                       VIR_PCI_CONNECT_TYPE_PCIE_DEVICE |
b971b8
                       VIR_PCI_CONNECT_TYPE_PCIE_SWITCH_UPSTREAM_PORT |
b971b8
                       VIR_PCI_CONNECT_TYPE_PCIE_TO_PCI_BRIDGE);
b971b8
diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c
b971b8
index 3c6ac62ff5..e81585bc6c 100644
b971b8
--- a/src/qemu/qemu_domain_address.c
b971b8
+++ b/src/qemu/qemu_domain_address.c
b971b8
@@ -571,7 +571,7 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDeviceDefPtr dev,
b971b8
                                          virDomainPCIConnectFlags virtioFlags)
b971b8
 {
b971b8
     virDomainPCIConnectFlags pciFlags = (VIR_PCI_CONNECT_TYPE_PCI_DEVICE |
b971b8
-                                         VIR_PCI_CONNECT_HOTPLUGGABLE);
b971b8
+                                         VIR_PCI_CONNECT_AUTOASSIGN);
b971b8
 
b971b8
     switch ((virDomainDeviceType)dev->type) {
b971b8
     case VIR_DOMAIN_DEVICE_CONTROLLER: {
b971b8
@@ -1063,17 +1063,17 @@ qemuDomainFillDevicePCIConnectFlagsIterInit(virDomainDefPtr def,
b971b8
 
b971b8
     if (qemuDomainHasPCIeRoot(def)) {
b971b8
         data->pcieFlags = (VIR_PCI_CONNECT_TYPE_PCIE_DEVICE |
b971b8
-                           VIR_PCI_CONNECT_HOTPLUGGABLE);
b971b8
+                           VIR_PCI_CONNECT_AUTOASSIGN);
b971b8
     } else {
b971b8
         data->pcieFlags = (VIR_PCI_CONNECT_TYPE_PCI_DEVICE |
b971b8
-                           VIR_PCI_CONNECT_HOTPLUGGABLE);
b971b8
+                           VIR_PCI_CONNECT_AUTOASSIGN);
b971b8
     }
b971b8
 
b971b8
     if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY)) {
b971b8
         data->virtioFlags = data->pcieFlags;
b971b8
     } else {
b971b8
         data->virtioFlags = (VIR_PCI_CONNECT_TYPE_PCI_DEVICE |
b971b8
-                             VIR_PCI_CONNECT_HOTPLUGGABLE);
b971b8
+                             VIR_PCI_CONNECT_AUTOASSIGN);
b971b8
     }
b971b8
 }
b971b8
 
b971b8
@@ -1729,7 +1729,7 @@ qemuDomainValidateDevicePCISlotsPIIX3(virDomainDefPtr def,
b971b8
     virPCIDeviceAddress tmp_addr;
b971b8
     bool qemuDeviceVideoUsable = virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIDEO_PRIMARY);
b971b8
     g_autofree char *addrStr = NULL;
b971b8
-    virDomainPCIConnectFlags flags = (VIR_PCI_CONNECT_HOTPLUGGABLE
b971b8
+    virDomainPCIConnectFlags flags = (VIR_PCI_CONNECT_AUTOASSIGN
b971b8
                                       | VIR_PCI_CONNECT_TYPE_PCI_DEVICE);
b971b8
 
b971b8
     /* Verify that first IDE and USB controllers (if any) is on the PIIX3, fn 1 */
b971b8
@@ -2666,7 +2666,7 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
b971b8
              * domain.
b971b8
              */
b971b8
             virDomainDeviceInfo info = {
b971b8
-                .pciConnectFlags = (VIR_PCI_CONNECT_HOTPLUGGABLE |
b971b8
+                .pciConnectFlags = (VIR_PCI_CONNECT_AUTOASSIGN |
b971b8
                                     VIR_PCI_CONNECT_TYPE_PCI_DEVICE),
b971b8
                 .pciAddrExtFlags = VIR_PCI_ADDRESS_EXTENSION_NONE
b971b8
             };
b971b8
@@ -2707,7 +2707,7 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
b971b8
             addrs->nbuses > max_idx + 1 &&
b971b8
             qemuDomainHasPCIeRoot(def)) {
b971b8
             virDomainDeviceInfo info = {
b971b8
-                .pciConnectFlags = (VIR_PCI_CONNECT_HOTPLUGGABLE |
b971b8
+                .pciConnectFlags = (VIR_PCI_CONNECT_AUTOASSIGN |
b971b8
                                     VIR_PCI_CONNECT_TYPE_PCIE_DEVICE),
b971b8
                 .pciAddrExtFlags = VIR_PCI_ADDRESS_EXTENSION_NONE
b971b8
             };
b971b8
-- 
b971b8
2.26.2
b971b8