Commit | Line | Data |
---|---|---|
ae2587e4 JD |
1 | /* |
2 | * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) | |
1da177e4 LT |
3 | * Licensed under the GPL |
4 | */ | |
5 | ||
6 | #ifndef __UM_TLBFLUSH_H | |
7 | #define __UM_TLBFLUSH_H | |
8 | ||
9 | #include <linux/mm.h> | |
10 | ||
11 | /* | |
12 | * TLB flushing: | |
13 | * | |
14 | * - flush_tlb() flushes the current mm struct TLBs | |
15 | * - flush_tlb_all() flushes all processes TLBs | |
16 | * - flush_tlb_mm(mm) flushes the specified mm context TLB's | |
17 | * - flush_tlb_page(vma, vmaddr) flushes one page | |
18 | * - flush_tlb_kernel_vm() flushes the kernel vm area | |
19 | * - flush_tlb_range(vma, start, end) flushes a range of pages | |
1da177e4 LT |
20 | */ |
21 | ||
22 | extern void flush_tlb_all(void); | |
23 | extern void flush_tlb_mm(struct mm_struct *mm); | |
24 | extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, | |
25 | unsigned long end); | |
77bf4400 | 26 | extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long address); |
1da177e4 LT |
27 | extern void flush_tlb_kernel_vm(void); |
28 | extern void flush_tlb_kernel_range(unsigned long start, unsigned long end); | |
29 | extern void __flush_tlb_one(unsigned long addr); | |
30 | ||
1da177e4 | 31 | #endif |