OpenCores
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] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 xianfeng
#ifndef _OR32_TLBFLUSH_H
2
#define _OR32_TLBFLUSH_H
3
 
4
#include <linux/mm.h>
5
#include <asm/processor.h>
6
#include <asm/pgtable.h>
7
#include <asm/pgalloc.h>
8
#include <asm/current.h>
9
#include <linux/sched.h>
10
/*
11
 * TLB flushing (implemented in arch/or32/mm/tlb.c):
12
 *
13
 *  - flush_tlb() flushes the current mm struct TLBs
14
 *  - flush_tlb_all() flushes all processes TLBs
15
 *  - flush_tlb_mm(mm) flushes the specified mm context TLB's
16
 *  - flush_tlb_page(vma, vmaddr) flushes one page
17
 *  - flush_tlb_range(mm, start, end) flushes a range of pages
18
 *
19
 */
20
 
21
extern void flush_tlb_all(void);
22
extern void flush_tlb_mm(struct mm_struct *mm);
23
extern void flush_tlb_page(struct vm_area_struct *vma,
24
                           unsigned long addr);
25
extern void flush_tlb_range(struct vm_area_struct *vma,
26
                            unsigned long start,
27
                            unsigned long end);
28
 
29
extern inline void flush_tlb_pgtables(struct mm_struct *mm,
30
                                      unsigned long start, unsigned long end)
31
{
32
        /* OR32 does not keep any page table caches in TLB */
33
}
34
 
35
 
36
extern inline void flush_tlb(void)
37
{
38
        flush_tlb_mm(current->mm);
39
}
40
 
41
#define flush_tlb_kernel_range(start, end) flush_tlb_all()
42
 
43
#endif /* _OR32_TLBFLUSH_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.