diff options
author | Randolph Chung <tausq@debian.org> | 2006-12-12 05:51:54 -0800 |
---|---|---|
committer | Kyle McMartin <kyle@athena.road.mcmartin.ca> | 2007-02-17 00:41:30 -0500 |
commit | d6ce8626dbc7d277d29b62e31c24ce777c60546b (patch) | |
tree | 1078d6aa204de1bc5d64a9595c7c1599fcd6eb52 /include/asm-parisc/tlbflush.h | |
parent | 592ac93a607109e0643da6c23ae07ac749e973b1 (diff) | |
download | op-kernel-dev-d6ce8626dbc7d277d29b62e31c24ce777c60546b.zip op-kernel-dev-d6ce8626dbc7d277d29b62e31c24ce777c60546b.tar.gz |
[PARISC] Clean up the cache and tlb headers
No changes in functionality.
Signed-off-by: Randolph Chung <tausq@debian.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'include/asm-parisc/tlbflush.h')
-rw-r--r-- | include/asm-parisc/tlbflush.h | 30 |
1 files changed, 4 insertions, 26 deletions
diff --git a/include/asm-parisc/tlbflush.h b/include/asm-parisc/tlbflush.h index 67b3814..ae2d120 100644 --- a/include/asm-parisc/tlbflush.h +++ b/include/asm-parisc/tlbflush.h @@ -71,33 +71,11 @@ static inline void flush_tlb_page(struct vm_area_struct *vma, purge_tlb_end(); } -static inline void flush_tlb_range(struct vm_area_struct *vma, - unsigned long start, unsigned long end) -{ - unsigned long npages; +void __flush_tlb_range(unsigned long sid, + unsigned long start, unsigned long end); - npages = ((end - (start & PAGE_MASK)) + (PAGE_SIZE - 1)) >> PAGE_SHIFT; - if (npages >= 512) /* 2MB of space: arbitrary, should be tuned */ - flush_tlb_all(); - else { - mtsp(vma->vm_mm->context,1); - purge_tlb_start(); - if (split_tlb) { - while (npages--) { - pdtlb(start); - pitlb(start); - start += PAGE_SIZE; - } - } else { - while (npages--) { - pdtlb(start); - start += PAGE_SIZE; - } - } - purge_tlb_end(); - } -} +#define flush_tlb_range(vma,start,end) __flush_tlb_range((vma)->vm_mm->context,start,end) -#define flush_tlb_kernel_range(start, end) flush_tlb_all() +#define flush_tlb_kernel_range(start, end) __flush_tlb_range(0,start,end) #endif |