]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blame - arch/x86/include/asm/mmu.h
x86/mpx: Move bd_addr to mm_context_t
[mirror_ubuntu-zesty-kernel.git] / arch / x86 / include / asm / mmu.h
CommitLineData
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 11typedef 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
41void leave_mm(int cpu);
42#else
43static inline void leave_mm(int cpu)
44{
45}
46#endif
47
1965aae3 48#endif /* _ASM_X86_MMU_H */