On 04/04/14 15:41, Roger Pau Monne wrote: > Blkback cannot work properly on auto-translated guests if Xen doesn't > update the IOMMU when performing grant maps/unmaps, so only attach if > the newly introduced XENFEAT_hvm_gntmap_supports_iommu is found.
Can you explain the problem in more detail and which guest configurations are affected? This isn't a problem that is specific to blkback, but any backend that grant maps and passes the foreign pages to a device so there needs to be a generic solution. Why can't this be fixed by having the swiotlb bounce foreign pages? > --- a/drivers/block/xen-blkback/blkback.c > +++ b/drivers/block/xen-blkback/blkback.c > @@ -1381,6 +1381,18 @@ static int __init xen_blkif_init(void) > if (!xen_domain()) > return -ENODEV; > > +#ifdef CONFIG_X86 > + if (xen_feature(XENFEAT_auto_translated_physmap) && > + !xen_feature(XENFEAT_hvm_gntmap_supports_iommu)) { > + /* > + * blkback cannot work properly on auto-translated guests > + * if grant table mappings don't update the IOMMU entries. > + */ > + pr_debug(DRV_PFX "Disabling blkback because Xen is missing > feature XENFEAT_hvm_gntmap_supports_iommu\n"); > + return -ENODEV; > + } > +#endif /* CONFIG_X86 */ Why CONFIG_X86? David -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/