Rev 6934 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6934 | Rev 6936 | ||
---|---|---|---|
Line 20... | Line 20... | ||
20 | #define _PAGE_BIT_SOFTW2 10 /* " */ |
20 | #define _PAGE_BIT_SOFTW2 10 /* " */ |
21 | #define _PAGE_BIT_SOFTW3 11 /* " */ |
21 | #define _PAGE_BIT_SOFTW3 11 /* " */ |
22 | #define _PAGE_BIT_PAT_LARGE 12 /* On 2MB or 1GB pages */ |
22 | #define _PAGE_BIT_PAT_LARGE 12 /* On 2MB or 1GB pages */ |
23 | #define _PAGE_BIT_SPECIAL _PAGE_BIT_SOFTW1 |
23 | #define _PAGE_BIT_SPECIAL _PAGE_BIT_SOFTW1 |
24 | #define _PAGE_BIT_CPA_TEST _PAGE_BIT_SOFTW1 |
24 | #define _PAGE_BIT_CPA_TEST _PAGE_BIT_SOFTW1 |
25 | #define _PAGE_BIT_SPLITTING _PAGE_BIT_SOFTW2 /* only valid on a PSE pmd */ |
- | |
26 | #define _PAGE_BIT_HIDDEN _PAGE_BIT_SOFTW3 /* hidden by kmemcheck */ |
25 | #define _PAGE_BIT_HIDDEN _PAGE_BIT_SOFTW3 /* hidden by kmemcheck */ |
27 | #define _PAGE_BIT_SOFT_DIRTY _PAGE_BIT_SOFTW3 /* software dirty tracking */ |
26 | #define _PAGE_BIT_SOFT_DIRTY _PAGE_BIT_SOFTW3 /* software dirty tracking */ |
- | 27 | #define _PAGE_BIT_SOFTW4 58 /* available for programmer */ |
|
- | 28 | #define _PAGE_BIT_DEVMAP _PAGE_BIT_SOFTW4 |
|
28 | #define _PAGE_BIT_NX 63 /* No execute: only valid after cpuid check */ |
29 | #define _PAGE_BIT_NX 63 /* No execute: only valid after cpuid check */ |
Line 29... | Line 30... | ||
29 | 30 | ||
30 | /* If _PAGE_BIT_PRESENT is clear, we use these: */ |
31 | /* If _PAGE_BIT_PRESENT is clear, we use these: */ |
31 | /* - if the user mapped it with PROT_NONE; pte_present gives true */ |
32 | /* - if the user mapped it with PROT_NONE; pte_present gives true */ |
Line 44... | Line 45... | ||
44 | #define _PAGE_SOFTW2 (_AT(pteval_t, 1) << _PAGE_BIT_SOFTW2) |
45 | #define _PAGE_SOFTW2 (_AT(pteval_t, 1) << _PAGE_BIT_SOFTW2) |
45 | #define _PAGE_PAT (_AT(pteval_t, 1) << _PAGE_BIT_PAT) |
46 | #define _PAGE_PAT (_AT(pteval_t, 1) << _PAGE_BIT_PAT) |
46 | #define _PAGE_PAT_LARGE (_AT(pteval_t, 1) << _PAGE_BIT_PAT_LARGE) |
47 | #define _PAGE_PAT_LARGE (_AT(pteval_t, 1) << _PAGE_BIT_PAT_LARGE) |
47 | #define _PAGE_SPECIAL (_AT(pteval_t, 1) << _PAGE_BIT_SPECIAL) |
48 | #define _PAGE_SPECIAL (_AT(pteval_t, 1) << _PAGE_BIT_SPECIAL) |
48 | #define _PAGE_CPA_TEST (_AT(pteval_t, 1) << _PAGE_BIT_CPA_TEST) |
49 | #define _PAGE_CPA_TEST (_AT(pteval_t, 1) << _PAGE_BIT_CPA_TEST) |
49 | #define _PAGE_SPLITTING (_AT(pteval_t, 1) << _PAGE_BIT_SPLITTING) |
- | |
50 | #define __HAVE_ARCH_PTE_SPECIAL |
50 | #define __HAVE_ARCH_PTE_SPECIAL |
Line 51... | Line 51... | ||
51 | 51 | ||
52 | #ifdef CONFIG_KMEMCHECK |
52 | #ifdef CONFIG_KMEMCHECK |
53 | #define _PAGE_HIDDEN (_AT(pteval_t, 1) << _PAGE_BIT_HIDDEN) |
53 | #define _PAGE_HIDDEN (_AT(pteval_t, 1) << _PAGE_BIT_HIDDEN) |
Line 83... | Line 83... | ||
83 | #define _PAGE_SWP_SOFT_DIRTY (_AT(pteval_t, 0)) |
83 | #define _PAGE_SWP_SOFT_DIRTY (_AT(pteval_t, 0)) |
84 | #endif |
84 | #endif |
Line 85... | Line 85... | ||
85 | 85 | ||
86 | #if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) |
86 | #if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) |
- | 87 | #define _PAGE_NX (_AT(pteval_t, 1) << _PAGE_BIT_NX) |
|
- | 88 | #define _PAGE_DEVMAP (_AT(u64, 1) << _PAGE_BIT_DEVMAP) |
|
87 | #define _PAGE_NX (_AT(pteval_t, 1) << _PAGE_BIT_NX) |
89 | #define __HAVE_ARCH_PTE_DEVMAP |
88 | #else |
90 | #else |
- | 91 | #define _PAGE_NX (_AT(pteval_t, 0)) |
|
89 | #define _PAGE_NX (_AT(pteval_t, 0)) |
92 | #define _PAGE_DEVMAP (_AT(pteval_t, 0)) |
Line 90... | Line 93... | ||
90 | #endif |
93 | #endif |
Line 91... | Line 94... | ||
91 | 94 |