1/* 2 * include/asm-xtensa/tlb.h 3 * 4 * This file is subject to the terms and conditions of the GNU General Public 5 * License. See the file "COPYING" in the main directory of this archive 6 * for more details. 7 * 8 * Copyright (C) 2001 - 2005 Tensilica Inc. 9 */ 10 11#ifndef _XTENSA_TLB_H 12#define _XTENSA_TLB_H 13 14#include <asm/cache.h> 15#include <asm/page.h> 16 17#if (DCACHE_WAY_SIZE <= PAGE_SIZE) 18 19/* Note, read http://lkml.org/lkml/2004/1/15/6 */ 20 21# define tlb_start_vma(tlb,vma) do { } while (0) 22# define tlb_end_vma(tlb,vma) do { } while (0) 23 24#else 25 26# define tlb_start_vma(tlb, vma) \ 27 do { \ 28 if (!tlb->fullmm) \ 29 flush_cache_range(vma, vma->vm_start, vma->vm_end); \ 30 } while(0) 31 32# define tlb_end_vma(tlb, vma) \ 33 do { \ 34 if (!tlb->fullmm) \ 35 flush_tlb_range(vma, vma->vm_start, vma->vm_end); \ 36 } while(0) 37 38#endif 39 40#define __tlb_remove_tlb_entry(tlb,pte,addr) do { } while (0) 41#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) 42 43#include <asm-generic/tlb.h> 44 45#define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte) 46 47#endif /* _XTENSA_TLB_H */ 48