mirror of https://gitee.com/openkylin/libvirt.git
qemu: don't force-add a dmi-to-pci-bridge just on principle
Now the a dmi-to-pci-bridge is automatically added just as it's needed (when a pci-bridge is being added), we no longer have any need to force-add one to every single Q35 domain.
This commit is contained in:
parent
815b51d97a
commit
807232203a
|
@ -2298,18 +2298,6 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def,
|
|||
VIR_DOMAIN_CONTROLLER_MODEL_PCIE_ROOT)) {
|
||||
goto cleanup;
|
||||
}
|
||||
/* Add a dmi-to-pci-bridge bridge if there are no PCI controllers
|
||||
* other than the pcie-root. This is so that there will be hot-pluggable
|
||||
* PCI slots available.
|
||||
*
|
||||
* We skip this step for aarch64 mach-virt guests, where we want to
|
||||
* be able to have a pure virtio-mmio topology
|
||||
*/
|
||||
if (virDomainControllerFind(def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 1) < 0 &&
|
||||
!qemuDomainMachineIsVirt(def) &&
|
||||
!virDomainDefAddController(def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 1,
|
||||
VIR_DOMAIN_CONTROLLER_MODEL_DMI_TO_PCI_BRIDGE))
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (addDefaultMemballoon && !def->memballoon) {
|
||||
|
|
|
@ -15,5 +15,4 @@ QEMU_AUDIO_DRV=none \
|
|||
-nodefaults \
|
||||
-monitor unix:/tmp/lib/domain--1-q35-test/monitor.sock,server,nowait \
|
||||
-no-acpi \
|
||||
-boot c \
|
||||
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e
|
||||
-boot c
|
||||
|
|
|
@ -16,42 +16,41 @@ QEMU_AUDIO_DRV=none \
|
|||
-monitor unix:/tmp/lib/domain--1-q35-test/monitor.sock,server,nowait \
|
||||
-no-acpi \
|
||||
-boot c \
|
||||
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
|
||||
-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=0x38,chassis=7,id=pci.7,bus=pcie.0,addr=0x7 \
|
||||
-device ioh3420,port=0x40,chassis=8,id=pci.8,bus=pcie.0,addr=0x8 \
|
||||
-device ioh3420,port=0x48,chassis=9,id=pci.9,bus=pcie.0,addr=0x9 \
|
||||
-device ioh3420,port=0x50,chassis=10,id=pci.10,bus=pcie.0,addr=0xa \
|
||||
-device ioh3420,port=0x58,chassis=11,id=pci.11,bus=pcie.0,addr=0xb \
|
||||
-device ioh3420,port=0x60,chassis=12,id=pci.12,bus=pcie.0,addr=0xc \
|
||||
-device ioh3420,port=0x68,chassis=13,id=pci.13,bus=pcie.0,addr=0xd \
|
||||
-device ioh3420,port=0x70,chassis=14,id=pci.14,bus=pcie.0,addr=0xe \
|
||||
-device nec-usb-xhci,id=usb,bus=pci.7,addr=0x0 \
|
||||
-device virtio-scsi-pci,id=scsi0,bus=pci.6,addr=0x0 \
|
||||
-device virtio-serial-pci,id=virtio-serial0,bus=pci.5,addr=0x0 \
|
||||
-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 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 \
|
||||
-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk1 \
|
||||
-device virtio-blk-pci,bus=pci.8,addr=0x0,drive=drive-virtio-disk1,\
|
||||
-device virtio-blk-pci,bus=pci.7,addr=0x0,drive=drive-virtio-disk1,\
|
||||
id=virtio-disk1 \
|
||||
-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
|
||||
-device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=/import/from/host,\
|
||||
bus=pci.2,addr=0x0 \
|
||||
bus=pci.1,addr=0x0 \
|
||||
-netdev user,id=hostnet0 \
|
||||
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.3,\
|
||||
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.2,\
|
||||
addr=0x0 \
|
||||
-netdev user,id=hostnet1 \
|
||||
-device e1000e,netdev=hostnet1,id=net1,mac=00:11:22:33:44:66,bus=pci.4,\
|
||||
-device e1000e,netdev=hostnet1,id=net1,mac=00:11:22:33:44:66,bus=pci.3,\
|
||||
addr=0x0 \
|
||||
-device virtio-input-host-pci,id=input0,evdev=/dev/input/event1234,bus=pci.11,\
|
||||
-device virtio-input-host-pci,id=input0,evdev=/dev/input/event1234,bus=pci.10,\
|
||||
addr=0x0 \
|
||||
-device virtio-mouse-pci,id=input1,bus=pci.12,addr=0x0 \
|
||||
-device virtio-keyboard-pci,id=input2,bus=pci.13,addr=0x0 \
|
||||
-device virtio-tablet-pci,id=input3,bus=pci.14,addr=0x0 \
|
||||
-device virtio-mouse-pci,id=input1,bus=pci.11,addr=0x0 \
|
||||
-device virtio-keyboard-pci,id=input2,bus=pci.12,addr=0x0 \
|
||||
-device virtio-tablet-pci,id=input3,bus=pci.13,addr=0x0 \
|
||||
-device virtio-gpu-pci,id=video0,bus=pcie.0,addr=0x1 \
|
||||
-device virtio-balloon-pci,id=balloon0,bus=pci.9,addr=0x0 \
|
||||
-device virtio-balloon-pci,id=balloon0,bus=pci.8,addr=0x0 \
|
||||
-object rng-random,id=objrng0,filename=/dev/urandom \
|
||||
-device virtio-rng-pci,rng=objrng0,id=rng0,max-bytes=123,period=1234,\
|
||||
bus=pci.10,addr=0x0
|
||||
-device virtio-rng-pci,rng=objrng0,id=rng0,max-bytes=123,period=1234,bus=pci.9,\
|
||||
addr=0x0
|
||||
|
|
|
@ -18,10 +18,6 @@
|
|||
<controller type='sata' index='0'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
|
||||
</controller>
|
||||
<controller type='pci' index='1' model='dmi-to-pci-bridge'>
|
||||
<model name='i82801b11-bridge'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
|
||||
</controller>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<input type='keyboard' bus='ps2'/>
|
||||
<memballoon model='none'/>
|
||||
|
|
|
@ -17,117 +17,113 @@
|
|||
<disk type='block' device='disk'>
|
||||
<source dev='/dev/HostVG/QEMUGuest1'/>
|
||||
<target dev='vdb' bus='virtio'/>
|
||||
<address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
|
||||
</disk>
|
||||
<controller type='virtio-serial' index='0'>
|
||||
<address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='scsi' index='0' model='virtio-scsi'>
|
||||
<address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='usb' index='0' model='nec-xhci'>
|
||||
<address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='sata' index='0'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
|
||||
</controller>
|
||||
<controller type='pci' index='0' model='pcie-root'/>
|
||||
<controller type='pci' index='1' model='dmi-to-pci-bridge'>
|
||||
<model name='i82801b11-bridge'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
|
||||
<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'/>
|
||||
</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='0x18'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
|
||||
</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='0x20'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
|
||||
</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='0x28'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
|
||||
</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='0x30'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
|
||||
</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='0x38'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='7' model='pcie-root-port'>
|
||||
<model name='ioh3420'/>
|
||||
<target chassis='7' port='0x38'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
|
||||
<target chassis='7' port='0x40'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='8' model='pcie-root-port'>
|
||||
<model name='ioh3420'/>
|
||||
<target chassis='8' port='0x40'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
|
||||
<target chassis='8' port='0x48'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='9' model='pcie-root-port'>
|
||||
<model name='ioh3420'/>
|
||||
<target chassis='9' port='0x48'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
|
||||
<target chassis='9' port='0x50'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='10' model='pcie-root-port'>
|
||||
<model name='ioh3420'/>
|
||||
<target chassis='10' port='0x50'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
|
||||
<target chassis='10' port='0x58'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='11' model='pcie-root-port'>
|
||||
<model name='ioh3420'/>
|
||||
<target chassis='11' port='0x58'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
|
||||
<target chassis='11' port='0x60'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='12' model='pcie-root-port'>
|
||||
<model name='ioh3420'/>
|
||||
<target chassis='12' port='0x60'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
|
||||
<target chassis='12' port='0x68'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x0d' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='13' model='pcie-root-port'>
|
||||
<model name='ioh3420'/>
|
||||
<target chassis='13' port='0x68'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x0d' function='0x0'/>
|
||||
</controller>
|
||||
<controller type='pci' index='14' model='pcie-root-port'>
|
||||
<model name='ioh3420'/>
|
||||
<target chassis='14' port='0x70'/>
|
||||
<target chassis='13' port='0x70'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x0e' function='0x0'/>
|
||||
</controller>
|
||||
<filesystem type='mount' accessmode='passthrough'>
|
||||
<source dir='/export/to/guest'/>
|
||||
<target dir='/import/from/host'/>
|
||||
<address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
|
||||
</filesystem>
|
||||
<interface type='user'>
|
||||
<mac address='00:11:22:33:44:55'/>
|
||||
<model type='virtio'/>
|
||||
<address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
|
||||
</interface>
|
||||
<interface type='user'>
|
||||
<mac address='00:11:22:33:44:66'/>
|
||||
<model type='e1000e'/>
|
||||
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
|
||||
</interface>
|
||||
<input type='passthrough' bus='virtio'>
|
||||
<source evdev='/dev/input/event1234'/>
|
||||
<address type='pci' domain='0x0000' bus='0x0b' slot='0x00' function='0x0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
|
||||
</input>
|
||||
<input type='mouse' bus='virtio'>
|
||||
<address type='pci' domain='0x0000' bus='0x0c' slot='0x00' function='0x0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x0b' slot='0x00' function='0x0'/>
|
||||
</input>
|
||||
<input type='keyboard' bus='virtio'>
|
||||
<address type='pci' domain='0x0000' bus='0x0d' slot='0x00' function='0x0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x0c' slot='0x00' function='0x0'/>
|
||||
</input>
|
||||
<input type='tablet' bus='virtio'>
|
||||
<address type='pci' domain='0x0000' bus='0x0e' slot='0x00' function='0x0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x0d' slot='0x00' function='0x0'/>
|
||||
</input>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<input type='keyboard' bus='ps2'/>
|
||||
|
@ -136,12 +132,12 @@
|
|||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
|
||||
</video>
|
||||
<memballoon model='virtio'>
|
||||
<address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
|
||||
</memballoon>
|
||||
<rng model='virtio'>
|
||||
<rate bytes='123' period='1234'/>
|
||||
<backend model='random'>/dev/urandom</backend>
|
||||
<address type='pci' domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
|
||||
<address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
|
||||
</rng>
|
||||
</devices>
|
||||
</domain>
|
||||
|
|
Loading…
Reference in New Issue