]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: aggregate multiple pcie-root-ports onto a single slot
authorLaine Stump <laine@laine.org>
Thu, 20 Oct 2016 19:46:01 +0000 (15:46 -0400)
committerLaine Stump <laine@laine.org>
Wed, 11 Jan 2017 09:45:57 +0000 (04:45 -0500)
Set the VIR_PCI_CONNECT_AGGREGATE_SLOT flag for pcie-root-ports so
that they will be assigned to all the functions on a slot.

Some qemu test case outputs had to be adjusted due to the
pcie-root-ports now being put on multiple functions.

21 files changed:
src/conf/domain_addr.c
tests/qemuxml2argvdata/qemuxml2argv-aarch64-virtio-pci-default.args
tests/qemuxml2argvdata/qemuxml2argv-pcie-root-port.args
tests/qemuxml2argvdata/qemuxml2argv-pcie-switch-upstream-port.args
tests/qemuxml2argvdata/qemuxml2argv-q35-default-devices-only.args
tests/qemuxml2argvdata/qemuxml2argv-q35-multifunction.args
tests/qemuxml2argvdata/qemuxml2argv-q35-pcie-autoadd.args
tests/qemuxml2argvdata/qemuxml2argv-q35-pcie.args
tests/qemuxml2argvdata/qemuxml2argv-q35-virt-manager-basic.args
tests/qemuxml2argvdata/qemuxml2argv-q35-virtio-pci.args
tests/qemuxml2argvtest.c
tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-virtio-pci-default.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-pcie-root-port.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-pcie-switch-upstream-port.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-q35-default-devices-only.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-q35-multifunction.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-q35-pcie-autoadd.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-q35-pcie.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-q35-virt-manager-basic.xml
tests/qemuxml2xmloutdata/qemuxml2xmlout-q35-virtio-pci.xml
tests/qemuxml2xmltest.c

index 3d669f672504ddfd712baae60e0f648cedb4d8c9..e0b19a238af0779d6e28d2588f4fb5cc38bac994 100644 (file)
@@ -63,7 +63,7 @@ virDomainPCIControllerModelToConnectType(virDomainControllerModelPCI model)
         return VIR_PCI_CONNECT_TYPE_DMI_TO_PCI_BRIDGE;
 
     case VIR_DOMAIN_CONTROLLER_MODEL_PCIE_ROOT_PORT:
-        return VIR_PCI_CONNECT_TYPE_PCIE_ROOT_PORT;
+        return VIR_PCI_CONNECT_TYPE_PCIE_ROOT_PORT | VIR_PCI_CONNECT_AGGREGATE_SLOT;
 
     case VIR_DOMAIN_CONTROLLER_MODEL_PCIE_SWITCH_UPSTREAM_PORT:
         return VIR_PCI_CONNECT_TYPE_PCIE_SWITCH_UPSTREAM_PORT;
index 080b02519ffe11a7a649b78199a710d55ae0c146..46ac51d506dd0d40410f057b4f9081685a32c94e 100644 (file)
@@ -21,12 +21,13 @@ QEMU_AUDIO_DRV=none \
 -initrd /aarch64.initrd \
 -append 'earlyprintk console=ttyAMA0,115200n8 rw root=/dev/vda rootwait' \
 -dtb /aarch64.dtb \
--device ioh3420,port=0x8,chassis=1,id=pci.1,bus=pcie.0,addr=0x1 \
--device ioh3420,port=0x10,chassis=2,id=pci.2,bus=pcie.0,addr=0x2 \
--device ioh3420,port=0x18,chassis=3,id=pci.3,bus=pcie.0,addr=0x3 \
--device ioh3420,port=0x20,chassis=4,id=pci.4,bus=pcie.0,addr=0x4 \
--device ioh3420,port=0x28,chassis=5,id=pci.5,bus=pcie.0,addr=0x5 \
--device ioh3420,port=0x30,chassis=6,id=pci.6,bus=pcie.0,addr=0x6 \
+-device ioh3420,port=0x8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,\
+addr=0x1 \
+-device ioh3420,port=0x9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \
+-device ioh3420,port=0xa,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 \
+-device ioh3420,port=0xb,chassis=4,id=pci.4,bus=pcie.0,addr=0x1.0x3 \
+-device ioh3420,port=0xc,chassis=5,id=pci.5,bus=pcie.0,addr=0x1.0x4 \
+-device ioh3420,port=0xd,chassis=6,id=pci.6,bus=pcie.0,addr=0x1.0x5 \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x0 \
 -drive file=/aarch64.raw,format=raw,if=none,id=drive-virtio-disk0 \
 -device virtio-blk-pci,bus=pci.3,addr=0x0,drive=drive-virtio-disk0,\
