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 void *ldt; 13 int size; 14 15 #ifdef CONFIG_X86_64 16 /* True if mm supports a task running in 32 bit compatibility mode. */ 17 unsigned short ia32_compat; 18 #endif 19 20 struct mutex lock; 21 void __user *vdso; 22 23 atomic_t perf_rdpmc_allowed; /* nonzero if rdpmc is allowed */ 24 } mm_context_t; 25 26 #ifdef CONFIG_SMP 27 void leave_mm(int cpu); 28 #else 29 static inline void leave_mm(int cpu) 30 { 31 } 32 #endif 33 34 #endif /* _ASM_X86_MMU_H */ 35