<value>i82801b11-bridge</value>
<!-- implementations of 'pcie-root-port' -->
<value>ioh3420</value>
+ <value>pcie-root-port</value>
<!-- implementations of 'pcie-switch-upstream-port' -->
<value>x3130-upstream</value>
<!-- implementations of 'pcie-switch-downstream-port' -->
VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_XIO3130_DOWNSTREAM,
VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_PXB,
VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_PXB_PCIE,
+ VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_PCIE_ROOT_PORT,
VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_LAST
} virDomainControllerPCIModelName;
"virtio-net.host_mtu",
"spice-rendernode",
"nvdimm",
+ "pcie-root-port",
);
{ "ivshmem-doorbell", QEMU_CAPS_DEVICE_IVSHMEM_DOORBELL },
{ "vhost-scsi", QEMU_CAPS_DEVICE_VHOST_SCSI },
{ "nvdimm", QEMU_CAPS_DEVICE_NVDIMM },
+ { "pcie-root-port", QEMU_CAPS_DEVICE_PCIE_ROOT_PORT },
};
static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBalloon[] = {
QEMU_CAPS_VIRTIO_NET_HOST_MTU, /* virtio-net-*.host_mtu */
QEMU_CAPS_SPICE_RENDERNODE, /* -spice rendernode */
QEMU_CAPS_DEVICE_NVDIMM, /* -device nvdimm */
+ QEMU_CAPS_DEVICE_PCIE_ROOT_PORT, /* -device pcie-root-port */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
def->opts.pciopts.modelName);
goto error;
}
- if (def->opts.pciopts.modelName
- != VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_IOH3420) {
+ if ((def->opts.pciopts.modelName !=
+ VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_IOH3420) &&
+ (def->opts.pciopts.modelName !=
+ VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_PCIE_ROOT_PORT)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("PCI controller model name '%s' "
"is not valid for a pcie-root-port"),
modelName);
goto error;
}
- if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_IOH3420)) {
+ if ((def->opts.pciopts.modelName ==
+ VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_IOH3420) &&
+ !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_IOH3420)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("the pcie-root-port (ioh3420) "
"controller is not supported in this QEMU binary"));
goto error;
}
+ if ((def->opts.pciopts.modelName ==
+ VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_PCIE_ROOT_PORT) &&
+ !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_PCIE_ROOT_PORT)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("the pcie-root-port (pcie-root-port) "
+ "controller is not supported in this QEMU binary"));
+ goto error;
+ }
virBufferAsprintf(&buf, "%s,port=0x%x,chassis=%d,id=%s",
modelName, def->opts.pciopts.port,