home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / mips / include / asm / tlbflush.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.6 KB  |  48 lines

  1. #ifndef __ASM_TLBFLUSH_H
  2. #define __ASM_TLBFLUSH_H
  3.  
  4. #include <linux/mm.h>
  5.  
  6. /*
  7.  * TLB flushing:
  8.  *
  9.  *  - flush_tlb_all() flushes all processes TLB entries
  10.  *  - flush_tlb_mm(mm) flushes the specified mm context TLB entries
  11.  *  - flush_tlb_page(vma, vmaddr) flushes one page
  12.  *  - flush_tlb_range(vma, start, end) flushes a range of pages
  13.  *  - flush_tlb_kernel_range(start, end) flushes a range of kernel pages
  14.  */
  15. extern void local_flush_tlb_all(void);
  16. extern void local_flush_tlb_mm(struct mm_struct *mm);
  17. extern void local_flush_tlb_range(struct vm_area_struct *vma,
  18.     unsigned long start, unsigned long end);
  19. extern void local_flush_tlb_kernel_range(unsigned long start,
  20.     unsigned long end);
  21. extern void local_flush_tlb_page(struct vm_area_struct *vma,
  22.     unsigned long page);
  23. extern void local_flush_tlb_one(unsigned long vaddr);
  24.  
  25. #ifdef CONFIG_SMP
  26.  
  27. extern void flush_tlb_all(void);
  28. extern void flush_tlb_mm(struct mm_struct *);
  29. extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long,
  30.     unsigned long);
  31. extern void flush_tlb_kernel_range(unsigned long, unsigned long);
  32. extern void flush_tlb_page(struct vm_area_struct *, unsigned long);
  33. extern 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.  
  47. #endif /* __ASM_TLBFLUSH_H */
  48.