index 27d5164258d9d6ec4a06af42aa26b67ff76f9aff..9a71281b3c75a82a16aa8adb5e5b158e604161b1 100644 (file)
@@ -18,8 +18,9 @@ QEMU_AUDIO_DRV=none \
 -boot c \
 -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
 -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x0 \
--device ioh3420,port=0x10,chassis=3,id=pci.3,bus=pcie.0,addr=0x2 \
--device ioh3420,port=0x1a,chassis=40,id=pci.4,bus=pcie.0,addr=0x3 \
+-device ioh3420,port=0x10,chassis=3,id=pci.3,bus=pcie.0,multifunction=on,\
+addr=0x2 \
+-device ioh3420,port=0x1a,chassis=40,id=pci.4,bus=pcie.0,addr=0x2.0x1 \
 -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
 -device ide-drive,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0 \
 -device qxl-vga,id=video0,ram_size=67108864,vram_size=33554432,bus=pcie.0,\
index 93d16b8375a177607e62b36e2039426c28ace71c..10aedd582326d72f6025739d11a58e809748b21e 100644 (file)
@@ -18,8 +18,9 @@ QEMU_AUDIO_DRV=none \
 -boot c \
 -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
 -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x0 \
--device ioh3420,port=0x10,chassis=3,id=pci.3,bus=pcie.0,addr=0x2 \
--device ioh3420,port=0x18,chassis=4,id=pci.4,bus=pcie.0,addr=0x3 \
+-device ioh3420,port=0x10,chassis=3,id=pci.3,bus=pcie.0,multifunction=on,\
+addr=0x2 \
+-device ioh3420,port=0x11,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x1 \
 -device x3130-upstream,id=pci.5,bus=pci.3,addr=0x0 \
 -device x3130-upstream,id=pci.6,bus=pci.4,addr=0x0 \
 -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
index 9d13466f837aa00dd93c806d311e1b67fcb44b91..30fc9b708c21e3ec096725281e435d8b72c154ef 100644 (file)
@@ -16,8 +16,9 @@ QEMU_AUDIO_DRV=none \
 -monitor unix:/tmp/lib/domain--1-q35-test/monitor.sock,server,nowait \
 -no-acpi \
 -boot c \
--device ioh3420,port=0x8,chassis=1,id=pci.1,bus=pcie.0,addr=0x1 \
--device ioh3420,port=0x10,chassis=2,id=pci.2,bus=pcie.0,addr=0x2 \
--device ioh3420,port=0x18,chassis=3,id=pci.3,bus=pcie.0,addr=0x3 \
+-device ioh3420,port=0x8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,\
+addr=0x1 \
+-device ioh3420,port=0x9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \
+-device ioh3420,port=0xa,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 \
 -device nec-usb-xhci,id=usb,bus=pci.1,addr=0x0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x0
index 6c4e9b211ff4d9d33ec577187b31299d3122fc44..1b607448fb5771c673ef15166dc8287fbcdd5dbe 100644 (file)
@@ -27,16 +27,17 @@ addr=0x3.0x1 \
 -device ioh3420,port=0x20,chassis=6,id=pci.6,bus=pcie.0,multifunction=off,\
 addr=0x4 \
 -device ioh3420,port=0x21,chassis=7,id=pci.7,bus=pcie.0,addr=0x4.0x1 \
