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 <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Andrea Bolognani 2023-02-09 18:15:08 +01:00
parent 092176e5ec
commit 3820a0ce41

View File

@ -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,