xref: /openbmc/linux/arch/x86/include/asm/mmu_context.h (revision 9ac8d3fb)
1 #ifndef _ASM_X86_MMU_CONTEXT_H
2 #define _ASM_X86_MMU_CONTEXT_H
3 
4 #include <asm/desc.h>
5 #include <asm/atomic.h>
6 #include <asm/pgalloc.h>
7 #include <asm/tlbflush.h>
8 #include <asm/paravirt.h>
9 #ifndef CONFIG_PARAVIRT
10 #include <asm-generic/mm_hooks.h>
11 
12 static inline void paravirt_activate_mm(struct mm_struct *prev,
13 					struct mm_struct *next)
14 {
15 }
16 #endif	/* !CONFIG_PARAVIRT */
17 
18 /*
19  * Used for LDT copy/destruction.
20  */
21 int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
22 void destroy_context(struct mm_struct *mm);
23 
24 #ifdef CONFIG_X86_32
25 # include "mmu_context_32.h"
26 #else
27 # include "mmu_context_64.h"
28 #endif
29 
30 #define activate_mm(prev, next)			\
31 do {						\
32 	paravirt_activate_mm((prev), (next));	\
33 	switch_mm((prev), (next), NULL);	\
34 } while (0);
35 
36 
37 #endif /* _ASM_X86_MMU_CONTEXT_H */
38