Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/nios2/include/asm/mmu_context.h
26493 views
1
/*
2
* Copyright (C) 2010 Tobias Klauser <[email protected]>
3
* Copyright (C) 1996, 1997, 1998, 1999 by Ralf Baechle
4
* Copyright (C) 1999 Silicon Graphics, Inc.
5
*
6
* based on MIPS asm/mmu_context.h
7
*
8
* This file is subject to the terms and conditions of the GNU General Public
9
* License. See the file "COPYING" in the main directory of this archive
10
* for more details.
11
*/
12
13
#ifndef _ASM_NIOS2_MMU_CONTEXT_H
14
#define _ASM_NIOS2_MMU_CONTEXT_H
15
16
#include <linux/mm_types.h>
17
18
#include <asm-generic/mm_hooks.h>
19
20
extern void mmu_context_init(void);
21
extern unsigned long get_pid_from_context(mm_context_t *ctx);
22
23
/*
24
* For the fast tlb miss handlers, we keep a pointer to the current pgd.
25
* processor.
26
*/
27
extern pgd_t *pgd_current;
28
29
/*
30
* Initialize the context related info for a new mm_struct instance.
31
*
32
* Set all new contexts to 0, that way the generation will never match
33
* the currently running generation when this context is switched in.
34
*/
35
#define init_new_context init_new_context
36
static inline int init_new_context(struct task_struct *tsk,
37
struct mm_struct *mm)
38
{
39
mm->context = 0;
40
return 0;
41
}
42
43
void switch_mm(struct mm_struct *prev, struct mm_struct *next,
44
struct task_struct *tsk);
45
46
/*
47
* After we have set current->mm to a new value, this activates
48
* the context for the new mm so we see the new mappings.
49
*/
50
#define activate_mm activate_mm
51
void activate_mm(struct mm_struct *prev, struct mm_struct *next);
52
53
#include <asm-generic/mmu_context.h>
54
55
#endif /* _ASM_NIOS2_MMU_CONTEXT_H */
56
57