--device ioh3420,port=0x8,chassis=8,id=pci.8,bus=pcie.0,addr=0x1 \
--device ioh3420,port=0x28,chassis=9,id=pci.9,bus=pcie.0,addr=0x5 \
--device ioh3420,port=0x30,chassis=10,id=pci.10,bus=pcie.0,addr=0x6 \
--device ioh3420,port=0x38,chassis=11,id=pci.11,bus=pcie.0,addr=0x7 \
--device ioh3420,port=0x40,chassis=12,id=pci.12,bus=pcie.0,addr=0x8 \
--device ioh3420,port=0x48,chassis=13,id=pci.13,bus=pcie.0,addr=0x9 \
--device ioh3420,port=0x50,chassis=14,id=pci.14,bus=pcie.0,addr=0xa \
--device ioh3420,port=0x58,chassis=15,id=pci.15,bus=pcie.0,addr=0xb \
--device ioh3420,port=0x60,chassis=16,id=pci.16,bus=pcie.0,addr=0xc \
--device ioh3420,port=0x68,chassis=17,id=pci.17,bus=pcie.0,addr=0xd \
--device ioh3420,port=0x70,chassis=18,id=pci.18,bus=pcie.0,addr=0xe \
+-device ioh3420,port=0x8,chassis=8,id=pci.8,bus=pcie.0,multifunction=on,\
+addr=0x1 \
+-device ioh3420,port=0x9,chassis=9,id=pci.9,bus=pcie.0,addr=0x1.0x1 \
+-device ioh3420,port=0xa,chassis=10,id=pci.10,bus=pcie.0,addr=0x1.0x2 \
+-device ioh3420,port=0xb,chassis=11,id=pci.11,bus=pcie.0,addr=0x1.0x3 \
+-device ioh3420,port=0xc,chassis=12,id=pci.12,bus=pcie.0,addr=0x1.0x4 \
+-device ioh3420,port=0xd,chassis=13,id=pci.13,bus=pcie.0,addr=0x1.0x5 \
+-device ioh3420,port=0xe,chassis=14,id=pci.14,bus=pcie.0,addr=0x1.0x6 \
+-device ioh3420,port=0xf,chassis=15,id=pci.15,bus=pcie.0,addr=0x1.0x7 \
+-device ioh3420,port=0x13,chassis=16,id=pci.16,bus=pcie.0,addr=0x2.0x3 \
+-device ioh3420,port=0x14,chassis=17,id=pci.17,bus=pcie.0,addr=0x2.0x4 \
+-device ioh3420,port=0x15,chassis=18,id=pci.18,bus=pcie.0,addr=0x2.0x5 \
 -device nec-usb-xhci,id=usb,bus=pci.1,addr=0x0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x0
index ba26326e179984c46f778330d61e3818c1ae659e..f3d44c0d84808f19d9b8bcd0b38bfcfa788ef782 100644 (file)
@@ -16,20 +16,22 @@ QEMU_AUDIO_DRV=none \
 -monitor unix:/tmp/lib/domain--1-q35-test/monitor.sock,server,nowait \
 -no-acpi \
 -boot c \
--device ioh3420,port=0x10,chassis=1,id=pci.1,bus=pcie.0,addr=0x2 \
--device ioh3420,port=0x18,chassis=2,id=pci.2,bus=pcie.0,addr=0x3 \
--device ioh3420,port=0x20,chassis=3,id=pci.3,bus=pcie.0,addr=0x4 \
--device ioh3420,port=0x28,chassis=4,id=pci.4,bus=pcie.0,addr=0x5 \
--device ioh3420,port=0x30,chassis=5,id=pci.5,bus=pcie.0,addr=0x6 \
--device ioh3420,port=0x38,chassis=6,id=pci.6,bus=pcie.0,addr=0x7 \
--device ioh3420,port=0x40,chassis=7,id=pci.7,bus=pcie.0,addr=0x8 \
--device ioh3420,port=0x48,chassis=8,id=pci.8,bus=pcie.0,addr=0x9 \
--device ioh3420,port=0x50,chassis=9,id=pci.9,bus=pcie.0,addr=0xa \
--device ioh3420,port=0x58,chassis=10,id=pci.10,bus=pcie.0,addr=0xb \
--device ioh3420,port=0x60,chassis=11,id=pci.11,bus=pcie.0,addr=0xc \
--device ioh3420,port=0x68,chassis=12,id=pci.12,bus=pcie.0,addr=0xd \
--device ioh3420,port=0x70,chassis=13,id=pci.13,bus=pcie.0,addr=0xe \
--device ioh3420,port=0x78,chassis=14,id=pci.14,bus=pcie.0,addr=0xf \
+-device ioh3420,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,\
+addr=0x2 \
+-device ioh3420,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 \
+-device ioh3420,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 \
+-device ioh3420,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 \
+-device ioh3420,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 \
+-device ioh3420,port=0x15,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 \
+-device ioh3420,port=0x16,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x6 \
+-device ioh3420,port=0x17,chassis=8,id=pci.8,bus=pcie.0,addr=0x2.0x7 \
+-device ioh3420,port=0x18,chassis=9,id=pci.9,bus=pcie.0,multifunction=on,\
+addr=0x3 \
+-device ioh3420,port=0x19,chassis=10,id=pci.10,bus=pcie.0,addr=0x3.0x1 \
+-device ioh3420,port=0x1a,chassis=11,id=pci.11,bus=pcie.0,addr=0x3.0x2 \
+-device ioh3420,port=0x1b,chassis=12,id=pci.12,bus=pcie.0,addr=0x3.0x3 \
+-device ioh3420,port=0x1c,chassis=13,id=pci.13,bus=pcie.0,addr=0x3.0x4 \
+-device ioh3420,port=0x1d,chassis=14,id=pci.14,bus=pcie.0,addr=0x3.0x5 \
 -device nec-usb-xhci,id=usb,bus=pci.6,addr=0x0 \
 -device virtio-scsi-pci,id=scsi0,bus=pci.5,addr=0x0 \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.4,addr=0x0 \
