12874c5fdSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 261e85e36SJonas Bonn /* 361e85e36SJonas Bonn * OpenRISC Linux 461e85e36SJonas Bonn * 561e85e36SJonas Bonn * Linux architectural port borrowing liberally from similar works of 661e85e36SJonas Bonn * others. All original copyrights apply as per the original source 761e85e36SJonas Bonn * declaration. 861e85e36SJonas Bonn * 961e85e36SJonas Bonn * OpenRISC implementation: 1061e85e36SJonas Bonn * Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com> 1161e85e36SJonas Bonn * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> 1261e85e36SJonas Bonn * et al. 1361e85e36SJonas Bonn */ 1461e85e36SJonas Bonn 1561e85e36SJonas Bonn #ifndef __ASM_OPENRISC_MMU_CONTEXT_H 1661e85e36SJonas Bonn #define __ASM_OPENRISC_MMU_CONTEXT_H 1761e85e36SJonas Bonn 1861e85e36SJonas Bonn #include <asm-generic/mm_hooks.h> 1961e85e36SJonas Bonn 20*5449edc5SNicholas Piggin #define init_new_context init_new_context 2161e85e36SJonas Bonn extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm); 22*5449edc5SNicholas Piggin #define destroy_context destroy_context 2361e85e36SJonas Bonn extern void destroy_context(struct mm_struct *mm); 2461e85e36SJonas Bonn extern void switch_mm(struct mm_struct *prev, struct mm_struct *next, 2561e85e36SJonas Bonn struct task_struct *tsk); 2661e85e36SJonas Bonn 2761e85e36SJonas Bonn #define activate_mm(prev, next) switch_mm((prev), (next), NULL) 2861e85e36SJonas Bonn 2961e85e36SJonas Bonn /* current active pgd - this is similar to other processors pgd 3061e85e36SJonas Bonn * registers like cr3 on the i386 3161e85e36SJonas Bonn */ 3261e85e36SJonas Bonn 338e6d08e0SStefan Kristiansson extern volatile pgd_t *current_pgd[]; /* defined in arch/openrisc/mm/fault.c */ 3461e85e36SJonas Bonn 35*5449edc5SNicholas Piggin #include <asm-generic/mmu_context.h> 3661e85e36SJonas Bonn 3761e85e36SJonas Bonn #endif 38