2008-10-23 12:26:29 +07:00
|
|
|
#ifndef _ASM_X86_MMU_H
|
|
|
|
#define _ASM_X86_MMU_H
|
2007-10-20 13:56:59 +07:00
|
|
|
|
|
|
|
#include <linux/spinlock.h>
|
|
|
|
#include <linux/mutex.h>
|
|
|
|
|
|
|
|
/*
|
|
|
|
* The x86 doesn't have a mmu context, but
|
|
|
|
* we put the segment information here.
|
|
|
|
*/
|
2008-03-23 15:02:44 +07:00
|
|
|
typedef struct {
|
2015-07-31 04:31:34 +07:00
|
|
|
#ifdef CONFIG_MODIFY_LDT_SYSCALL
|
2015-07-31 04:31:32 +07:00
|
|
|
struct ldt_struct *ldt;
|
2015-07-31 04:31:34 +07:00
|
|
|
#endif
|
2011-03-14 02:49:13 +07:00
|
|
|
|
|
|
|
#ifdef CONFIG_X86_64
|
|
|
|
/* True if mm supports a task running in 32 bit compatibility mode. */
|
|
|
|
unsigned short ia32_compat;
|
|
|
|
#endif
|
|
|
|
|
2011-05-24 20:49:59 +07:00
|
|
|
struct mutex lock;
|
2015-12-30 11:12:21 +07:00
|
|
|
void __user *vdso; /* vdso base address */
|
|
|
|
const struct vdso_image *vdso_image; /* vdso image in use */
|
2014-10-25 05:58:12 +07:00
|
|
|
|
|
|
|
atomic_t perf_rdpmc_allowed; /* nonzero if rdpmc is allowed */
|
2007-10-20 13:56:59 +07:00
|
|
|
} mm_context_t;
|
|
|
|
|
2008-01-30 19:32:01 +07:00
|
|
|
#ifdef CONFIG_SMP
|
|
|
|
void leave_mm(int cpu);
|
|
|
|
#else
|
|
|
|
static inline void leave_mm(int cpu)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2008-10-23 12:26:29 +07:00
|
|
|
#endif /* _ASM_X86_MMU_H */
|