qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v5 05/10] hw/vfio/pci: split vfio_get_device


From: David Gibson
Subject: Re: [Qemu-devel] [PATCH v5 05/10] hw/vfio/pci: split vfio_get_device
Date: Wed, 13 Aug 2014 13:32:55 +1000
User-agent: Mutt/1.5.23 (2014-03-12)

On Tue, Aug 12, 2014 at 08:54:34AM +0200, Eric Auger wrote:
> 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?

Ah, yes, sorry, I missed that, though it's obvious now I think about
it.

> 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.

Hm, ok.  So splitting out dev_info_query certainly makes sense then.
But does splitting the two populate sections make sense?  Is it
plausible that two different VFIO capable busses would share one of
these functions but not the other?

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: pgpzxLzlD4ynS.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]