On Tue, Sep 08, 2009 at 10:23:21PM -0500, James Bottomley wrote: > On Wed, 2009-09-09 at 03:17 +0000, James Bottomley wrote: > > On Virtually Indexed architectures (which don't do automatic alias > > resolution in their caches), we have to flush via the correct > > virtual address to prepare pages for DMA. On some architectures > > (like arm) we cannot prevent the CPU from doing data movein along > > the alias (and thus giving stale read data), so we not only have to > > introduce a flush API to push dirty cache lines out, but also an invalidate > > API to kill inconsistent cache lines that may have moved in before > > DMA changed the data > > > > Signed-off-by: James Bottomley <James.Bottomley@xxxxxxx> > > --- > > include/linux/highmem.h | 6 ++++++ > > 1 files changed, 6 insertions(+), 0 deletions(-) > > > > diff --git a/include/linux/highmem.h b/include/linux/highmem.h > > index 211ff44..9719952 100644 > > --- a/include/linux/highmem.h > > +++ b/include/linux/highmem.h > > @@ -17,6 +17,12 @@ static inline void flush_anon_page(struct vm_area_struct *vma, struct page *page > > static inline void flush_kernel_dcache_page(struct page *page) > > { > > } > > +static incline void flush_kernel_dcache_addr(void *vaddr) > > +{ > > +} > > +static incline void invalidate_kernel_dcache_addr(void *vaddr) > > +{ > > +} > > #endif > > OK, so it's been pointed out to me that I didn't compile check this ... > just testing to see everyone is awake ... > And here I thought it was a new gcc construct along the lines of inline-if-so-inclined.. :-) -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html