RE: [PATCH v1 04/22] hw/iommu: introduce HostIOMMUContext

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

 



> From: Peter Xu <peterx@xxxxxxxxxx>
> Sent: Tuesday, March 24, 2020 4:59 AM
> To: Liu, Yi L <yi.l.liu@xxxxxxxxx>
> Subject: Re: [PATCH v1 04/22] hw/iommu: introduce HostIOMMUContext
> 
> On Sun, Mar 22, 2020 at 05:36:01AM -0700, Liu Yi L wrote:
[...]
> > +
> > +void host_iommu_ctx_init(void *_host_icx, size_t instance_size,
> > +                         const char *mrtypename,
> > +                         uint64_t flags)
> > +{
> > +    HostIOMMUContext *host_icx;
> > +
> > +    object_initialize(_host_icx, instance_size, mrtypename);
> > +    host_icx = HOST_IOMMU_CONTEXT(_host_icx);
> > +    host_icx->flags = flags;
> > +    host_icx->initialized = true;
> > +}
> > +
> > +void host_iommu_ctx_destroy(HostIOMMUContext *host_icx)
> > +{
> > +    host_icx->flags = 0x0;
> > +    host_icx->initialized = false;
> > +}
> 
> Can we simply put this into .instance_finalize() and be called
> automatically when the object loses the last refcount?
> 
> Actually an easier way may be dropping this directly..  If the object
> is to be destroyed then IMHO we don't need to care about flags at all,
> we just free memories we use, but for this object it's none.

right, I'll drop this function. :-)

> > +
> > +static void host_icx_init_fn(Object *obj)
> > +{
> > +    HostIOMMUContext *host_icx = HOST_IOMMU_CONTEXT(obj);
> > +
> > +    host_icx->flags = 0x0;
> > +    host_icx->initialized = false;
> 
> Here is also a bit strange...  IIUC the only way to init this object
> is via host_iommu_ctx_init() where all these flags will be set.  But
> if so, then we're setting all these twice always.  Maybe this function
> can be dropped too?

yes, it is. At least, it is not necessary for now. Will drop it.

Thanks,
Yi Liu





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux