xref: /linux/arch/x86/include/asm/mmu.h (revision b85d45947951d23cb22d90caecf4c1eb81342c96)
1 #ifndef _ASM_X86_MMU_H
2 #define _ASM_X86_MMU_H
3 
4 #include <linux/spinlock.h>
5 #include <linux/mutex.h>
6 
7 /*
8  * The x86 doesn't have a mmu context, but
9  * we put the segment information here.
10  */
11 typedef struct {
12 #ifdef CONFIG_MODIFY_LDT_SYSCALL
13 	struct ldt_struct *ldt;
14 #endif
15 
16 #ifdef CONFIG_X86_64
17 	/* True if mm supports a task running in 32 bit compatibility mode. */
18 	unsigned short ia32_compat;
19 #endif
20 
21 	struct mutex lock;
22 	void __user *vdso;
23 
24 	atomic_t perf_rdpmc_allowed;	/* nonzero if rdpmc is allowed */
25 } mm_context_t;
26 
27 #ifdef CONFIG_SMP
28 void leave_mm(int cpu);
29 #else
30 static inline void leave_mm(int cpu)
31 {
32 }
33 #endif
34 
35 #endif /* _ASM_X86_MMU_H */
36