1 /* SPDX-License-Identifier: GPL-2.0-or-later */
5 * Linux architectural port borrowing liberally from similar works of
6 * others. All original copyrights apply as per the original source
9 * OpenRISC implementation:
10 * Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com>
11 * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
15 #ifndef __ASM_OPENRISC_MMU_CONTEXT_H
16 #define __ASM_OPENRISC_MMU_CONTEXT_H
18 #include <asm-generic/mm_hooks.h>
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
);
25 #define deactivate_mm(tsk, mm) do { } while (0)
27 #define activate_mm(prev, next) switch_mm((prev), (next), NULL)
29 /* current active pgd - this is similar to other processors pgd
30 * registers like cr3 on the i386
33 extern volatile pgd_t
*current_pgd
[]; /* defined in arch/openrisc/mm/fault.c */
35 static inline void enter_lazy_tlb(struct mm_struct
*mm
, struct task_struct
*tsk
)