qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3 11/12] intel_iommu: add framework for PASID A


From: Liu, Yi L
Subject: Re: [Qemu-devel] [PATCH v3 11/12] intel_iommu: add framework for PASID AddressSpace management
Date: Mon, 5 Mar 2018 17:11:19 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

On Fri, Mar 02, 2018 at 04:00:23PM +0100, Paolo Bonzini wrote:
> On 01/03/2018 11:33, Liu, Yi L wrote:
> > +struct VTDDeviceNode {
> > +    PCIBus *bus;
> > +    uint8_t devfn;
> > +    QLIST_ENTRY(VTDDeviceNode) next;
> > +};
> 
> Do you really need VTDDeviceNode?  I think can you simply put the
> QLIST_ENTRY in VTDAddressSpace (named e.g. next_by_pasid), since
> VTDAddressSpace already includes a (bus, devfn).

Existing VTDAddressSpace is actaully per-device. While for PASID tagged
address space, it is possible to have multiple devices tied to a single
PASID tagged address space. Reuse VTDAddressSpace could be a choice since
it is a per-device structure, but it may be missleading since there is
other fileds in VTDAddressSpace. This is why I proposed to have VTDDeviceNode.
But consolidation is possible here.

Thanks,
Yi Liu

> > +struct VTDPASIDAddressSpace {
> > +    AddressSpace as;
> > +    IOMMUSVAContext sva_ctx;
> > +    IntelIOMMUState *iommu_state;
> > +    /* list of devices binded to a pasid tagged address space */
> > +    QLIST_HEAD(, VTDDeviceNode) device_list;
> > +};
> > +
> 
> 



reply via email to

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