diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-07 14:54:07 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-07 14:54:07 -0700 |
commit | ff09e2afe742f3ff52a0c9a660e8a3fe30cf587c (patch) | |
tree | aff06e82c7d653d0b15c1f3cae7f0c8a90ba3d14 /include | |
parent | ad3c7e42e33a842cf3b518e21a7f69e167649d8a (diff) | |
parent | 9c5a3d729cf430609d091ff610a7db363aafcd47 (diff) |
Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus
* 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus:
[MIPS] Handle aliases in vmalloc correctly.
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-mips/cacheflush.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/include/asm-mips/cacheflush.h b/include/asm-mips/cacheflush.h index 01e7eadc97e..d5c0f2fda51 100644 --- a/include/asm-mips/cacheflush.h +++ b/include/asm-mips/cacheflush.h @@ -63,8 +63,22 @@ static inline void flush_icache_page(struct vm_area_struct *vma, } extern void (*flush_icache_range)(unsigned long start, unsigned long end); -#define flush_cache_vmap(start, end) flush_cache_all() -#define flush_cache_vunmap(start, end) flush_cache_all() + +extern void (*__flush_cache_vmap)(void); + +static inline void flush_cache_vmap(unsigned long start, unsigned long end) +{ + if (cpu_has_dc_aliases) + __flush_cache_vmap(); +} + +extern void (*__flush_cache_vunmap)(void); + +static inline void flush_cache_vunmap(unsigned long start, unsigned long end) +{ + if (cpu_has_dc_aliases) + __flush_cache_vunmap(); +} extern void copy_to_user_page(struct vm_area_struct *vma, struct page *page, unsigned long vaddr, void *dst, const void *src, |