On 08/12/2014 04:41 AM, David Gibson wrote: > On Sat, Aug 09, 2014 at 03:25:44PM +0100, Eric Auger wrote: >> vfio_get_device now takes a VFIODevice as argument. The function is split >> into 4 functional parts: dev_info query, device check, region populate >> and interrupt populate. the last 3 are specialized by parent device and >> are added into DeviceOps. > > Why is splitting these up into 4 stages useful, rather than having a > single sub-class specific callback? Hi David, VFIOPlatformDevice already inherits from SysBusDevice and hence cannot inherit from another VFIODevice. Same for VFIOPCIDevice that inherits from PCIDevice. This is why I created this non QOM struct. But did you mean something else? Then splitting into 4: This was to share some code between platform and PCI (dev_info query) and vfio_get_device was quite big already. I thought it makes sense to split it into functional parts. Best Regards Eric > _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm