4 * Linux architectural port borrowing liberally from similar works of
5 * others. All original copyrights apply as per the original source
8 * OpenRISC implementation:
9 * Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com>
10 * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2 of the License, or
16 * (at your option) any later version.
19 #ifndef __ASM_OPENRISC_MMU_CONTEXT_H
20 #define __ASM_OPENRISC_MMU_CONTEXT_H
22 #include <asm-generic/mm_hooks.h>
24 extern int init_new_context(struct task_struct
*tsk
, struct mm_struct
*mm
);
25 extern void destroy_context(struct mm_struct
*mm
);
26 extern void switch_mm(struct mm_struct
*prev
, struct mm_struct
*next
,
27 struct task_struct
*tsk
);
29 #define deactivate_mm(tsk, mm) do { } while (0)
31 #define activate_mm(prev, next) switch_mm((prev), (next), NULL)
33 /* current active pgd - this is similar to other processors pgd
34 * registers like cr3 on the i386
37 extern volatile pgd_t
*current_pgd
; /* defined in arch/openrisc/mm/fault.c */
39 static inline void enter_lazy_tlb(struct mm_struct
*mm
, struct task_struct
*tsk
)