index 27387499372a6474efbd4a8657652beeaf9d48e9..3b507f3e418f0b48a7f0cdb1dc7e23c5c5288023 100644 (file)
@@ -18,19 +18,21 @@ QEMU_AUDIO_DRV=none \
 -boot c \
 -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
 -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x0 \
--device ioh3420,port=0x10,chassis=3,id=pci.3,bus=pcie.0,addr=0x2 \
--device ioh3420,port=0x18,chassis=4,id=pci.4,bus=pcie.0,addr=0x3 \
--device ioh3420,port=0x20,chassis=5,id=pci.5,bus=pcie.0,addr=0x4 \
--device ioh3420,port=0x28,chassis=6,id=pci.6,bus=pcie.0,addr=0x5 \
--device ioh3420,port=0x30,chassis=7,id=pci.7,bus=pcie.0,addr=0x6 \
--device ioh3420,port=0x38,chassis=8,id=pci.8,bus=pcie.0,addr=0x7 \
--device ioh3420,port=0x40,chassis=9,id=pci.9,bus=pcie.0,addr=0x8 \
--device ioh3420,port=0x48,chassis=10,id=pci.10,bus=pcie.0,addr=0x9 \
--device ioh3420,port=0x50,chassis=11,id=pci.11,bus=pcie.0,addr=0xa \
--device ioh3420,port=0x58,chassis=12,id=pci.12,bus=pcie.0,addr=0xb \
--device ioh3420,port=0x60,chassis=13,id=pci.13,bus=pcie.0,addr=0xc \
--device ioh3420,port=0x68,chassis=14,id=pci.14,bus=pcie.0,addr=0xd \
--device ioh3420,port=0x70,chassis=15,id=pci.15,bus=pcie.0,addr=0xe \
+-device ioh3420,port=0x10,chassis=3,id=pci.3,bus=pcie.0,multifunction=on,\
+addr=0x2 \
+-device ioh3420,port=0x11,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x1 \
+-device ioh3420,port=0x12,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x2 \
+-device ioh3420,port=0x13,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x3 \
+-device ioh3420,port=0x14,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x4 \
+-device ioh3420,port=0x15,chassis=8,id=pci.8,bus=pcie.0,addr=0x2.0x5 \
+-device ioh3420,port=0x16,chassis=9,id=pci.9,bus=pcie.0,addr=0x2.0x6 \
+-device ioh3420,port=0x17,chassis=10,id=pci.10,bus=pcie.0,addr=0x2.0x7 \
+-device ioh3420,port=0x18,chassis=11,id=pci.11,bus=pcie.0,multifunction=on,\
+addr=0x3 \
+-device ioh3420,port=0x19,chassis=12,id=pci.12,bus=pcie.0,addr=0x3.0x1 \
+-device ioh3420,port=0x1a,chassis=13,id=pci.13,bus=pcie.0,addr=0x3.0x2 \
+-device ioh3420,port=0x1b,chassis=14,id=pci.14,bus=pcie.0,addr=0x3.0x3 \
+-device ioh3420,port=0x1c,chassis=15,id=pci.15,bus=pcie.0,addr=0x3.0x4 \
 -device nec-usb-xhci,id=usb,bus=pci.8,addr=0x0 \
 -device virtio-scsi-pci,id=scsi0,bus=pci.7,addr=0x0 \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.6,addr=0x0 \
index 60af251461136a4f47b02ffd90e157aa5b0368fa..e139e52375fc10631493a111bf78f6311c1fe8a6 100644 (file)
@@ -18,12 +18,13 @@ QEMU_AUDIO_DRV=spice \
 -global ICH9-LPC.disable_s3=1 \
 -global ICH9-LPC.disable_s4=1 \
 -boot c \
--device ioh3420,port=0x10,chassis=1,id=pci.1,bus=pcie.0,addr=0x2 \
--device ioh3420,port=0x18,chassis=2,id=pci.2,bus=pcie.0,addr=0x3 \
--device ioh3420,port=0x20,chassis=3,id=pci.3,bus=pcie.0,addr=0x4 \
--device ioh3420,port=0x28,chassis=4,id=pci.4,bus=pcie.0,addr=0x5 \
--device ioh3420,port=0x30,chassis=5,id=pci.5,bus=pcie.0,addr=0x6 \
--device ioh3420,port=0x38,chassis=6,id=pci.6,bus=pcie.0,addr=0x7 \
+-device ioh3420,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,\
+addr=0x2 \
+-device ioh3420,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 \
+-device ioh3420,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 \
+-device ioh3420,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 \
+-device ioh3420,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 \
+-device ioh3420,port=0x15,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 \
 -device nec-usb-xhci,id=usb,bus=pci.2,addr=0x0 \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.3,addr=0x0 \
 -drive file=/var/lib/libvirt/images/basic.qcow2,format=qcow2,if=none,\
