1/* SPDX-License-Identifier: GPL-2.0 */
2
3#ifndef __ASM_TLBFLUSH_H
4#define __ASM_TLBFLUSH_H
5
6/*
7 * TLB flushing:
8 *
9 *  - flush_tlb_all() flushes all processes TLB entries
10 *  - flush_tlb_mm(mm) flushes the specified mm context TLB entries
11 *  - flush_tlb_page(vma, vmaddr) flushes one page
12 *  - flush_tlb_range(vma, start, end) flushes a range of pages
13 *  - flush_tlb_kernel_range(start, end) flushes a range of kernel pages
14 */
15extern void flush_tlb_all(void);
16extern void flush_tlb_mm(struct mm_struct *mm);
17extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long page);
18extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
19			    unsigned long end);
20extern void flush_tlb_kernel_range(unsigned long start, unsigned long end);
21
22extern void flush_tlb_one(unsigned long vaddr);
23
24#endif
25