URL
https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk
Subversion Repositories or1k_soc_on_altera_embedded_dev_kit
[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [linux-2.6/] [linux-2.6.24/] [include/] [asm-or32/] [tlbflush.h] - Rev 7
Compare with Previous | Blame | View Log
#ifndef _OR32_TLBFLUSH_H #define _OR32_TLBFLUSH_H #include <linux/mm.h> #include <asm/processor.h> #include <asm/pgtable.h> #include <asm/pgalloc.h> #include <asm/current.h> #include <linux/sched.h> /* * TLB flushing (implemented in arch/or32/mm/tlb.c): * * - flush_tlb() flushes the current mm struct TLBs * - flush_tlb_all() flushes all processes TLBs * - flush_tlb_mm(mm) flushes the specified mm context TLB's * - flush_tlb_page(vma, vmaddr) flushes one page * - flush_tlb_range(mm, start, end) flushes a range of pages * */ extern void flush_tlb_all(void); extern void flush_tlb_mm(struct mm_struct *mm); extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr); extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); extern inline void flush_tlb_pgtables(struct mm_struct *mm, unsigned long start, unsigned long end) { /* OR32 does not keep any page table caches in TLB */ } extern inline void flush_tlb(void) { flush_tlb_mm(current->mm); } #define flush_tlb_kernel_range(start, end) flush_tlb_all() #endif /* _OR32_TLBFLUSH_H */