Subversion Repositories Kolibri OS

Rev

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