Blame view

arch/xtensa/include/asm/tlb.h 1.1 KB
9a8fd5589   Chris Zankel   [PATCH] xtensa: A...
1
2
3
4
5
6
7
8
9
10
11
12
  /*
   * include/asm-xtensa/tlb.h
   *
   * This file is subject to the terms and conditions of the GNU General Public
   * License.  See the file "COPYING" in the main directory of this archive
   * for more details.
   *
   * Copyright (C) 2001 - 2005 Tensilica Inc.
   */
  
  #ifndef _XTENSA_TLB_H
  #define _XTENSA_TLB_H
6656920b0   Chris Zankel   [XTENSA] Add supp...
13
14
15
16
17
18
19
20
21
22
23
  #include <asm/cache.h>
  #include <asm/page.h>
  
  #if (DCACHE_WAY_SIZE <= PAGE_SIZE)
  
  /* Note, read http://lkml.org/lkml/2004/1/15/6 */
  
  # define tlb_start_vma(tlb,vma)			do { } while (0)
  # define tlb_end_vma(tlb,vma)			do { } while (0)
  
  #else
9a8fd5589   Chris Zankel   [PATCH] xtensa: A...
24

6656920b0   Chris Zankel   [XTENSA] Add supp...
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  # define tlb_start_vma(tlb, vma)					      \
  	do {								      \
  		if (!tlb->fullmm)					      \
  			flush_cache_range(vma, vma->vm_start, vma->vm_end);   \
  	} while(0)
  
  # define tlb_end_vma(tlb, vma)						      \
  	do {								      \
  		if (!tlb->fullmm)					      \
  			flush_tlb_range(vma, vma->vm_start, vma->vm_end);     \
  	} while(0)
  
  #endif
  
  #define __tlb_remove_tlb_entry(tlb,pte,addr)	do { } while (0)
9a8fd5589   Chris Zankel   [PATCH] xtensa: A...
40
41
42
  #define tlb_flush(tlb)				flush_tlb_mm((tlb)->mm)
  
  #include <asm-generic/tlb.h>
9a8fd5589   Chris Zankel   [PATCH] xtensa: A...
43

9e1b32caa   Benjamin Herrenschmidt   mm: Pass virtual ...
44
  #define __pte_free_tlb(tlb, pte, address)	pte_free((tlb)->mm, pte)
9a8fd5589   Chris Zankel   [PATCH] xtensa: A...
45
46
  
  #endif	/* _XTENSA_TLB_H */