mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 04:25:18 +00:00
qemu: don't be as insistent about adding dmi-to-pci-bridge or pci-bridge
Previously there was no way to have a Q35 domain that didn't have these two controllers. This patch skips their creation as long as there are some other kinds of pci controllers at index 1 and 2 (e.g. some pcie-root-port controllers). I'm hoping that soon we won't add them at all, plugging all devices into auto-added pcie-*-port ports instead, but in the meantime this makes it easier to experiment with alternative bus hierarchies.
This commit is contained in:
parent
e9df53052e
commit
97b215a450
@ -1951,14 +1951,18 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def,
|
||||
VIR_DOMAIN_CONTROLLER_MODEL_PCIE_ROOT)) {
|
||||
goto cleanup;
|
||||
}
|
||||
if (virDomainDefMaybeAddController(
|
||||
def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 1,
|
||||
VIR_DOMAIN_CONTROLLER_MODEL_DMI_TO_PCI_BRIDGE) < 0 ||
|
||||
virDomainDefMaybeAddController(
|
||||
def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 2,
|
||||
VIR_DOMAIN_CONTROLLER_MODEL_PCI_BRIDGE) < 0) {
|
||||
/* add a dmi-to-pci-bridge and a pci-bridge if there are no pci controllers
|
||||
* other than the pcie-root. This is so that there will be hot-pluggable
|
||||
* PCI slots available
|
||||
*/
|
||||
if (virDomainControllerFind(def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 1) < 0 &&
|
||||
!virDomainDefAddController(def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 1,
|
||||
VIR_DOMAIN_CONTROLLER_MODEL_DMI_TO_PCI_BRIDGE))
|
||||
goto cleanup;
|
||||
if (virDomainControllerFind(def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 2) < 0 &&
|
||||
!virDomainDefAddController(def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 2,
|
||||
VIR_DOMAIN_CONTROLLER_MODEL_PCI_BRIDGE))
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
if (addDefaultMemballoon && !def->memballoon) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user