[libvirt] [PATCH 4/4] qemu: don't be as insistent about adding dmi-to-pci-bridge or pci-bridge
Cole Robinson
crobinso at redhat.com
Sat Apr 23 16:46:26 UTC 2016
On 04/21/2016 02:48 PM, Laine Stump wrote:
> 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.
> ---
> src/qemu/qemu_domain.c | 18 +++++++++++-------
> 1 file changed, 11 insertions(+), 7 deletions(-)
>
> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> index 86b7d13..0b342e2 100644
> --- a/src/qemu/qemu_domain.c
> +++ b/src/qemu/qemu_domain.c
> @@ -1581,14 +1581,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) {
>
Sounds like another qemuxml2xml test case candidate
- Cole
More information about the libvir-list
mailing list