Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/hexagon/include/asm/tlbflush.h
26481 views
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
/*
3
* TLB flush support for Hexagon
4
*
5
* Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
6
*/
7
8
#ifndef _ASM_TLBFLUSH_H
9
#define _ASM_TLBFLUSH_H
10
11
#include <linux/mm.h>
12
#include <asm/processor.h>
13
14
/*
15
* TLB flushing -- in "SMP", these routines get defined to be the
16
* ones from smp.c, else they are some local flavors.
17
*/
18
19
/*
20
* These functions are commonly macros, but in the interests of
21
* VM vs. native implementation and code size, we simply declare
22
* the function prototypes here.
23
*/
24
extern void tlb_flush_all(void);
25
extern void flush_tlb_mm(struct mm_struct *mm);
26
extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr);
27
extern void flush_tlb_range(struct vm_area_struct *vma,
28
unsigned long start, unsigned long end);
29
extern void flush_tlb_kernel_range(unsigned long start, unsigned long end);
30
extern void flush_tlb_one(unsigned long);
31
32
/*
33
* "This is called in munmap when we have freed up some page-table pages.
34
* We don't need to do anything here..."
35
*
36
* The VM kernel doesn't walk page tables, and they are passed to the VMM
37
* by logical address. There doesn't seem to be any possibility that they
38
* could be referenced by the VM kernel based on a stale mapping, since
39
* they would only be located by consulting the mm structure, and they
40
* will have been purged from that structure by the munmap. Seems like
41
* a noop on HVM as well.
42
*/
43
#define flush_tlb_pgtables(mm, start, end)
44
45
#endif
46
47