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
21extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
22#define destroy_context destroy_context
23extern void destroy_context(struct mm_struct *mm);
24extern 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
33extern volatile pgd_t *current_pgd[]; /* defined in arch/openrisc/mm/fault.c */
34
35#include <asm-generic/mmu_context.h>
36
37#endif
38