linux/arch/x86/include/asm/mmu.h
<<
>>
Prefs
   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 */
  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;                      /* vdso base address */
  23        const struct vdso_image *vdso_image;    /* vdso image in use */
  24
  25        atomic_t perf_rdpmc_allowed;    /* nonzero if rdpmc is allowed */
  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
  34#ifdef CONFIG_X86_INTEL_MPX
  35        /* address of the bounds directory */
  36        void __user *bd_addr;
  37#endif
  38} mm_context_t;
  39
  40void leave_mm(int cpu);
  41
  42#endif /* _ASM_X86_MMU_H */
  43