]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: auto-add pci-root controller for pc machine types
authorJán Tomko <jtomko@redhat.com>
Mon, 22 Apr 2013 12:16:13 +0000 (14:16 +0200)
committerJán Tomko <jtomko@redhat.com>
Thu, 25 Apr 2013 11:05:10 +0000 (13:05 +0200)
<controller type='pci' index='0' model='pci-root'/>
is auto-added to pc* machine types.
Without this controller PCI bus 0 is not available and
no PCI addresses are assigned by default.

Since older libvirt supported PCI bus 0 even without
this controller, it is removed from the XML when migrating.

163 files changed:
src/conf/domain_conf.c
src/conf/domain_conf.h
src/libvirt_private.syms
src/qemu/qemu_command.c
src/qemu/qemu_command.h
src/qemu/qemu_domain.c
tests/domainsnapshotxml2xmlout/disk_snapshot.xml
tests/domainsnapshotxml2xmlout/external_vm.xml
tests/domainsnapshotxml2xmlout/full_domain.xml
tests/domainsnapshotxml2xmlout/metadata.xml
tests/qemuxml2argvdata/qemuxml2argv-blkdeviotune.xml
tests/qemuxml2argvdata/qemuxml2argv-blkiotune-device.xml
tests/qemuxml2argvdata/qemuxml2argv-blkiotune.xml
tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.xml
tests/qemuxml2argvdata/qemuxml2argv-boot-floppy.xml
tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.xml
tests/qemuxml2argvdata/qemuxml2argv-boot-multi.xml
tests/qemuxml2argvdata/qemuxml2argv-boot-network.xml
tests/qemuxml2argvdata/qemuxml2argv-boot-order.xml
tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.xml
tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.xml
tests/qemuxml2argvdata/qemuxml2argv-clock-localtime.xml
tests/qemuxml2argvdata/qemuxml2argv-clock-utc.xml
tests/qemuxml2argvdata/qemuxml2argv-console-compat.xml
tests/qemuxml2argvdata/qemuxml2argv-console-virtio-many.xml
tests/qemuxml2argvdata/qemuxml2argv-cpu-eoi-disabled.xml
tests/qemuxml2argvdata/qemuxml2argv-cpu-eoi-enabled.xml
tests/qemuxml2argvdata/qemuxml2argv-cpu-host-kvmclock.xml
tests/qemuxml2argvdata/qemuxml2argv-cpu-kvmclock.xml
tests/qemuxml2argvdata/qemuxml2argv-cputune.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-aio.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-cdrom.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-disk.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-directsync.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-unsafe.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v1-none.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v1-wb.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v1-wt.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-none.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wb.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wt.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-enospace.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-stop.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-wreport-rignore.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fmt-qcow.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-gluster.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-export.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-ipv6-export.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-ipv6.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-unix.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-ceph-env.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-ipv6.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-sheepdog.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-floppy.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-many.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-mirror.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-device.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough-sgio.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-megasas.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-usb.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-num_queues.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-virtio.xml
tests/qemuxml2argvdata/qemuxml2argv-disk-xenvbd.xml
tests/qemuxml2argvdata/qemuxml2argv-encrypted-disk.xml
tests/qemuxml2argvdata/qemuxml2argv-eoi-disabled.xml
tests/qemuxml2argvdata/qemuxml2argv-eoi-enabled.xml
tests/qemuxml2argvdata/qemuxml2argv-event_idx.xml
tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.xml
tests/qemuxml2argvdata/qemuxml2argv-graphics-listen-network.xml
tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.xml
tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.xml
tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.xml
tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.xml
tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.xml
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.xml
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-socket.xml
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.xml
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.xml
tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.xml
tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.xml
tests/qemuxml2argvdata/qemuxml2argv-hugepages.xml
tests/qemuxml2argvdata/qemuxml2argv-hyperv.xml
tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse.xml
tests/qemuxml2argvdata/qemuxml2argv-input-usbtablet.xml
tests/qemuxml2argvdata/qemuxml2argv-kvmclock.xml
tests/qemuxml2argvdata/qemuxml2argv-lease.xml
tests/qemuxml2argvdata/qemuxml2argv-machine-core-off.xml
tests/qemuxml2argvdata/qemuxml2argv-machine-core-on.xml
tests/qemuxml2argvdata/qemuxml2argv-migrate.xml
tests/qemuxml2argvdata/qemuxml2argv-minimal.xml
tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.xml
tests/qemuxml2argvdata/qemuxml2argv-misc-disable-s3.xml
tests/qemuxml2argvdata/qemuxml2argv-misc-disable-suspends.xml
tests/qemuxml2argvdata/qemuxml2argv-misc-enable-s4.xml
tests/qemuxml2argvdata/qemuxml2argv-misc-no-reboot.xml
tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.xml
tests/qemuxml2argvdata/qemuxml2argv-net-bandwidth.xml
tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.xml
tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml
tests/qemuxml2argvdata/qemuxml2argv-net-hostdev.xml
tests/qemuxml2argvdata/qemuxml2argv-net-openvswitch.xml
tests/qemuxml2argvdata/qemuxml2argv-net-user.xml
tests/qemuxml2argvdata/qemuxml2argv-net-virtio-device.xml
tests/qemuxml2argvdata/qemuxml2argv-net-virtio-network-portgroup.xml
tests/qemuxml2argvdata/qemuxml2argv-net-virtio.xml
tests/qemuxml2argvdata/qemuxml2argv-nographics-vga.xml
tests/qemuxml2argvdata/qemuxml2argv-numad-static-vcpu-no-numatune.xml
tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp.xml
tests/qemuxml2argvdata/qemuxml2argv-pci-rom.xml
tests/qemuxml2argvdata/qemuxml2argv-pseries-nvram.xml
tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.xml
tests/qemuxml2argvdata/qemuxml2argv-reboot-timeout-disabled.xml
tests/qemuxml2argvdata/qemuxml2argv-reboot-timeout-enabled.xml
tests/qemuxml2argvdata/qemuxml2argv-restore-v1.xml
tests/qemuxml2argvdata/qemuxml2argv-restore-v2.xml
tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-baselabel.xml
tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.xml
tests/qemuxml2argvdata/qemuxml2argv-seclabel-none.xml
tests/qemuxml2argvdata/qemuxml2argv-seclabel-static.xml
tests/qemuxml2argvdata/qemuxml2argv-serial-dev.xml
tests/qemuxml2argvdata/qemuxml2argv-serial-file.xml
tests/qemuxml2argvdata/qemuxml2argv-serial-many.xml
tests/qemuxml2argvdata/qemuxml2argv-serial-pty.xml
tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet.xml
tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.xml
tests/qemuxml2argvdata/qemuxml2argv-serial-udp.xml
tests/qemuxml2argvdata/qemuxml2argv-serial-unix.xml
tests/qemuxml2argvdata/qemuxml2argv-serial-vc.xml
tests/qemuxml2argvdata/qemuxml2argv-smp.xml
tests/qemuxml2argvdata/qemuxml2argv-sound-device.xml
tests/qemuxml2argvdata/qemuxml2argv-sound.xml
tests/qemuxml2argvdata/qemuxml2argv-tpm-passthrough.xml
tests/qemuxml2argvdata/qemuxml2argv-usb-redir.xml
tests/qemuxml2argvdata/qemuxml2argv-virtio-lun.xml
tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-egd.xml
tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-random.xml
tests/qemuxml2argvdata/qemuxml2argv-watchdog.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-balloon-device-auto.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-channel-virtio-auto.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-console-compat-auto.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-console-virtio.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-device-auto.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-listen-network2.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-timeout.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-memtune.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-metadata.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-numad-auto-memory-vcpu-cpuset.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-numad-auto-memory-vcpu-no-cpuset-and-placement.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-numad-auto-vcpu-no-numatune.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-target-port-auto.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-usb-ich9-ehci-addr.xml

