summaryrefslogtreecommitdiffstats
path: root/include/asm-mips
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-07-31 03:39:50 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-07-31 03:39:50 +0000
commit17d285e537c498cf18ce79a52ca553ea964f389b (patch)
tree3905f77168a7a6d92c68bbd47b5ddae2664fe203 /include/asm-mips
parentce36512304b7cb5e1a911829b249e403261263ac (diff)
Shave of 50% of lat_mmap. Our cache routines were plain stupid.
Diffstat (limited to 'include/asm-mips')
-rw-r--r--include/asm-mips/pgtable.h10
1 files changed, 3 insertions, 7 deletions
diff --git a/include/asm-mips/pgtable.h b/include/asm-mips/pgtable.h
index f72b7ddd3..71defadb8 100644
--- a/include/asm-mips/pgtable.h
+++ b/include/asm-mips/pgtable.h
@@ -33,6 +33,8 @@ extern void (*_flush_cache_range)(struct mm_struct *mm, unsigned long start,
extern void (*_flush_cache_page)(struct vm_area_struct *vma, unsigned long page);
extern void (*_flush_cache_sigtramp)(unsigned long addr);
extern void (*_flush_page_to_ram)(struct page * page);
+extern void (*_flush_icache_page)(struct vm_area_struct *vma,
+ struct page *page, unsigned long addr);
#define flush_cache_all() _flush_cache_all()
#define flush_cache_mm(mm) _flush_cache_mm(mm)
@@ -42,13 +44,7 @@ extern void (*_flush_page_to_ram)(struct page * page);
#define flush_page_to_ram(page) _flush_page_to_ram(page)
#define flush_icache_range(start, end) flush_cache_all()
-
-#define flush_icache_page(vma, page) \
-do { \
- unsigned long addr; \
- addr = page_address(page); \
- _flush_cache_page(vma, addr); \
-} while (0)
+#define flush_icache_page(vma, page, addr) _flush_icache_page(vma, page, addr)
/*