On Fri, Aug 27, 2021 at 01:53:23PM -0400, Jagannathan Raman wrote: > @@ -96,6 +102,28 @@ static void vfu_object_machine_done(Notifier *notifier, void *data) > strerror(errno)); > return; > } > + > + dev = qdev_find_recursive(sysbus_get_default(), o->devid); > + if (dev == NULL) { > + error_setg(&error_abort, "vfu: Device %s not found", o->devid); > + return; > + } > + > + if (!object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { > + error_setg(&error_abort, "vfu: %s not a PCI devices", o->devid); > + return; > + } > + > + o->pci_dev = PCI_DEVICE(dev); > + > + ret = vfu_pci_init(o->vfu_ctx, VFU_PCI_TYPE_CONVENTIONAL, > + PCI_HEADER_TYPE_NORMAL, 0); What is needed to support PCI Express?