index cc0e63746fdb347ef18470063e6db44fabdf47ff..cb691785c94abe2718342d58ed482ad6c52fe1fd 100644 (file)
@@ -9811,7 +9811,7 @@ virDomainLookupVcpuPin(virDomainDefPtr def,
     return NULL;
 }
 
-static int
+int
 virDomainDefMaybeAddController(virDomainDefPtr def,
                                int type,
                                int idx,
index 946ad206d34b9e223a465f3521dc6d1a8e718f81..898621de2c23027c64ecd26ddce5e183a32880e8 100644 (file)
@@ -2563,6 +2563,12 @@ int virDomainObjListExport(virDomainObjListPtr doms,
 virDomainVcpuPinDefPtr virDomainLookupVcpuPin(virDomainDefPtr def,
                                               int vcpuid);
 
+int
+virDomainDefMaybeAddController(virDomainDefPtr def,
+                               int type,
+                               int idx,
+                               int model);
+
 char *virDomainDefGetDefaultEmulator(virDomainDefPtr def, virCapsPtr caps);
 
 #endif /* __DOMAIN_CONF_H */
index 3b1a6dd57841fa723cd65ef8bf5cbec6dd598600..882b77d3e2b27ef8bbef2c47882556201fb8b456 100644 (file)
@@ -116,6 +116,7 @@ virDomainDefFree;
 virDomainDefGenSecurityLabelDef;
 virDomainDefGetDefaultEmulator;
 virDomainDefGetSecurityLabelDef;
+virDomainDefMaybeAddController;
 virDomainDefParseFile;
 virDomainDefParseNode;
 virDomainDefParseString;
index 5a5305fd1ee21b6ab71c4ef82411627bf33b3ba9..ebd739a01d237ee98e9943082a990dcbc035f588 100644 (file)
@@ -1209,6 +1209,7 @@ typedef uint8_t qemuDomainPCIAddressBus[QEMU_PCI_ADDRESS_SLOT_LAST];
 struct _qemuDomainPCIAddressSet {
     qemuDomainPCIAddressBus *used;
     virDevicePCIAddress lastaddr;
+    size_t nbuses;        /* allocation of 'used' */
 };
 
 
@@ -1219,6 +1220,10 @@ struct _qemuDomainPCIAddressSet {
 static bool qemuPCIAddressValidate(qemuDomainPCIAddressSetPtr addrs ATTRIBUTE_UNUSED,
                                    virDevicePCIAddressPtr addr)
 {
+    if (addrs->nbuses == 0) {
+        virReportError(VIR_ERR_XML_ERROR, "%s", _("No PCI buses available"));
+        return false;
+    }
     if (addr->domain != 0) {
         virReportError(VIR_ERR_XML_ERROR, "%s",
                        _("Only PCI domain 0 is available"));
@@ -1334,7 +1339,15 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
     qemuDomainObjPrivatePtr priv = NULL;
 
     if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) {
-        if (!(addrs = qemuDomainPCIAddressSetCreate(def)))
+        int nbuses = 0;
+        int i;
+
+        for (i = 0; i < def->ncontrollers; i++) {
+            if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI)
+                nbuses++;
+        }
+
+        if (!(addrs = qemuDomainPCIAddressSetCreate(def, nbuses)))
             goto cleanup;
 
         if (qemuAssignDevicePCISlots(def, qemuCaps, addrs) < 0)
@@ -1379,16 +1392,25 @@ int qemuDomainAssignAddresses(virDomainDefPtr def,
     return qemuDomainAssignPCIAddresses(def, qemuCaps, obj);
 }
 
-qemuDomainPCIAddressSetPtr qemuDomainPCIAddressSetCreate(virDomainDefPtr def)
+qemuDomainPCIAddressSetPtr qemuDomainPCIAddressSetCreate(virDomainDefPtr def,
+                                                         unsigned int nbuses)
 {
     qemuDomainPCIAddressSetPtr addrs;
+    int i;
 
     if (VIR_ALLOC(addrs) < 0)
         goto no_memory;
 
-    if (VIR_ALLOC_N(addrs->used, 1) < 0)
+    if (VIR_ALLOC_N(addrs->used, nbuses) < 0)
         goto no_memory;
 
+    addrs->nbuses = nbuses;
+
+    /* reserve slot 0 in every bus - it's used by the host bridge on bus 0
+     * and unusable on PCI bridges */
+    for (i = 0; i < nbuses; i++)
+        addrs->used[i][0] = 0xFF;
+
     if (virDomainDeviceInfoIterate(def, qemuCollectPCIAddress, addrs) < 0)
         goto error;
 
@@ -1617,12 +1639,6 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
     virDevicePCIAddressPtr addrptr;
     unsigned int *func = &tmp_addr.function;
 
-
-    /* Reserve slot 0 for the host bridge */
-    memset(&tmp_addr, 0, sizeof(tmp_addr));
-    if (qemuDomainPCIAddressReserveSlot(addrs, &tmp_addr) < 0)
-        goto error;
-
     /* Verify that first IDE and USB controllers (if any) is on the PIIX3, fn 1 */
     for (i = 0; i < def->ncontrollers ; i++) {
         /* First IDE controller lives on the PIIX3 at slot=1, function=1 */
@@ -1674,16 +1690,18 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
     /* PIIX3 (ISA bridge, IDE controller, something else unknown, USB controller)
      * hardcoded slot=1, multifunction device
      */
-    memset(&tmp_addr, 0, sizeof(tmp_addr));
-    tmp_addr.slot = 1;
-    for (*func = 0; *func < QEMU_PCI_ADDRESS_FUNCTION_LAST; (*func)++) {
-        if ((*func == 1 && reservedIDE) ||
-            (*func == 2 && reservedUSB))
-            /* we have reserved this pci address */
-            continue;
+    if (addrs->nbuses) {
+        memset(&tmp_addr, 0, sizeof(tmp_addr));
+        tmp_addr.slot = 1;
+        for (*func = 0; *func < QEMU_PCI_ADDRESS_FUNCTION_LAST; (*func)++) {
+            if ((*func == 1 && reservedIDE) ||
+                (*func == 2 && reservedUSB))
+                /* we have reserved this pci address */
+                continue;
 
-        if (qemuDomainPCIAddressReserveAddr(addrs, &tmp_addr) < 0)
-            goto error;
+            if (qemuDomainPCIAddressReserveAddr(addrs, &tmp_addr) < 0)
+                goto error;
+        }
     }
 
     if (def->nvideos > 0) {
@@ -1775,6 +1793,9 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
 
     /* Device controllers (SCSI, USB, but not IDE, FDC or CCID) */
     for (i = 0; i < def->ncontrollers ; i++) {
+        /* PCI root has no address */
+        if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI)
+            continue;
         /* FDC lives behind the ISA bridge; CCID is a usb device */
         if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_FDC ||
             def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_CCID)
index 1789c20f334d26c229775518c38bedabefafdf0b..b05510b5a7f3197784677b22762f2b966f6c2e19 100644 (file)
@@ -196,7 +196,8 @@ int qemuDomainAssignSpaprVIOAddresses(virDomainDefPtr def,
 int qemuDomainAssignPCIAddresses(virDomainDefPtr def,
                                  virQEMUCapsPtr qemuCaps,
                                  virDomainObjPtr obj);
-qemuDomainPCIAddressSetPtr qemuDomainPCIAddressSetCreate(virDomainDefPtr def);
+qemuDomainPCIAddressSetPtr qemuDomainPCIAddressSetCreate(virDomainDefPtr def,
+                                                         unsigned int nbuses);
 int qemuDomainPCIAddressReserveSlot(qemuDomainPCIAddressSetPtr addrs,
                                     virDevicePCIAddressPtr addr);
 int qemuDomainPCIAddressReserveAddr(qemuDomainPCIAddressSetPtr addrs,
index a7aabdf0d696e3584c4c4ebf397358f740569018..98ac56fee34c550b134f307307ea1288e93f4277 100644 (file)
@@ -668,11 +668,49 @@ qemuDomainDefPostParse(virDomainDefPtr def,
                        virCapsPtr caps,
                        void *opaque ATTRIBUTE_UNUSED)
 {
+    bool addPCIRoot = false;
+
     /* check for emulator and create a default one if needed */
     if (!def->emulator &&
         !(def->emulator = virDomainDefGetDefaultEmulator(def, caps)))
         return -1;
 
+    /* Add implicit PCI root controller if the machine has one */
+    switch (def->os.arch) {
+    case VIR_ARCH_I686:
+    case VIR_ARCH_X86_64:
+        if (!def->os.machine)
+            break;
+        if (STRPREFIX(def->os.machine, "pc-q35") ||
+            STREQ(def->os.machine, "q35") ||
+            STREQ(def->os.machine, "isapc"))
+            break;
+        if (!STRPREFIX(def->os.machine, "pc-0.") &&
+            !STRPREFIX(def->os.machine, "pc-1.") &&
+            !STREQ(def->os.machine, "pc") &&
+            !STRPREFIX(def->os.machine, "rhel"))
+            break;
+        addPCIRoot = true;
+        break;
+
+    case VIR_ARCH_ALPHA:
+    case VIR_ARCH_PPC:
+    case VIR_ARCH_PPC64:
+    case VIR_ARCH_PPCEMB:
+    case VIR_ARCH_SH4:
+    case VIR_ARCH_SH4EB:
+        addPCIRoot = true;
+        break;
+    default:
+        break;
+    }
+
+    if (addPCIRoot &&
+        virDomainDefMaybeAddController(
+            def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 0,
+            VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT) < 0)
+        return -1;
+
     return 0;
 }
 
@@ -1255,7 +1293,8 @@ qemuDomainDefFormatBuf(virQEMUDriverPtr driver,
 
     if ((flags & VIR_DOMAIN_XML_MIGRATABLE)) {
         int i;
-        virDomainControllerDefPtr usb = NULL;
+        int remove = 0;
+        virDomainControllerDefPtr usb = NULL, pci = NULL;
 
         /* If only the default USB controller is present, we can remove it
          * and make the XML compatible with older versions of libvirt which
@@ -1274,9 +1313,36 @@ qemuDomainDefFormatBuf(virQEMUDriverPtr driver,
         if (usb && usb->idx == 0 && usb->model == -1) {
             VIR_DEBUG("Removing default USB controller from domain '%s'"
                       " for migration compatibility", def->name);
+            remove++;
+        } else {
+            usb = NULL;
+        }
+
+        /* Remove the default PCI controller if there is only one present
+         * and its model is pci-root */
+        for (i = 0; i < def->ncontrollers; i++) {
+            if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) {
+                if (pci) {
+                    pci = NULL;
+                    break;
+                }
+                pci = def->controllers[i];
+            }
+        }
+
+        if (pci && pci->idx == 0 &&
+            pci->model == VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT) {
+            VIR_DEBUG("Removing default 'pci-root' from domain '%s'"
+                      " for migration compatibility", def->name);
+            remove++;
+        } else {
+            pci = NULL;
+        }
+
+        if (remove) {
             controllers = def->controllers;
             ncontrollers = def->ncontrollers;
-            if (VIR_ALLOC_N(def->controllers, ncontrollers - 1) < 0) {
+            if (VIR_ALLOC_N(def->controllers, ncontrollers - remove) < 0) {
                 controllers = NULL;
                 virReportOOMError();
                 goto cleanup;
@@ -1284,10 +1350,12 @@ qemuDomainDefFormatBuf(virQEMUDriverPtr driver,
 
             def->ncontrollers = 0;
             for (i = 0; i < ncontrollers; i++) {
-                if (controllers[i] != usb)
+                if (controllers[i] != usb && controllers[i] != pci)
                     def->controllers[def->ncontrollers++] = controllers[i];
             }
         }
+
+
     }
 
     ret = virDomainDefFormatInternal(def, flags, buf);
index 57aef16a3ff6dae030c6a916d55a88d4953c2159..5f42bf5dde504ef905db3ed9c06858db613e2387 100644 (file)
@@ -72,6 +72,7 @@
       </disk>
       <controller type='usb' index='0'/>
       <controller type='ide' index='0'/>
+      <controller type='pci' index='0' model='pci-root'/>
       <memballoon model='virtio'/>
     </devices>
   </domain>
index 8814bce96e1e4b492bc2267a8683f6e849cd5d5b..5a87ba60be0144f855fde810ec81cd09d738dca3 100644 (file)
@@ -37,6 +37,7 @@
       </disk>
       <controller type='usb' index='0'/>
       <controller type='ide' index='0'/>
+      <controller type='pci' index='0' model='pci-root'/>
       <memballoon model='virtio'/>
     </devices>
   </domain>
index 65d1469df62df5aeb60b9d9685f0c3a142dba477..3a9e24dbffbb139ea9caf01b9547bde8544250b7 100644 (file)
@@ -30,6 +30,7 @@
       </disk>
       <controller type='usb' index='0'/>
       <controller type='ide' index='0'/>
+      <controller type='pci' index='0' model='pci-root'/>
       <memballoon model='virtio'/>
     </devices>
   </domain>
index f9614581adb146b469432c922ac47b13e2f7feca..b3851413418e1222fe2b7b565adba9cac14c1fe3 100644 (file)
@@ -34,6 +34,7 @@
       </disk>
       <controller type='usb' index='0'/>
       <controller type='ide' index='0'/>
+      <controller type='pci' index='0' model='pci-root'/>
       <memballoon model='virtio'/>
     </devices>
   </domain>
index 0f48917b695eaf199a27390aa60f747a379da36b..5d61b724526f39c511f99eb4425332f04a57f6f1 100644 (file)
@@ -37,6 +37,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index f21e68a560b946678faaee05daf3aced27401f01..743cf2958ff7f9499ff552c05f55884c110f2e46 100644 (file)
@@ -32,6 +32,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index a0445bb49e6818f002a29db9b294659d63a774b0..87c6e50c8296b79b1d00882dff9d6233f9cac16d 100644 (file)
@@ -24,6 +24,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 775101d403accb9e96702227d91d7b085ad9b5c1..c9fcfbb353a3a8c861e2a083392f145aaa083d7f 100644 (file)
@@ -23,6 +23,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index c877adfdd173b11ebb0667b1550e275e8d6df560..f662990183866c2aa7e32a2c68bf5327c2150167 100644 (file)
@@ -29,6 +29,7 @@
     <controller type='usb' index='0'/>
     <controller type='fdc' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 38df8feeb2b98aa25ac98499911438cfc477e529..62f562d16231b70779a4014ac567866081846e3d 100644 (file)
@@ -23,6 +23,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 0cd2a1b46a3d21d7d4cbacdced9adc49fabd24d2..bfae80eba32f1cde5e5b8f9c72afaa4b9c8d6aa0 100644 (file)
@@ -26,6 +26,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index e7dad411a357bddf60cc4073e7c5bcdd2b1d4316..9230816de8c8117c494a5ede45ea1479d52e5596 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 3ac8517dd9b21c670b2f09334afc766c494be842..c54ee527cda2c306d3f483fcc7cc93501fc2014c 100644 (file)
@@ -43,6 +43,7 @@
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
     <controller type='fdc' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='user'>
       <mac address='00:11:22:33:44:55'/>
       <model type='virtio'/>
index 60e853c1a01e481a9bde662fd43064b0d8c2e94d..2aea70a251a5cd0cc4ad927c9e6eb7047fba7364 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <channel type='pipe'>
       <source path='/tmp/guestfwd'/>
       <target type='guestfwd' address='10.0.2.1' port='4600'/>
index a280842c56ba867655633e786f6ea05f6036692b..0d15ed5ec04ff6acfb22b7c4db27cdfe49532fb9 100644 (file)
@@ -24,6 +24,7 @@
     <controller type='virtio-serial' index='1'>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
     </controller>
+    <controller type='pci' index='0' model='pci-root'/>
     <channel type='pty'>
       <target type='virtio' name='org.linux-kvm.port.foo'/>
       <address type='virtio-serial' controller='1' bus='0' port='3'/>
index 79336dbc26ff729d227f4e52a297c22330475f42..b4e742409df76be8715ba8bffa974aa23fb0a114 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 37dc45a52dce7de1720e78c54425246ec24389f1..1d7cc95edf67a089ee4b1ab9e9cc9aac62056901 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index a531df5a711319350e2a956f7465e85ae91ee561..a767eea255e6bd81300984913d423d1770c12381 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <serial type='pty'>
       <target port='0'/>
     </serial>
index 6028a2cf801ed6cb1a835bbdba382a23b50c894b..6d5a91727f35355e776b5c60f2cc4526cc055ce0 100644 (file)
@@ -22,6 +22,7 @@
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
     <controller type='virtio-serial' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <serial type='pty'>
       <target port='0'/>
     </serial>
index 5e5bc040ba12d12923b40a89eb5d865b2648bce9..ed6a2eb1aec5af8ce98ac6c7337daaa00237d0cb 100644 (file)
@@ -23,6 +23,7 @@
   <devices>
     <emulator>/usr/bin/qemu</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index ecc542e842774bccd6ed7719b6783ea459227088..dc43defd9b97c5ad18a95c2d1c3d9e5d71475850 100644 (file)
@@ -23,6 +23,7 @@
   <devices>
     <emulator>/usr/bin/qemu</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 16d71a342c654abf80176441e052fa5a76079875..89153a53afa0ba151e9b135d235d1c6befe8e395 100644 (file)
@@ -19,6 +19,7 @@
   <devices>
     <emulator>/usr/bin/qemu</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 0bbe8e025a207994cddab3b4b41b0718e521a334..7d66eb0d3fa1b7a2c9be5cf467e532ae18980c2d 100644 (file)
@@ -20,6 +20,7 @@
   <devices>
     <emulator>/usr/bin/qemu</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 593e650d7bd0e19ba18b07051ea4f69e9f8234fd..813d2014a2d404dc70b74106f9ca8eba5f0c473b 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 1f439383ddea5f98698e38d8d85d02ccbc47e439..ce4ef93b2c33257bca4812c6776fe1326877f27b 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 1aabfe2886564e8ec62324579a97c846bd5ae3d4..a90be1ccd1fb19f1968648fd3a46cb806ed62bdc 100644 (file)
@@ -28,6 +28,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 58cf0c7d0ce546adab07a68e9d1ee31683154ed6..259ea1fd4ca307bfe63874e25492faae20c126e8 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index c4b7aff4fae1f196feca69e6204e67fb5a2df31d..8683233060b3a817c59a05c368cb6ad22aa010f0 100644 (file)
@@ -28,6 +28,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 055bcb2588956fa9f0908b147df463cccf9fb0fc..32e511e27c1b760a6eb1096a59eec938dcdf10c4 100644 (file)
@@ -28,6 +28,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 55e84fb26877e0d25e1cb5d34d6984134e504b3d..0b85fb1a2ad4c15e6e8942659b4253d356170e88 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index d56dab68cbe3e837626dffc8171105a50c22d4e8..4bd8e24e0afc2d940e3f5c43c87b5f5ebc6b62f8 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 82ba24981d5c7f27dc65b94f88478acc8ac83c68..7fe9082626833a9a0155633e60169596e6f58633 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 7c16352e028a6c7c978ea33c17add8cca875baeb..f0e7df4e1adafaca7af07ae6efeee15a04b56480 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 9358e19c573391001ab8090987e9c5d27726a624..5e0896a81ff8c6c6d9b0628d5a02d1849448f94c 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 69e9c242a48cd068d2acdcb648f660c08eefc3c2..0beda48c33a22d0bf5dfaf69db222402634b5faf 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 691579841e8bab1ca349c34b8d857b757e52c42b..00730f7fd9cb83cad643bfae7025660b8cd15cc1 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 4c6b2b3f4ec6de939e6218bc9c4de25106e66c1e..6ee75aa965362692dc052b8b15320fcde6c3de42 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index d7cf3d022c62a3725ccba724f17e398220cd4055..92fcd8a9b5a31dedef5940f6ba7e837086b42b05 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index ae85d040e3460eea9225c94b0a806f8842c4ed27..83d5dd0be85cebf3f19bd0383314580fe977c0f0 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index db0391a98f86d43979903e633a00ee140b126ab0..ded9cd1ff05a173ae904bfda0c99c3b7ada14a09 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index ecdc2ed1ded8c96f6ef617bac7f19f47f5c131c2..9cfa44f73c1e5a661bce53cdd57b884ea4d724da 100644 (file)
@@ -23,6 +23,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 38cb2303b4bf1b8ab48a8bc5828a44bd5bd69e56..85fe2a9520a93b487f6d7e399ec5dea9aa3a9105 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index e509b1bfdabedca70eb2fc1a37899aa0e9527384..7c1fdb16ca61886da06052ae6067539a2c06cb6d 100644 (file)
@@ -29,6 +29,7 @@
       <target dev='vdb' bus='virtio'/>
     </disk>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index acaa5031e9055cad262f7fff656447a68bea851a..ee87bdfbc3522d0d97d697443b1395b2a0e95b01 100644 (file)
@@ -26,6 +26,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 7db342639e53dd66c400bcbf7ddabcd956b6cdc2..a6b13abb5f22ceb28c5c49c3104383ec40f6423c 100644 (file)
@@ -29,6 +29,7 @@
       <target dev='vdb' bus='virtio'/>
     </disk>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 7a84604a444d145a5af1981e3961f1f59aebe44f..dd52c39d6801d84116cb86821d7d65e41a0edc6f 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index c063db8cf159a0ff797e20043bd7ab11802eefde..c3bfa34c839454de8dbf559aa923f8f41abe122b 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 540aa024101a927c9a5464a3136d4d3f7233cd98..8087f90894355fb5841c0187a6942bf21b92544d 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index a4126f5bd4823ef62a71f085089f1768a5aeb9fc..0955fee6882cba8bc1edbe904434c80e13869dc5 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 36301a96c51cf885c568ae6799f2371edd548778..e74b95f222c672396c0fc65e8cb9ea9273e30671 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index fa4328cca2585f720f5cdc28cb5b0687bfe335bf..f1840d09e37e8765d1275fcbc436ca490f7285c1 100644 (file)
@@ -31,6 +31,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index be4edbf753919bd775b96377840d8a508e6f12d0..06e852de97a443a0bdd3d4911c707ed0711e1a6d 100644 (file)
@@ -32,6 +32,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 081f9a6ce4add36ea09b2102c732d034db05d0b2..bba512e85070e88c5fc8b1b2ce329f9280c12449 100644 (file)
@@ -31,6 +31,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index ac89dd7f896ddf5f733b6369b33c90a03ec33c3a..d20ca3e6f3769976b0d5607ae744c94780c43325 100644 (file)
@@ -29,6 +29,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index cdad2cd0b8764ee8fa29426071742f2674290cbf..0d47dfa91c39e1952206c443f1a07c491ad294e6 100644 (file)
@@ -35,6 +35,7 @@
     <controller type='usb' index='0'/>
     <controller type='fdc' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 84f96c3b0922dcf70a8f9775149e73a4b91f40e1..d91b78320233d09834917db99af9a6cf95a7ebcc 100644 (file)
@@ -40,6 +40,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index bec18f261ed8e5b25d5f7032c3411799ab565aca..aa16a7e399cc6d0c318f200e15c9404e6d24015e 100644 (file)
@@ -37,6 +37,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 1285811f9d0da52d985d81c61aea2536ecb3b61d..d3d889214574b7405f40a4ca8f30db74af772cd4 100644 (file)
@@ -27,6 +27,7 @@
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
     <controller type='scsi' index='0' model='lsilogic'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 96786e3291abdb0b254d27f76760fecfd1371b51..a0e110575f7bc2e1e489b3e1dd1f6f9adb243ca3 100644 (file)
@@ -33,6 +33,7 @@
     <controller type='usb' index='0'/>
     <controller type='scsi' index='0' model='virtio-scsi'/>
     <controller type='scsi' index='1' model='lsilogic'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index eecf6090c6f99a33221ecd7f5d7b2ab63586f5fd..7cf57ec985ed2df51dfd299cd1348b9a3ff1e31a 100644 (file)
@@ -27,6 +27,7 @@
     <controller type='scsi' index='0' model='virtio-scsi'/>
     <controller type='scsi' index='1' model='lsilogic'/>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 9a496aebde7ec754d61a1e7f9dd86e52b42e5b94..801207db6073bbbce0268dd8a66ee421174c7478 100644 (file)
@@ -27,6 +27,7 @@
     <controller type='ide' index='0'/>
     <controller type='scsi' index='0' model='lsisas1078'/>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 1cb5cb2825055ffaa2554227c74b8e66d6ef6cfe..2d8df2f183340ba6286a99a011c67f30730cae01 100644 (file)
@@ -27,6 +27,7 @@
     <controller type='ide' index='0'/>
     <controller type='scsi' index='0' model='virtio-scsi'/>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index d9ca230607d797636c4b71e91bed990e170f624f..a175b2dc981a336ae1a9d10d428335f4ee84a030 100644 (file)
@@ -27,6 +27,7 @@
     <controller type='ide' index='0'/>
     <controller type='scsi' index='0' model='ibmvscsi'/>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index acf97534984a4f056a69d3e9cabacc4edc3e831a..465a53948f0176df090bf858c8525f6127beac21 100644 (file)
@@ -32,6 +32,7 @@
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
     <controller type='ide' index='1'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 455cd8760246f5f349d36af606b95601fab22012..5f8b8e01a8a0b90aabf2f7644773f7f4336f7e73 100644 (file)
@@ -27,6 +27,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index fda976cb958b81d3719b820f2acb72821791e147..c57276fce733f93c2ccfb59ab7b56dff186714cf 100644 (file)
@@ -23,6 +23,7 @@
     <controller type='scsi' index='0' model='virtio-scsi'>
       <driver queues='8'/>
     </controller>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 10214df6a043e5e9af608070d584e5907a3dab5a..2ca305a36c613346f19d15876695ec293bb6c460 100644 (file)
@@ -39,6 +39,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index d3cbd0b79f50a709bce0f94b8ff624f7ddc43067..af3a4b74bd2aa4efe7ca217460ff0bc3543d3d9b 100644 (file)
@@ -39,6 +39,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index edea441c62c8460385e92088e2aadcb9bed113d3..60fecb81a7fa9972029c412a5f1c5395eb27b594 100644 (file)
@@ -24,6 +24,7 @@
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
     </disk>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 3173a4167d3618dc401ef4a6f25ecd3f267e2364..10a88435ed2277e8b1dd5df4fc211ea601554e3d 100644 (file)
@@ -20,6 +20,7 @@
   <devices>
     <emulator>/usr/bin/qemu</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 22f0803952e776e980e213fa1e2dc6b66c9b4eb5..5d1e9dc12978a3dd11ce1ed91fce3c7f1070a14d 100644 (file)
@@ -20,6 +20,7 @@
   <devices>
     <emulator>/usr/bin/qemu</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 22e388ffafe87f3eda017ed5dd416c465ae31842..b3b7e89ff3d97362ce9807d5038efa711d544fc0 100644 (file)
@@ -34,6 +34,7 @@
       <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
     </controller>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='user'>
       <mac address='52:54:00:e5:48:58'/>
       <model type='virtio'/>
index 0c8ae4580f4d015d5372957ea77b4b8c0d626dcc..360a7fd1436aecc2c22113b8eb89e95b7119408f 100644 (file)
@@ -24,6 +24,7 @@
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
     <controller type='fdc' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index d17bda8d61ce50dca1ad7d6551967964f6d36c8f..b0054405f5ff5bc1e1f9fd68ffd817dec3adabdc 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no'>
       <listen type='network' network='Bobsnetwork'/>
index 5f08b6c83c6436b6c268a4a6412ef600aa0fd657..64f173e6c2484b73e8dd4e266a4b803ae701988f 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <graphics type='sdl' display=':0.1' xauth='/root/.Xauthority' fullscreen='yes'/>
     <video>
index 5779e48f952f252df39f2415fb1a46f2d75427a2..99d13a57c88dac0e1ec423821729080b13a659ef 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <graphics type='sdl' display=':0.1' xauth='/root/.Xauthority'/>
     <video>
index a8c4ad847b6e21f9dc1681d3daf825163f2ba4cc..5da94c2330b96e03147e598d850140f43eba421b 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <graphics type='spice' port='5903' tlsPort='5904' autoport='no' listen='127.0.0.1'>
       <listen type='address' address='127.0.0.1'/>
index 563d3711c36b8720329f89b9cc8989013a1a9453..99d2996bcc1e0d7c99df5ab2f6d180671066e245 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <graphics type='spice' port='5903' tlsPort='5904' autoport='no' listen='127.0.0.1'>
       <listen type='address' address='127.0.0.1'/>
index 9a366603a434fb6fed6d04e22aa04c68177f5283..b22fbcc7624bfb877f0b7e25b2ac3019390f2d2d 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <graphics type='spice' port='5903' tlsPort='5904' autoport='no' listen='127.0.0.1' defaultMode='secure'>
       <listen type='address' address='127.0.0.1'/>
index 08921982809082c57d9339873dbeae33ae8bb707..4fe20c366c99d688ffeb18ba52d044f40ce1dcc6 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no' listen='127.0.0.1'>
       <listen type='address' address='127.0.0.1'/>
index 1b2c5eda0ef31e233feca18d29675ff9e4344795..b3214fdbfffa58742fa33a453d748c99e94c65ab 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <graphics type='vnc' socket='/tmp/foo.socket'/>
     <video>
index 08921982809082c57d9339873dbeae33ae8bb707..4fe20c366c99d688ffeb18ba52d044f40ce1dcc6 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no' listen='127.0.0.1'>
       <listen type='address' address='127.0.0.1'/>
index 509c0a4e30728ca49001f1c8e41c8e30f6267b11..65f990bcbada0a88be1a91ee52d103a36882b60b 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <graphics type='vnc' port='5903' autoport='no' listen='2001:1:2:3:4:5:1234:1234'>
       <listen type='address' address='2001:1:2:3:4:5:1234:1234'/>
index 0e44a483475c9f7aaf8831d1aaca7a7c9263980b..63a0d2abca4ba97baeba2fe860cbadd0f79d9111 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <hostdev mode='subsystem' type='pci' managed='yes'>
       <source>
         <address domain='0x0000' bus='0x06' slot='0x12' function='0x5'/>
index 714b66c823db27de4c800d50c3a0c7f32fa657d9..26e8b4273db40a604c41c80c4317471d9aca562f 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <hostdev mode='subsystem' type='usb' managed='no'>
       <source>
         <address bus='14' device='6'/>
index b5a98165688eb0d3b4db5e41ac8deed360c3ee9c..0822b57c9b0bf274e98aac199f9956671c9e457b 100644 (file)
@@ -24,6 +24,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 9b7d8f28cf624d6d4df6527f14d852455021ed53..0d5d0c717c6fbd546081286821a8192ce895bcdd 100644 (file)
@@ -21,6 +21,7 @@
   <devices>
     <emulator>/usr/bin/qemu</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 3abdaeaeb3b027e9e2d88fef250a9e83254cc267..c4534c476192a3b0cae561342405c8061c7d3577 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='usb'/>
     <memballoon model='virtio'/>
   </devices>
index 2f8baeee927b29911315165ae564d4dca091c858..208e2b7206a0440179f29a220c98377029cddace 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <input type='tablet' bus='usb'/>
     <memballoon model='virtio'/>
   </devices>
index 8abcb519146e90c609d0c7bb43a569c0ecc4ae73..a187aaac4c586855e6ede37258eec91470be11b2 100644 (file)
@@ -20,6 +20,7 @@
   <devices>
     <emulator>/usr/bin/kvm</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index a9b311d0e22fa3c91a59bbee34141303c2ec0f1b..564f0b4714f494463e34c95003b0b73d84b68d93 100644 (file)
@@ -27,6 +27,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <lease>
       <lockspace>somearea</lockspace>
       <key>thequickbrownfoxjumpedoverthelazydog</key>
index 3fdb6742f602a3b0df653fdc8d999baf123528dc..ab17e565e25878f57ed156e7d6eeec3318039fee 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 89482a8d4a1c2df0889db69571b16a2b0f9f7339..7294ebb4925bdf0a8ef340fdf8b60c2f86683b60 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 9e2f1623d9061e08ee5a444bb3448ea6d7552013..742a5535be96bfa347aa7f75dc468d0b804bf8d5 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 26fdf0dc2ea443f41609433aa9f4373c60f24513..4a938b3ff82ea89c902bcc90ee81f0d924d9e999 100644 (file)
@@ -26,6 +26,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 8494e80ca6dac92e1711b51fda100d956d4c0ad7..4997e5ba0d7dec4f29563565796fc3ebe8797e6c 100644 (file)
@@ -25,6 +25,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 802bc09f8f734b71d228c9e71595a621977e4e5a..5f5690d4c3171467d4cf10bf2976d9599adbee5e 100644 (file)
@@ -25,6 +25,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index a12867d21826ade36df9888c8c6028714ba647fc..a81f3c4a6d8dc214a00108209cbe11c83ba294b8 100644 (file)
@@ -26,6 +26,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index e181c018d6a2574b953ea6a7f793ed8d0cf2a19c..42ad266957fdd14b9caa94a347ae002a88438f06 100644 (file)
@@ -25,6 +25,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 65615370442a2b2171234dd8e9f4a94df8c67eb5..f066c13aba8fca2ace81f90953dcdabca44a65f9 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 8494e80ca6dac92e1711b51fda100d956d4c0ad7..4997e5ba0d7dec4f29563565796fc3ebe8797e6c 100644 (file)
@@ -25,6 +25,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 885e8549d50e2a26f95737b1fbccfbdb7c769625..4b8646d41db1f590a845d27fd6a2bec6e20a3709 100644 (file)
@@ -41,6 +41,7 @@
     <controller type='virtio-serial' index='0'>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
     </controller>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='network'>
       <mac address='52:54:00:24:a5:9f'/>
       <source network='default'/>
index 1f5317e5f98083d5dbb408d6af46f947207580c3..e8c2bf771beda227786d84b803db138cc75b74c0 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='ethernet'>
       <mac address='00:11:22:33:44:55'/>
       <script path='/etc/qemu-ifup'/>
index aacc8a66503d8c312ad0e00eb971c1eeb73b1c62..4bc79ce1c58a914b6c81f6af4685cc36b184ccfb 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='ethernet'>
       <mac address='00:11:22:33:44:55'/>
       <script path='/etc/qemu-ifup'/>
index 9be0d2dcaf16f23a572f777aea30298a64b311e5..d65ef874e83e3fa07d9bb0a3523c5267ad37d464 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='hostdev' managed='yes'>
       <mac address='00:11:22:33:44:55'/>
       <source>
index 9c2c5dc77a3fdb9969f0c1d5262c85384a14926b..e90de23f7a1c53ddcf5c5ae54bda84dbbc26cdf5 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='network'>
       <mac address='00:11:22:33:44:55'/>
       <source network='ovs-net'/>
index e99b9a19cb54a137e5c124e9bb9b47db26bc3e3f..e1d3046afd74aebc6b3b930e1e0dc2ebf6265361 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='user'>
       <mac address='00:11:22:33:44:55'/>
       <model type='rtl8139'/>
index 9b37f2fcbae115f6bcadf05a4bda5c327f6cec77..1782831c0d7a049a6a2c3a03c4aff34a5dfaef38 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='user'>
       <mac address='00:11:22:33:44:55'/>
       <model type='virtio'/>
index 0fb9b2c959ddd9d41f2d9735fd5ed6c6fb295c13..950a9db18996a2bf86274a8d366ff7c5bf2b1c1f 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='network'>
       <mac address='00:11:22:33:44:55'/>
       <source network='rednet' portgroup='bob'/>
index 1bcffdf7be367b50f705d7c65abb46f969f47c63..a699f6efa8694be3c3fe7d7593186dd848d8dc30 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='user'>
       <mac address='00:11:22:33:44:55'/>
       <model type='virtio'/>
index 9e2f1623d9061e08ee5a444bb3448ea6d7552013..742a5535be96bfa347aa7f75dc468d0b804bf8d5 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 71c1497aa967f75a7d62d3886d0637df53ef6adb..6e9720fad11694a1b99197f4cf0e7d93af002f36 100644 (file)
@@ -24,6 +24,7 @@
     </disk>
     <controller type='ide' index='0'/>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 855836c70ffa6485062f4fa851f9a6b81e85cccd..53381fb5112bce307c460c28403fd15f40a8d9ac 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <parallel type='tcp'>
       <source mode='bind' host='127.0.0.1' service='9999'/>
       <protocol type='raw'/>
index 371835d5b8c7469ac788948542721e4e5e2d886d..a5e59b26a358776a5a137dd44f68a389ebe92a4c 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='user'>
       <mac address='52:54:00:24:a5:9f'/>
       <model type='virtio'/>
index bead7e7f9c914b9e4388dbaff7f5e1e23d6afc42..d001ee78bac897f7c83e5f9cca8823b9e58151a8 100644 (file)
@@ -15,6 +15,7 @@
   <devices>
     <emulator>/usr/bin/qemu-system-ppc64</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
     <nvram>
       <address type='spapr-vio' reg='0x4000'/>
index 7151b54723d95340e107c409dc3024043011cf1d..45ede22c96a1e6d78583906d0f648a4ae8980fad 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
   <qemu:commandline>
index 38a0f522e0842e40231082e1dec783c3e3f2302c..883a8045c3552ff227fbaf54a9ac0cd4cb981d60 100644 (file)
@@ -16,6 +16,7 @@
   <devices>
     <emulator>/usr/bin/qemu</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 3a9cd6fa7d7ba621d6c1848aad5a8a4102409f60..a298b9d7ee59b066f4e33d8b02fa844d222c1795 100644 (file)
@@ -16,6 +16,7 @@
   <devices>
     <emulator>/usr/bin/qemu</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 37dc45a52dce7de1720e78c54425246ec24389f1..1d7cc95edf67a089ee4b1ab9e9cc9aac62056901 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 9e2f1623d9061e08ee5a444bb3448ea6d7552013..742a5535be96bfa347aa7f75dc468d0b804bf8d5 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 98362a736554f47e2f36086c3c6a1518caf744b9..a80e781e1c357f773327cc5331220526912acb15 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
   <seclabel type='dynamic' model='selinux' relabel='yes'>
index 426b663ce24819e8310da980d556d0ba07b30876..b790d07d2248e845372e365b8f35c52b7054fc11 100644 (file)
@@ -33,6 +33,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
   <seclabel type='dynamic' model='selinux' relabel='yes'>
index 1a6878c2b19b811ecb9a7ea9a89745b26b0b5c4b..cbeae5001962ee7bee863b01169d99dac08183fc 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
   <seclabel type='none'/>
index 31d5f58a6911c077d60d8735392b80b9941bf7d8..c1e4392b5dff265e7bb2c1e778a10f518fcf37fc 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
   <seclabel type='static' model='selinux' relabel='no'>
index 1f7ee972abaaefd2413f1b860cb779fd70178ac6..cde97181658b027865dc4246806935cbd1fa5dff 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <serial type='dev'>
       <source path='/dev/ttyS2'/>
       <target port='0'/>
index 1542f0052cec71772280d0c8e013d24ec4b284c6..f7da73e73ec7f92a6086d878afe0c7805f0c66db 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <serial type='file'>
       <source path='/tmp/serial.log'/>
       <target port='0'/>
index 1eecfb78bde208186dba973ffbb132ac10b6f28c..f5215bb317a1448f64f4a329b025a5b0e2b2303f 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <serial type='pty'>
       <target port='0'/>
     </serial>
index be7113289f975fa00c3fecd2fca522a1b03740b2..b5be682b8a3fe734d55886c5481ac8e917b83c37 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <serial type='pty'>
       <target port='0'/>
     </serial>
index 9598df33d4bb99910c96347835cfca3b8b172d2e..4c4a1311c477a6c705275b664fe6857e430c6c6f 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <serial type='tcp'>
       <source mode='bind' host='127.0.0.1' service='9999'/>
       <protocol type='telnet'/>
index 3144fe96abbe6bcb5c94c62f7d0f13fbb3994ceb..64361cca8aa471876043e92803c73d3e195f2d9d 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <serial type='tcp'>
       <source mode='connect' host='127.0.0.1' service='9999'/>
       <protocol type='raw'/>
index 27d417022228b7dad7f4b2f8d2d28b70b902c806..b8895c226d4164754d8167a1910b3f530bd4fa98 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <serial type='udp'>
       <source mode='bind' host='127.0.0.1' service='9999'/>
       <source mode='connect' host='127.0.0.1' service='9998'/>
index c5f4dc592117276e5c230d7c70d562f3c2e25cb3..b24269b53fabfb8d43c9e60582c8bc35a574231e 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <serial type='unix'>
       <source mode='connect' path='/tmp/serial.sock'/>
       <target port='0'/>
index 202478d334c6f0d25c8d7c3e146f1c99e9b5e4b9..e63ff574bbfcfa40731328ad5b1022623f4ecfc4 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <serial type='vc'>
       <target port='0'/>
     </serial>
index 03daef634929c4140794b43242e15ac39049ffae..83ddcb352f215fb47cf7e45c279ce13a5bc72c65 100644 (file)
@@ -25,6 +25,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index c588a24afd069127162b793a477ccc1f01c280d8..7bf9ff92179ac1440b2ae5d5abc80e1909c4ef47 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <sound model='pcspk'/>
     <sound model='es1370'/>
     <sound model='sb16'/>
index 8e8078e8fdcde9ad92a059c9d7d607e06bb28948..21db7044c8b16446c341e558daf0bedba2d867e6 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <sound model='pcspk'/>
     <sound model='es1370'/>
     <sound model='sb16'/>
index c7656b611c07b4c78f6450e08db2fe6842e5acb9..05b991f0fe1cf58aa1a8fd245948d284f3046925 100644 (file)
@@ -19,6 +19,7 @@
   <devices>
     <emulator>/usr/bin/qemu</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <tpm model='tpm-tis'>
       <backend type='passthrough'>
         <device path='/dev/tpm0'/>
index 1b8b7ede0eb26cc210dd0c71282ff51825c72324..1ea66f5c3a29a3e45c6386133eaff5df0d68be7c 100644 (file)
@@ -29,6 +29,7 @@
       <master startport='4'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x2'/>
     </controller>
+    <controller type='pci' index='0' model='pci-root'/>
     <redirdev bus='usb' type='tcp'>
       <source mode='connect' host='localhost' service='4000'/>
       <protocol type='raw'/>
index c4f0079cef0a6a02338035cd44ffea67afec8d28..077ca92ce1156216249dd68062e921f2423a1e80 100644 (file)
@@ -33,6 +33,7 @@
       <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
     </controller>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='user'>
       <mac address='52:54:00:e5:48:58'/>
       <model type='virtio'/>
index 4e52a32be704848229acaf9328077b8c7aa493cf..c44dc7d5bc5988e10e5221093a6afb6283736e6c 100644 (file)
@@ -15,6 +15,7 @@
   <devices>
     <emulator>/usr/bin/qemu</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
     <rng model='virtio'>
       <backend model='egd' type='tcp'>
index 354ae42932b9d8b7c8fd3352c901d1d3cf9287d5..fc2be1ec6534a9dd1c050cb0b677446e425ea19e 100644 (file)
@@ -15,6 +15,7 @@
   <devices>
     <emulator>/usr/bin/qemu</emulator>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
     <rng model='virtio'>
       <rate bytes='123' period='1234'/>
index 52b462420c889ba49ada58033af35989a0f8f4ba..31c0152dd8473bcf3e984682907b626c0701b7f5 100644 (file)
@@ -22,6 +22,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <watchdog model='ib700' action='poweroff'/>
     <memballoon model='virtio'/>
   </devices>
index c4d483abfcc61a22f26eb9cff46f3d8be3433862..6aed326c635e90b1873d656fe6f5525397f75fbe 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index c257292f9e7a3f22845d18fe86b5d17466ca6731..017527266aadcace272fad619bb1ed781efba07a 100644 (file)
@@ -26,6 +26,7 @@
       <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
     </controller>
     <controller type='virtio-serial' index='2'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <channel type='pty'>
       <target type='virtio' name='org.linux-kvm.port.0'/>
       <address type='virtio-serial' controller='0' bus='0' port='1'/>
index e3821cdc45cbbcbca15c169e3f71f1ca0a5ee299..1eca2a9bdcfe01adb31a96896b96a5c917b0b7b8 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <serial type='pty'>
       <target port='0'/>
     </serial>
index 031f821e62c7169ea882ede8d7c48f4c1fb6c45f..3c865c3011713acbd881e54089ee1bb08e71e754 100644 (file)
@@ -22,6 +22,7 @@
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
     <controller type='virtio-serial' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <console type='pty'>
       <target type='virtio' port='0'/>
     </console>
index 29f406e427ad9fcdcf485f35f7215c5a8ab1e210..b3d8c59dc4cfbff6c3b87dd59853d87c7662533b 100644 (file)
@@ -35,6 +35,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 26e5547ee11784ee16ce9efe396f30cb73e788d9..7d152bc7b6a8a6f540c97899f8b738f22fc65139 100644 (file)
@@ -27,6 +27,7 @@
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
     <controller type='scsi' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index fae1e6f43bec15edc6e366a7be81cced312206c3..3f7c383cf115529d1535f277fe2579e23fe03b44 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen='1.2.3.4'>
       <listen type='address' address='1.2.3.4'/>
index 54b68fa62feafd0a857f79cb00d5eee9ee971904..f793f620973d91b7d674b413fda544e06a1f07e1 100644 (file)
@@ -59,6 +59,7 @@
       <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
     </controller>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <interface type='ethernet'>
       <mac address='52:54:00:71:70:89'/>
       <script path='/etc/qemu-ifup'/>
index 34ec18f1798e22db5a10499dc6444f4e9070581b..92dcacf6ea43b7e2a6f8c7c56582b886b50478e6 100644 (file)
@@ -26,6 +26,7 @@
     </disk>
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index c3a55cf8621a0feb57e61ecfd51dd75608ae4d38..e32fb6795a3d7307caea93fd609e9d768913cc8c 100644 (file)
@@ -25,6 +25,7 @@
     </disk>
     <controller type='ide' index='0'/>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index ffca2a9193c92b978f0b1152b2e9f6a1e2e6a508..a5fef3d2ef5b0ea996067c5d7f084be7727bcc49 100644 (file)
@@ -27,6 +27,7 @@
     </disk>
     <controller type='ide' index='0'/>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 28ec59fded396e4b950c7d5d328c1ce497d88d1f..97aa619d265cd33d76ee5aac29024c8f75512598 100644 (file)
@@ -27,6 +27,7 @@
     </disk>
     <controller type='ide' index='0'/>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 26de1b2f4de6175b6e00ff744905a86d519445e9..8fa7a05f0ca6d801e735d5b5114a63fb6ee752b7 100644 (file)
@@ -27,6 +27,7 @@
     </disk>
     <controller type='ide' index='0'/>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>
index 430d131fbf7e1a3ab2fdc8ff8dfeaec582a7828f..2254851984a8e068b92a88ed0b70729dd33c1a8f 100644 (file)
@@ -21,6 +21,7 @@
     </disk>
     <controller type='ide' index='0'/>
     <controller type='usb' index='0'/>
+    <controller type='pci' index='0' model='pci-root'/>
     <serial type='pty'>
       <target port='0'/>
     </serial>
index e7592e995a3d3470b978d25d72e0615669713a70..8119564513614e855c6b6346e9387f58cb7d4be4 100644 (file)
@@ -44,6 +44,7 @@
     <controller type='usb' index='2' model='ich9-uhci2'>
       <master startport='2'/>
     </controller>
+    <controller type='pci' index='0' model='pci-root'/>
     <memballoon model='virtio'/>
   </devices>
 </domain>