mm/core, x86/mm/pkeys: Store protection bits in high VMA flags
[cascardo/linux.git] / include / linux / mm.h
index 4c73178..54d173b 100644 (file)
@@ -170,6 +170,17 @@ extern unsigned int kobjsize(const void *objp);
 #define VM_NOHUGEPAGE  0x40000000      /* MADV_NOHUGEPAGE marked this vma */
 #define VM_MERGEABLE   0x80000000      /* KSM may merge identical pages */
 
+#ifdef CONFIG_ARCH_USES_HIGH_VMA_FLAGS
+#define VM_HIGH_ARCH_BIT_0     32      /* bit only usable on 64-bit architectures */
+#define VM_HIGH_ARCH_BIT_1     33      /* bit only usable on 64-bit architectures */
+#define VM_HIGH_ARCH_BIT_2     34      /* bit only usable on 64-bit architectures */
+#define VM_HIGH_ARCH_BIT_3     35      /* bit only usable on 64-bit architectures */
+#define VM_HIGH_ARCH_0 BIT(VM_HIGH_ARCH_BIT_0)
+#define VM_HIGH_ARCH_1 BIT(VM_HIGH_ARCH_BIT_1)
+#define VM_HIGH_ARCH_2 BIT(VM_HIGH_ARCH_BIT_2)
+#define VM_HIGH_ARCH_3 BIT(VM_HIGH_ARCH_BIT_3)
+#endif /* CONFIG_ARCH_USES_HIGH_VMA_FLAGS */
+
 #if defined(CONFIG_X86)
 # define VM_PAT                VM_ARCH_1       /* PAT reserves whole VMA at once (x86) */
 #elif defined(CONFIG_PPC)