18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci// Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd. 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci#ifndef __ASM_CSKY_TLB_H 58c2ecf20Sopenharmony_ci#define __ASM_CSKY_TLB_H 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#include <asm/cacheflush.h> 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#define tlb_start_vma(tlb, vma) \ 108c2ecf20Sopenharmony_ci do { \ 118c2ecf20Sopenharmony_ci if (!(tlb)->fullmm) \ 128c2ecf20Sopenharmony_ci flush_cache_range(vma, (vma)->vm_start, (vma)->vm_end); \ 138c2ecf20Sopenharmony_ci } while (0) 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci#define tlb_end_vma(tlb, vma) \ 168c2ecf20Sopenharmony_ci do { \ 178c2ecf20Sopenharmony_ci if (!(tlb)->fullmm) \ 188c2ecf20Sopenharmony_ci flush_tlb_range(vma, (vma)->vm_start, (vma)->vm_end); \ 198c2ecf20Sopenharmony_ci } while (0) 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci#include <asm-generic/tlb.h> 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci#endif /* __ASM_CSKY_TLB_H */ 26