blob: 55234d5e7160db83bd9854a40c87b8e70593b3c7 [file] [log] [blame]
Kyle Swenson8d8f6542021-03-15 11:02:55 -06001#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 */
11typedef 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
28void leave_mm(int cpu);
29#else
30static inline void leave_mm(int cpu)
31{
32}
33#endif
34
35#endif /* _ASM_X86_MMU_H */