From: Andrea Bolognani Date: Thu, 9 Feb 2023 17:15:08 +0000 (+0100) Subject: conf: Allow conventional PCI devices to be marked as integrated X-Git-Tag: v9.1.0-rc1~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3820a0ce41694eb8b8ae62cfdfd08eb06fb352d4;p=thirdparty%2Flibvirt.git conf: Allow conventional PCI devices to be marked as integrated Integrated PCI devices can be either PCIe (virtio-iommu) or conventional PCI (pvpanic-pci). Right now libvirt will refuse to assign an address on pcie.0 for the latter, but that's an undesirable limitation that we can easily remove. Signed-off-by: Andrea Bolognani Reviewed-by: Michal Privoznik --- diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c index 76f9c12ca6..b6534f502c 100644 --- a/src/conf/domain_addr.c +++ b/src/conf/domain_addr.c @@ -306,8 +306,11 @@ virDomainPCIAddressFlagsCompatible(virPCIDeviceAddress *addr, if (addr->bus == 0) { /* pcie-root doesn't usually allow endpoint devices to be * plugged directly into it, but for integrated devices - * that's exactly what we want */ - busFlags |= VIR_PCI_CONNECT_AUTOASSIGN; + * that's exactly what we want. It also refuses conventional + * PCI devices by default, but in the case of integrated + * devices both types are fine */ + busFlags |= VIR_PCI_CONNECT_TYPE_PCI_DEVICE | + VIR_PCI_CONNECT_AUTOASSIGN; } else { if (reportError) { virReportError(errType,