index cada05e53d006a9f1d9d86a411248602fab073c4..a1025dc930a139a791ee4ac518eb28f9a8fb8551 100644 (file)
@@ -18,19 +18,21 @@ QEMU_AUDIO_DRV=none \
 -boot c \
 -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
 -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x0 \
--device ioh3420,port=0x10,chassis=3,id=pci.3,bus=pcie.0,addr=0x2 \
--device ioh3420,port=0x18,chassis=4,id=pci.4,bus=pcie.0,addr=0x3 \
--device ioh3420,port=0x20,chassis=5,id=pci.5,bus=pcie.0,addr=0x4 \
--device ioh3420,port=0x28,chassis=6,id=pci.6,bus=pcie.0,addr=0x5 \
--device ioh3420,port=0x30,chassis=7,id=pci.7,bus=pcie.0,addr=0x6 \
--device ioh3420,port=0x38,chassis=8,id=pci.8,bus=pcie.0,addr=0x7 \
--device ioh3420,port=0x40,chassis=9,id=pci.9,bus=pcie.0,addr=0x8 \
--device ioh3420,port=0x48,chassis=10,id=pci.10,bus=pcie.0,addr=0x9 \
--device ioh3420,port=0x50,chassis=11,id=pci.11,bus=pcie.0,addr=0xa \
--device ioh3420,port=0x58,chassis=12,id=pci.12,bus=pcie.0,addr=0xb \
--device ioh3420,port=0x60,chassis=13,id=pci.13,bus=pcie.0,addr=0xc \
--device ioh3420,port=0x68,chassis=14,id=pci.14,bus=pcie.0,addr=0xd \
--device ioh3420,port=0x70,chassis=15,id=pci.15,bus=pcie.0,addr=0xe \
+-device ioh3420,port=0x10,chassis=3,id=pci.3,bus=pcie.0,multifunction=on,\
+addr=0x2 \
+-device ioh3420,port=0x11,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x1 \
+-device ioh3420,port=0x12,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x2 \
+-device ioh3420,port=0x13,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x3 \
+-device ioh3420,port=0x14,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x4 \
+-device ioh3420,port=0x15,chassis=8,id=pci.8,bus=pcie.0,addr=0x2.0x5 \
+-device ioh3420,port=0x16,chassis=9,id=pci.9,bus=pcie.0,addr=0x2.0x6 \
+-device ioh3420,port=0x17,chassis=10,id=pci.10,bus=pcie.0,addr=0x2.0x7 \
+-device ioh3420,port=0x18,chassis=11,id=pci.11,bus=pcie.0,multifunction=on,\
+addr=0x3 \
+-device ioh3420,port=0x19,chassis=12,id=pci.12,bus=pcie.0,addr=0x3.0x1 \
+-device ioh3420,port=0x1a,chassis=13,id=pci.13,bus=pcie.0,addr=0x3.0x2 \
+-device ioh3420,port=0x1b,chassis=14,id=pci.14,bus=pcie.0,addr=0x3.0x3 \
+-device ioh3420,port=0x1c,chassis=15,id=pci.15,bus=pcie.0,addr=0x3.0x4 \
 -device nec-usb-xhci,id=usb,bus=pci.4,addr=0x0 \
 -device virtio-scsi-pci,id=scsi0,bus=pci.2,addr=0x4 \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x3 \
index c965e80dd5d1d87c3ba918842523e16daaca31d9..d0b0cec7e3aca706d93d841a8be75794bab159f0 100644 (file)
@@ -2000,6 +2000,7 @@ mymain(void)
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_IOH3420,
             QEMU_CAPS_ICH9_AHCI,
