On Sun, 18 Jul 2021 23:27:51 -0700 Elena Ufimtseva <elena.ufimts...@oracle.com> wrote: > @@ -3442,6 +3448,22 @@ static void vfio_user_pci_realize(PCIDevice *pdev, > Error **errp) > /* QEMU can also add or extend BARs */ > memset(vdev->emulated_config_bits + PCI_BASE_ADDRESS_0, 0xff, 6 * 4); > > + /* > + * Local QEMU overrides aren't allowed > + * They must be done in the device process > + */ > + if (pdev->cap_present & QEMU_PCI_CAP_MULTIFUNCTION) { > + error_setg(errp, "Multi-function must be specified by device > process"); > + goto error; > + } > + if (pdev->romfile) { > + error_setg(errp, "Romfile must be specified by device process"); > + goto error; > + }
For what reason? PCI functions can operate completely independently, there could be different servers for different functions, a QEMU user may wish to apply a different option ROM image than provided by the server. This all creates unnecessary incompatibilities. Thanks, Alex