On Fri, 2014-10-10 at 12:51 +0100, Stefano Stabellini wrote: > Introduce support for new hypercall GNTTABOP_cache_flush. > Use it to perform cache flashing on pages used for dma when necessary. > > If GNTTABOP_cache_flush is supported by the hypervisor, we don't need to > bounce dma map operations that involve foreign grants and non-coherent > devices. > > Signed-off-by: Stefano Stabellini <stefano.stabell...@eu.citrix.com> > > --- > > Changes in v4: > - add comment; > - avoid bouncing dma map operations that involve foreign grants and > non-coherent devices if GNTTABOP_cache_flush is provided by Xen. > > Changes in v3: > - fix the cache maintenance op call to match what Linux does natively; > - update the hypercall interface to match Xen. > > Changes in v2: > - update the hypercall interface to match Xen; > - call the interface on a single page at a time. > --- > arch/arm/xen/mm.c | 41 > ++++++++++++++++++++++++++++++----- > include/xen/interface/grant_table.h | 19 ++++++++++++++++ > 2 files changed, 54 insertions(+), 6 deletions(-) > > diff --git a/arch/arm/xen/mm.c b/arch/arm/xen/mm.c > index 0c2a75a..21db123 100644 > --- a/arch/arm/xen/mm.c > +++ b/arch/arm/xen/mm.c > @@ -11,6 +11,7 @@ > #include <linux/swiotlb.h> > > #include <xen/xen.h> > +#include <xen/interface/grant_table.h> > #include <xen/interface/memory.h> > #include <xen/swiotlb-xen.h> > > @@ -44,6 +45,8 @@ static inline void *kmap_high_get(struct page *page) > static inline void kunmap_high(struct page *page) {} > #endif > > +static bool hypercall_flush = false;
Would be nice to include the word "cache" (or at least cflush) in this. > -arch_initcall(xen_mm_init); > +arch_initcall(xen_mm_init) I think this is stray? Acked-by: Ian Campbell <ian.campb...@citrix.com> -- 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/