[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V2 15/25] x86/vvtd: decode interrupt attribute from IRTE
On Wed, Aug 09, 2017 at 04:34:16PM -0400, Lan Tianyu wrote: > From: Chao Gao <chao.gao@xxxxxxxxx> > > Previously, interrupt attributes can be extracted from msi message or > IOAPIC RTE. However, with interrupt remapping enabled, the attributes > are enclosed in the associated IRTE. This callback is for cases in > which the caller wants to acquire interrupt attributes. Can you elaborate a little bit more on the usage? Is this for internal Xen usage or the guest itself? > > Signed-off-by: Chao Gao <chao.gao@xxxxxxxxx> > Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx> > --- > xen/drivers/passthrough/vtd/vvtd.c | 22 +++++++++++++++++++++- > 1 file changed, 21 insertions(+), 1 deletion(-) > > diff --git a/xen/drivers/passthrough/vtd/vvtd.c > b/xen/drivers/passthrough/vtd/vvtd.c > index 2bee352..374fd88 100644 > --- a/xen/drivers/passthrough/vtd/vvtd.c > +++ b/xen/drivers/passthrough/vtd/vvtd.c > @@ -532,6 +532,25 @@ static int vvtd_handle_irq_request(struct domain *d, > return -EFAULT; > } > > +static int vvtd_get_irq_info(struct domain *d, > + struct irq_remapping_request *irq, const. > + struct irq_remapping_info *info) > +{ > + int ret; > + struct iremap_entry irte; > + struct vvtd *vvtd = domain_vvtd(d); > + > + ret = vvtd_get_entry(vvtd, irq, &irte, false); > + if ( ret ) > + return ret; > + > + info->vector = irte.remap.vector; > + info->dest = irte_dest(vvtd, irte.remap.dst); > + info->dest_mode = irte.remap.dm; > + info->delivery_mode = irte.remap.dlm; > + return 0; > +} > + > static void vvtd_reset(struct vvtd *vvtd, uint64_t capability) > { > uint64_t cap = DMA_CAP_NFR | DMA_CAP_SLLPS | DMA_CAP_FRO | > @@ -608,7 +627,8 @@ struct viommu_ops vvtd_hvm_vmx_ops = { Forgot to mention in previous patches, vvtd_hvm_vmx_ops should be const. Roger. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |