|
@@ -13,10 +13,12 @@
|
|
#define _PAGE_BIT_DIRTY 6
|
|
#define _PAGE_BIT_DIRTY 6
|
|
#define _PAGE_BIT_FILE 6
|
|
#define _PAGE_BIT_FILE 6
|
|
#define _PAGE_BIT_PSE 7 /* 4 MB (or 2MB) page */
|
|
#define _PAGE_BIT_PSE 7 /* 4 MB (or 2MB) page */
|
|
|
|
+#define _PAGE_BIT_PAT 7 /* on 4KB pages */
|
|
#define _PAGE_BIT_GLOBAL 8 /* Global TLB entry PPro+ */
|
|
#define _PAGE_BIT_GLOBAL 8 /* Global TLB entry PPro+ */
|
|
#define _PAGE_BIT_UNUSED1 9 /* available for programmer */
|
|
#define _PAGE_BIT_UNUSED1 9 /* available for programmer */
|
|
#define _PAGE_BIT_UNUSED2 10
|
|
#define _PAGE_BIT_UNUSED2 10
|
|
#define _PAGE_BIT_UNUSED3 11
|
|
#define _PAGE_BIT_UNUSED3 11
|
|
|
|
+#define _PAGE_BIT_PAT_LARGE 12 /* On 2MB or 1GB pages */
|
|
#define _PAGE_BIT_NX 63 /* No execute: only valid after cpuid check */
|
|
#define _PAGE_BIT_NX 63 /* No execute: only valid after cpuid check */
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -36,6 +38,8 @@
|
|
#define _PAGE_UNUSED1 (_AC(1, L)<<_PAGE_BIT_UNUSED1)
|
|
#define _PAGE_UNUSED1 (_AC(1, L)<<_PAGE_BIT_UNUSED1)
|
|
#define _PAGE_UNUSED2 (_AC(1, L)<<_PAGE_BIT_UNUSED2)
|
|
#define _PAGE_UNUSED2 (_AC(1, L)<<_PAGE_BIT_UNUSED2)
|
|
#define _PAGE_UNUSED3 (_AC(1, L)<<_PAGE_BIT_UNUSED3)
|
|
#define _PAGE_UNUSED3 (_AC(1, L)<<_PAGE_BIT_UNUSED3)
|
|
|
|
+#define _PAGE_PAT (_AC(1, L)<<_PAGE_BIT_PAT)
|
|
|
|
+#define _PAGE_PAT_LARGE (_AC(1, L)<<_PAGE_BIT_PAT_LARGE)
|
|
|
|
|
|
#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
|
|
#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
|
|
#define _PAGE_NX (_AC(1, ULL) << _PAGE_BIT_NX)
|
|
#define _PAGE_NX (_AC(1, ULL) << _PAGE_BIT_NX)
|