>>> On 25.08.15 at 03:57, <feng...@intel.com> wrote: > --- a/xen/drivers/passthrough/vtd/iommu.c > +++ b/xen/drivers/passthrough/vtd/iommu.c > @@ -2079,6 +2079,9 @@ static int init_vtd_hw(void) > disable_intremap(drhd->iommu); > } > > + if ( !iommu_intremap ) > + iommu_intpost = 0;
Why is this being repeated here? iommu_setup() is already taking care of this thanks to the earlier patch. > @@ -2176,6 +2179,14 @@ int __init intel_vtd_setup(void) > if ( iommu_intremap && !ecap_intr_remap(iommu->ecap) ) > iommu_intremap = 0; > > + /* > + * We cannot use posted interrupt if X86_FEATURE_CX16 is > + * not supported, since we count on this feature to > + * atomically update 16-byte IRTE in posted format. > + */ > + if ( !iommu_intremap || !cap_intr_post(iommu->cap) || !cpu_has_cx16 ) > + iommu_intpost = 0; You should check iommu_intpost instead of iommu_intremap to match the other checks above here. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel