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 #define init_new_context init_new_context
21 extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
22 #define destroy_context destroy_context
23 extern void destroy_context(struct mm_struct *mm);
24 extern void switch_mm(struct mm_struct *prev, struct mm_struct *next,
25 		      struct task_struct *tsk);
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 #include <asm-generic/mmu_context.h>
36 
37 #endif
38