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