]>
Commit | Line | Data |
---|---|---|
1965aae3 PA |
1 | #ifndef _ASM_X86_MMU_H |
2 | #define _ASM_X86_MMU_H | |
70353023 CS |
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. | |
70353023 | 10 | */ |
710d0e9c | 11 | typedef struct { |
a5b9e5a2 | 12 | #ifdef CONFIG_MODIFY_LDT_SYSCALL |
37868fe1 | 13 | struct ldt_struct *ldt; |
a5b9e5a2 | 14 | #endif |
c2ef45df SW |
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 | ||
af6a25f0 | 21 | struct mutex lock; |
352b78c6 AL |
22 | void __user *vdso; /* vdso base address */ |
23 | const struct vdso_image *vdso_image; /* vdso image in use */ | |
7911d3f7 AL |
24 | |
25 | atomic_t perf_rdpmc_allowed; /* nonzero if rdpmc is allowed */ | |
e8c24d3a DH |
26 | #ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS |
27 | /* | |
28 | * One bit per protection key says whether userspace can | |
29 | * use it or not. protected by mmap_sem. | |
30 | */ | |
31 | u16 pkey_allocation_map; | |
32 | s16 execute_only_pkey; | |
33 | #endif | |
cb02de96 MR |
34 | #ifdef CONFIG_X86_INTEL_MPX |
35 | /* address of the bounds directory */ | |
36 | void __user *bd_addr; | |
37 | #endif | |
70353023 CS |
38 | } mm_context_t; |
39 | ||
bde6f5f5 VP |
40 | #ifdef CONFIG_SMP |
41 | void leave_mm(int cpu); | |
42 | #else | |
43 | static inline void leave_mm(int cpu) | |
44 | { | |
45 | } | |
46 | #endif | |
47 | ||
1965aae3 | 48 | #endif /* _ASM_X86_MMU_H */ |