1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * OpenRISC Linux
4  *
5  * Linux architectural port borrowing liberally from similar works of
6  * others.  All original copyrights apply as per the original source
7  * declaration.
8  *
9  * OpenRISC implementation:
10  * Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com>
11  * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
12  * et al.
13  */
14 
15 #ifndef __ASM_OPENRISC_MMU_CONTEXT_H
16 #define __ASM_OPENRISC_MMU_CONTEXT_H
17 
18 #include <asm-generic/mm_hooks.h>
19 
20 extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
21 extern void destroy_context(struct mm_struct *mm);
22 extern void switch_mm(struct mm_struct *prev, struct mm_struct *next,
23 		      struct task_struct *tsk);
24 
25 #define deactivate_mm(tsk, mm)	do { } while (0)
26 
27 #define activate_mm(prev, next) switch_mm((prev), (next), NULL)
28 
29 /* current active pgd - this is similar to other processors pgd
30  * registers like cr3 on the i386
31  */
32 
33 extern volatile pgd_t *current_pgd[]; /* defined in arch/openrisc/mm/fault.c */
34 
35 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
36 {
37 }
38 
39 #endif
40