+            QEMU_CAPS_PCI_MULTIFUNCTION,
             QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
             QEMU_CAPS_DEVICE_QXL);
     DO_TEST("autoindex",
@@ -2043,6 +2044,7 @@ mymain(void)
             QEMU_CAPS_DEVICE_IOH3420,
             QEMU_CAPS_DEVICE_X3130_UPSTREAM,
             QEMU_CAPS_ICH9_AHCI,
+            QEMU_CAPS_PCI_MULTIFUNCTION,
             QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
             QEMU_CAPS_DEVICE_QXL);
     DO_TEST("pcie-switch-downstream-port",
@@ -2176,6 +2178,7 @@ mymain(void)
             QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM,
             QEMU_CAPS_OBJECT_GPEX, QEMU_CAPS_DEVICE_PCI_BRIDGE,
+            QEMU_CAPS_PCI_MULTIFUNCTION,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_IOH3420);
     DO_TEST("aarch64-virt-2.6-virtio-pci-default",
@@ -2183,6 +2186,7 @@ mymain(void)
             QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM,
             QEMU_CAPS_OBJECT_GPEX, QEMU_CAPS_DEVICE_PCI_BRIDGE,
+            QEMU_CAPS_PCI_MULTIFUNCTION,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_IOH3420);
     /* Example of using virtio-pci with no explicit PCI controller
@@ -2192,6 +2196,7 @@ mymain(void)
             QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM,
             QEMU_CAPS_OBJECT_GPEX, QEMU_CAPS_DEVICE_PCI_BRIDGE,
+            QEMU_CAPS_PCI_MULTIFUNCTION,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_IOH3420,
             QEMU_CAPS_VIRTIO_SCSI);
index a568f11f16f84645bbda4fbfe4323d72a207d819..f7fbdc7a9ba6d49e75d42fce5be04812e3b04143 100644 (file)
     <controller type='pci' index='1' model='pcie-root-port'>
       <model name='ioh3420'/>
       <target chassis='1' port='0x8'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
     </controller>
     <controller type='pci' index='2' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='2' port='0x10'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+      <target chassis='2' port='0x9'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
     </controller>
     <controller type='pci' index='3' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='3' port='0x18'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+      <target chassis='3' port='0xa'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
     </controller>
     <controller type='pci' index='4' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='4' port='0x20'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
+      <target chassis='4' port='0xb'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
     </controller>
     <controller type='pci' index='5' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='5' port='0x28'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
+      <target chassis='5' port='0xc'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
     </controller>
     <controller type='pci' index='6' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='6' port='0x30'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
+      <target chassis='6' port='0xd'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
     </controller>
     <interface type='user'>
       <mac address='52:54:00:09:a4:37'/>
index a4ff820d940e3741f45a87b64b73318e8a0bf3cc..5c1ebef59bebbe0b48f4e1ef365788acde9c2d40 100644 (file)
     <controller type='pci' index='3' model='pcie-root-port'>
       <model name='ioh3420'/>
       <target chassis='3' port='0x10'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
     </controller>
     <controller type='pci' index='4' model='pcie-root-port'>
       <model name='ioh3420'/>
       <target chassis='40' port='0x1a'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
     </controller>
     <controller type='sata' index='0'>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
index 53e10d0c70cc05959e544739b36cd9b7711dcdc8..f35ebf7a4df798a42d5a09d58f50ddd210818a9b 100644 (file)
     <controller type='pci' index='3' model='pcie-root-port'>
       <model name='ioh3420'/>
       <target chassis='3' port='0x10'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
     </controller>
     <controller type='pci' index='4' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='4' port='0x18'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+      <target chassis='4' port='0x11'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
     </controller>
     <controller type='pci' index='5' model='pcie-switch-upstream-port'>
       <model name='x3130-upstream'/>
index e64b80cd889f35c4481aa1fef42598159527a0ec..895131a81c5576186623e2d3d49681ead941b880 100644 (file)
     <controller type='pci' index='1' model='pcie-root-port'>
       <model name='ioh3420'/>
       <target chassis='1' port='0x8'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
     </controller>
     <controller type='pci' index='2' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='2' port='0x10'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+      <target chassis='2' port='0x9'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
     </controller>
     <controller type='pci' index='3' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='3' port='0x18'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+      <target chassis='3' port='0xa'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
     </controller>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
index 7da78a55ae378f595b5cdc7bec401224a2ef51a0..14595beaa3f2334a377a97a2a65c7d42abfbbc51 100644 (file)
     <controller type='pci' index='8' model='pcie-root-port'>
       <model name='ioh3420'/>
       <target chassis='8' port='0x8'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
     </controller>
     <controller type='pci' index='9' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='9' port='0x28'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
+      <target chassis='9' port='0x9'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
     </controller>
     <controller type='pci' index='10' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='10' port='0x30'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
+      <target chassis='10' port='0xa'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
     </controller>
     <controller type='pci' index='11' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='11' port='0x38'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
+      <target chassis='11' port='0xb'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
     </controller>
     <controller type='pci' index='12' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='12' port='0x40'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+      <target chassis='12' port='0xc'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
     </controller>
     <controller type='pci' index='13' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='13' port='0x48'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
+      <target chassis='13' port='0xd'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
     </controller>
     <controller type='pci' index='14' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='14' port='0x50'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
+      <target chassis='14' port='0xe'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/>
     </controller>
     <controller type='pci' index='15' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='15' port='0x58'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
+      <target chassis='15' port='0xf'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/>
     </controller>
     <controller type='pci' index='16' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='16' port='0x60'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
+      <target chassis='16' port='0x13'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
     </controller>
     <controller type='pci' index='17' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='17' port='0x68'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0d' function='0x0'/>
+      <target chassis='17' port='0x14'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
     </controller>
     <controller type='pci' index='18' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='18' port='0x70'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0e' function='0x0'/>
+      <target chassis='18' port='0x15'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
     </controller>
     <controller type='usb' index='0' model='nec-xhci'>
       <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
index 3742e14f7d520927834c0d9ff71dffc250e9707b..7a8797334184c59494beee1f3e294b0f78df9cbf 100644 (file)
     <controller type='pci' index='1' model='pcie-root-port'>
       <model name='ioh3420'/>
       <target chassis='1' port='0x10'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
     </controller>
     <controller type='pci' index='2' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='2' port='0x18'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+      <target chassis='2' port='0x11'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
     </controller>
     <controller type='pci' index='3' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='3' port='0x20'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
+      <target chassis='3' port='0x12'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
     </controller>
     <controller type='pci' index='4' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='4' port='0x28'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
+      <target chassis='4' port='0x13'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
     </controller>
     <controller type='pci' index='5' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='5' port='0x30'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
+      <target chassis='5' port='0x14'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
     </controller>
     <controller type='pci' index='6' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='6' port='0x38'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
+      <target chassis='6' port='0x15'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
     </controller>
     <controller type='pci' index='7' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='7' port='0x40'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+      <target chassis='7' port='0x16'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
     </controller>
     <controller type='pci' index='8' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='8' port='0x48'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
+      <target chassis='8' port='0x17'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/>
     </controller>
     <controller type='pci' index='9' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='9' port='0x50'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
+      <target chassis='9' port='0x18'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/>
     </controller>
     <controller type='pci' index='10' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='10' port='0x58'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
+      <target chassis='10' port='0x19'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/>
     </controller>
     <controller type='pci' index='11' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='11' port='0x60'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
+      <target chassis='11' port='0x1a'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/>
     </controller>
     <controller type='pci' index='12' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='12' port='0x68'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0d' function='0x0'/>
+      <target chassis='12' port='0x1b'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/>
     </controller>
     <controller type='pci' index='13' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='13' port='0x70'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0e' function='0x0'/>
+      <target chassis='13' port='0x1c'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/>
     </controller>
     <controller type='pci' index='14' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='14' port='0x78'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0f' function='0x0'/>
+      <target chassis='14' port='0x1d'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x5'/>
     </controller>
     <filesystem type='mount' accessmode='passthrough'>
       <source dir='/export/to/guest'/>
index 8e727fb51963654b51f399cfd1afa64fabab83f5..5d17e2d93327ccf0da5aa9121355faf0ff771ef7 100644 (file)
     <controller type='pci' index='3' model='pcie-root-port'>
       <model name='ioh3420'/>
       <target chassis='3' port='0x10'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
     </controller>
     <controller type='pci' index='4' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='4' port='0x18'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+      <target chassis='4' port='0x11'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
     </controller>
     <controller type='pci' index='5' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='5' port='0x20'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
+      <target chassis='5' port='0x12'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
     </controller>
     <controller type='pci' index='6' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='6' port='0x28'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
+      <target chassis='6' port='0x13'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
     </controller>
     <controller type='pci' index='7' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='7' port='0x30'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
+      <target chassis='7' port='0x14'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
     </controller>
     <controller type='pci' index='8' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='8' port='0x38'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
+      <target chassis='8' port='0x15'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
     </controller>
     <controller type='pci' index='9' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='9' port='0x40'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+      <target chassis='9' port='0x16'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
     </controller>
     <controller type='pci' index='10' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='10' port='0x48'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
+      <target chassis='10' port='0x17'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/>
     </controller>
     <controller type='pci' index='11' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='11' port='0x50'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
+      <target chassis='11' port='0x18'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/>
     </controller>
     <controller type='pci' index='12' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='12' port='0x58'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
+      <target chassis='12' port='0x19'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/>
     </controller>
     <controller type='pci' index='13' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='13' port='0x60'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
+      <target chassis='13' port='0x1a'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/>
     </controller>
     <controller type='pci' index='14' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='14' port='0x68'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0d' function='0x0'/>
+      <target chassis='14' port='0x1b'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/>
     </controller>
     <controller type='pci' index='15' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='15' port='0x70'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0e' function='0x0'/>
+      <target chassis='15' port='0x1c'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/>
     </controller>
     <controller type='virtio-serial' index='0'>
       <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
index 236d95511258961c25c38248eef9d15dae33cb1c..58c10cc1feeab984a840e92f19cfbceb3348edd2 100644 (file)
     <controller type='pci' index='1' model='pcie-root-port'>
       <model name='ioh3420'/>
       <target chassis='1' port='0x10'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
     </controller>
     <controller type='pci' index='2' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='2' port='0x18'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+      <target chassis='2' port='0x11'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
     </controller>
     <controller type='pci' index='3' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='3' port='0x20'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
+      <target chassis='3' port='0x12'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
     </controller>
     <controller type='pci' index='4' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='4' port='0x28'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
+      <target chassis='4' port='0x13'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
     </controller>
     <controller type='pci' index='5' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='5' port='0x30'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
+      <target chassis='5' port='0x14'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
     </controller>
     <controller type='pci' index='6' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='6' port='0x38'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
+      <target chassis='6' port='0x15'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
     </controller>
     <interface type='user'>
       <mac address='52:54:00:9a:e6:c6'/>
index c4bd3570c7f223551ae2bc2b43033b8bc192012a..f1695f0b919a778eb508c86a25964ef82c28f0b5 100644 (file)
     <controller type='pci' index='3' model='pcie-root-port'>
       <model name='ioh3420'/>
       <target chassis='3' port='0x10'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
     </controller>
     <controller type='pci' index='4' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='4' port='0x18'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+      <target chassis='4' port='0x11'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
     </controller>
     <controller type='pci' index='5' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='5' port='0x20'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
+      <target chassis='5' port='0x12'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
     </controller>
     <controller type='pci' index='6' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='6' port='0x28'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
+      <target chassis='6' port='0x13'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
     </controller>
     <controller type='pci' index='7' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='7' port='0x30'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
+      <target chassis='7' port='0x14'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
     </controller>
     <controller type='pci' index='8' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='8' port='0x38'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
+      <target chassis='8' port='0x15'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
     </controller>
     <controller type='pci' index='9' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='9' port='0x40'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
+      <target chassis='9' port='0x16'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
     </controller>
     <controller type='pci' index='10' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='10' port='0x48'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
+      <target chassis='10' port='0x17'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/>
     </controller>
     <controller type='pci' index='11' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='11' port='0x50'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
+      <target chassis='11' port='0x18'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/>
     </controller>
     <controller type='pci' index='12' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='12' port='0x58'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
+      <target chassis='12' port='0x19'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/>
     </controller>
     <controller type='pci' index='13' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='13' port='0x60'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
+      <target chassis='13' port='0x1a'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/>
     </controller>
     <controller type='pci' index='14' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='14' port='0x68'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0d' function='0x0'/>
+      <target chassis='14' port='0x1b'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/>
     </controller>
     <controller type='pci' index='15' model='pcie-root-port'>
       <model name='ioh3420'/>
-      <target chassis='15' port='0x70'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x0e' function='0x0'/>
+      <target chassis='15' port='0x1c'/>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/>
     </controller>
     <controller type='virtio-serial' index='0'>
       <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
index 50b4500f8744dc7e4894865346e21e5dbcb31a66..5040b7a819413274ff44abaa293c873acd499b7f 100644 (file)
@@ -850,11 +850,13 @@ mymain(void)
     DO_TEST("pcie-root-port",
             QEMU_CAPS_DEVICE_PCI_BRIDGE, QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_IOH3420, QEMU_CAPS_ICH9_AHCI,
+            QEMU_CAPS_PCI_MULTIFUNCTION,
             QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
             QEMU_CAPS_DEVICE_QXL);
     DO_TEST("pcie-switch-upstream-port",
             QEMU_CAPS_DEVICE_PCI_BRIDGE, QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_IOH3420, QEMU_CAPS_ICH9_AHCI,
+            QEMU_CAPS_PCI_MULTIFUNCTION,
             QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
             QEMU_CAPS_DEVICE_QXL);
     DO_TEST("pcie-switch-downstream-port",
@@ -988,6 +990,7 @@ mymain(void)
             QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM,
             QEMU_CAPS_OBJECT_GPEX, QEMU_CAPS_DEVICE_PCI_BRIDGE,
+            QEMU_CAPS_PCI_MULTIFUNCTION,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_IOH3420,
             QEMU_CAPS_VIRTIO_SCSI);
@@ -996,6 +999,7 @@ mymain(void)
             QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM,
             QEMU_CAPS_OBJECT_GPEX, QEMU_CAPS_DEVICE_PCI_BRIDGE,
+            QEMU_CAPS_PCI_MULTIFUNCTION,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_IOH3420,
             QEMU_CAPS_VIRTIO_SCSI);