home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-sh / tlbflush.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.1 KB  |  32 lines

  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 */
  32.