|
@@ -24,7 +24,9 @@
|
|
|
#define _PAGE_BIT_CPA_TEST _PAGE_BIT_SOFTW1
|
|
|
#define _PAGE_BIT_HIDDEN _PAGE_BIT_SOFTW3 /* hidden by kmemcheck */
|
|
|
#define _PAGE_BIT_SOFT_DIRTY _PAGE_BIT_SOFTW3 /* software dirty tracking */
|
|
|
-#define _PAGE_BIT_NX 63 /* No execute: only valid after cpuid check */
|
|
|
+#define _PAGE_BIT_SOFTW4 58 /* available for programmer */
|
|
|
+#define _PAGE_BIT_DEVMAP _PAGE_BIT_SOFTW4
|
|
|
+#define _PAGE_BIT_NX 63 /* No execute: only valid after cpuid check */
|
|
|
|
|
|
/* If _PAGE_BIT_PRESENT is clear, we use these: */
|
|
|
/* - if the user mapped it with PROT_NONE; pte_present gives true */
|
|
@@ -83,8 +85,11 @@
|
|
|
|
|
|
#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
|
|
|
#define _PAGE_NX (_AT(pteval_t, 1) << _PAGE_BIT_NX)
|
|
|
+#define _PAGE_DEVMAP (_AT(u64, 1) << _PAGE_BIT_DEVMAP)
|
|
|
+#define __HAVE_ARCH_PTE_DEVMAP
|
|
|
#else
|
|
|
#define _PAGE_NX (_AT(pteval_t, 0))
|
|
|
+#define _PAGE_DEVMAP (_AT(pteval_t, 0))
|
|
|
#endif
|
|
|
|
|
|
#define _PAGE_PROTNONE (_AT(pteval_t, 1) << _PAGE_BIT_PROTNONE)
|