Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef __ASM_SH_TLBFLUSH_H |
2 | #define __ASM_SH_TLBFLUSH_H | |
3 | ||
4 | /* | |
5 | * TLB flushing: | |
6 | * | |
7 | * - flush_tlb() flushes the current mm struct TLBs | |
8 | * - flush_tlb_all() flushes all processes TLBs | |
9 | * - flush_tlb_mm(mm) flushes the specified mm context TLB's | |
10 | * - flush_tlb_page(vma, vmaddr) flushes one page | |
11 | * - flush_tlb_range(vma, start, end) flushes a range of pages | |
12 | * - flush_tlb_kernel_range(start, end) flushes a range of kernel pages | |
13 | * - flush_tlb_pgtables(mm, start, end) flushes a range of page tables | |
14 | */ | |
15 | ||
16 | extern void flush_tlb(void); | |
17 | extern void flush_tlb_all(void); | |
18 | extern void flush_tlb_mm(struct mm_struct *mm); | |
19 | extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, | |
20 | unsigned long end); | |
21 | extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long page); | |
22 | extern void __flush_tlb_page(unsigned long asid, unsigned long page); | |
23 | ||
24 | static inline void flush_tlb_pgtables(struct mm_struct *mm, | |
25 | unsigned long start, unsigned long end) | |
26 | { /* Nothing to do */ | |
27 | } | |
28 | ||
29 | extern void flush_tlb_kernel_range(unsigned long start, unsigned long end); | |
30 | ||
31 | #endif /* __ASM_SH_TLBFLUSH_H */ |