[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v7 11/17] vt-d: Add API to update IRTE when VT-d PI is used
>>> On 11.09.15 at 10:29, <feng.wu@xxxxxxxxx> wrote: > --- a/xen/drivers/passthrough/vtd/intremap.c > +++ b/xen/drivers/passthrough/vtd/intremap.c > @@ -899,3 +899,124 @@ void iommu_disable_x2apic_IR(void) > for_each_drhd_unit ( drhd ) > disable_qinval(drhd->iommu); > } > + > +static void setup_posted_irte( > + struct iremap_entry *new_ire, const struct iremap_entry *old_ire, > + const struct pi_desc *pi_desc, const uint8_t gvec) > +{ > + memset(new_ire, sizeof(*new_ire), 0); > + > + if (!old_ire->remap.im) Coding style. > + { > + new_ire->post.p = old_ire->remap.p; > + new_ire->post.fpd = old_ire->remap.fpd; > + new_ire->post.sid = old_ire->remap.sid; > + new_ire->post.sq = old_ire->remap.sq; > + new_ire->post.svt = old_ire->remap.svt; > + new_ire->post.urg = 0; No longer needed. > + } > + else > + { > + new_ire->post.p = old_ire->post.p; > + new_ire->post.fpd = old_ire->post.fpd; > + new_ire->post.sid = old_ire->post.sid; > + new_ire->post.sq = old_ire->post.sq; > + new_ire->post.svt = old_ire->post.svt; > + new_ire->post.urg = old_ire->post.urg; > + } > + > + new_ire->post.im = 1; > + new_ire->post.vector = gvec; > + new_ire->post.pda_l = virt_to_maddr(pi_desc) >> (32 - PDA_LOW_BIT); > + new_ire->post.pda_h = virt_to_maddr(pi_desc) >> 32; > +} Quite a bit more explicit about what gets inherited and what gets written anew. Thanks! With the minor adjustment above done Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |