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; /* vdso base address */ 23 const struct vdso_image *vdso_image; /* vdso image in use */ 24 25 atomic_t perf_rdpmc_allowed; /* nonzero if rdpmc is allowed */ 26 } mm_context_t; 27 28 #ifdef CONFIG_SMP 29 void leave_mm(int cpu); 30 #else 31 static inline void leave_mm(int cpu) 32 { 33 } 34 #endif 35 36 #endif /* _ASM_X86_MMU_H */ 37