source: svn/trunk/newcon3bcm2_21bu/toolchain/mipsel-linux-uclibc/include/asm/tlbflush.h

Last change on this file was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 1.8 KB
Line 
1#ifndef __ASM_TLBFLUSH_H
2#define __ASM_TLBFLUSH_H
3
4
5/*
6 * TLB flushing:
7 *
8 *  - flush_tlb_all() flushes all processes TLB entries
9 *  - flush_tlb_mm(mm) flushes the specified mm context TLB entries
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 */
15extern void local_flush_tlb_all(void);
16extern void local_flush_tlb_mm(struct mm_struct *mm);
17extern void local_flush_tlb_range(struct vm_area_struct *vma,
18        unsigned long start, unsigned long end);
19extern void local_flush_tlb_kernel_range(unsigned long start,
20        unsigned long end);
21extern void local_flush_tlb_page(struct vm_area_struct *vma,
22        unsigned long page);
23extern void local_flush_tlb_one(unsigned long vaddr);
24
25#ifdef CONFIG_SMP
26
27extern void flush_tlb_all(void);
28extern void flush_tlb_mm(struct mm_struct *);
29extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long,
30        unsigned long);
31extern void flush_tlb_kernel_range(unsigned long, unsigned long);
32extern void flush_tlb_page(struct vm_area_struct *, unsigned long);
33extern void flush_tlb_one(unsigned long vaddr);
34
35#else /* CONFIG_SMP */
36
37#define flush_tlb_all()                 local_flush_tlb_all()
38#define flush_tlb_mm(mm)                local_flush_tlb_mm(mm)
39#define flush_tlb_range(vma,vmaddr,end) local_flush_tlb_range(vma, vmaddr, end)
40#define flush_tlb_kernel_range(vmaddr,end) \
41        local_flush_tlb_kernel_range(vmaddr, end)
42#define flush_tlb_page(vma,page)        local_flush_tlb_page(vma, page)
43#define flush_tlb_one(vaddr)            local_flush_tlb_one(vaddr)
44
45#endif /* CONFIG_SMP */
46
47static inline void flush_tlb_pgtables(struct mm_struct *mm,
48        unsigned long start, unsigned long end)
49{
50        /* Nothing to do on MIPS.  */
51}
52
53#endif /* __ASM_TLBFLUSH_H */
Note: See TracBrowser for help on using the repository browser.