diff options
author | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-02-13 14:01:54 -0500 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-02-13 14:35:01 -0500 |
commit | 9b3651cbc26cfcea8276ecaff66718ea087f2e91 (patch) | |
tree | ad5653060f1a0ea1981537cfa01719892ac14341 /arch/x86/include/asm | |
parent | 0341c14da49e7b93d2998926f6ac89a3129e3fa1 (diff) |
x86: move more pagetable-related definitions into pgtable*.h
PAGETABLE_LEVELS and the PTE masks should be in pgtable*.h
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Diffstat (limited to 'arch/x86/include/asm')
-rw-r--r-- | arch/x86/include/asm/page_32_types.h | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/page_64_types.h | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/page_types.h | 6 | ||||
-rw-r--r-- | arch/x86/include/asm/pgtable-2level_types.h | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/pgtable-3level_types.h | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/pgtable_64_types.h | 1 | ||||
-rw-r--r-- | arch/x86/include/asm/pgtable_types.h | 6 |
7 files changed, 11 insertions, 10 deletions
diff --git a/arch/x86/include/asm/page_32_types.h b/arch/x86/include/asm/page_32_types.h index b5486aaf36ec..f1e4a79a6e41 100644 --- a/arch/x86/include/asm/page_32_types.h +++ b/arch/x86/include/asm/page_32_types.h | |||
@@ -33,12 +33,10 @@ | |||
33 | /* 44=32+12, the limit we can fit into an unsigned long pfn */ | 33 | /* 44=32+12, the limit we can fit into an unsigned long pfn */ |
34 | #define __PHYSICAL_MASK_SHIFT 44 | 34 | #define __PHYSICAL_MASK_SHIFT 44 |
35 | #define __VIRTUAL_MASK_SHIFT 32 | 35 | #define __VIRTUAL_MASK_SHIFT 32 |
36 | #define PAGETABLE_LEVELS 3 | ||
37 | 36 | ||
38 | #else /* !CONFIG_X86_PAE */ | 37 | #else /* !CONFIG_X86_PAE */ |
39 | #define __PHYSICAL_MASK_SHIFT 32 | 38 | #define __PHYSICAL_MASK_SHIFT 32 |
40 | #define __VIRTUAL_MASK_SHIFT 32 | 39 | #define __VIRTUAL_MASK_SHIFT 32 |
41 | #define PAGETABLE_LEVELS 2 | ||
42 | #endif /* CONFIG_X86_PAE */ | 40 | #endif /* CONFIG_X86_PAE */ |
43 | 41 | ||
44 | #ifndef __ASSEMBLY__ | 42 | #ifndef __ASSEMBLY__ |
diff --git a/arch/x86/include/asm/page_64_types.h b/arch/x86/include/asm/page_64_types.h index bc73af3eda9c..d38c91b70248 100644 --- a/arch/x86/include/asm/page_64_types.h +++ b/arch/x86/include/asm/page_64_types.h | |||
@@ -1,8 +1,6 @@ | |||
1 | #ifndef _ASM_X86_PAGE_64_DEFS_H | 1 | #ifndef _ASM_X86_PAGE_64_DEFS_H |
2 | #define _ASM_X86_PAGE_64_DEFS_H | 2 | #define _ASM_X86_PAGE_64_DEFS_H |
3 | 3 | ||
4 | #define PAGETABLE_LEVELS 4 | ||
5 | |||
6 | #define THREAD_ORDER 1 | 4 | #define THREAD_ORDER 1 |
7 | #define THREAD_SIZE (PAGE_SIZE << THREAD_ORDER) | 5 | #define THREAD_SIZE (PAGE_SIZE << THREAD_ORDER) |
8 | #define CURRENT_MASK (~(THREAD_SIZE - 1)) | 6 | #define CURRENT_MASK (~(THREAD_SIZE - 1)) |
diff --git a/arch/x86/include/asm/page_types.h b/arch/x86/include/asm/page_types.h index 2c52ff767584..2d625da6603c 100644 --- a/arch/x86/include/asm/page_types.h +++ b/arch/x86/include/asm/page_types.h | |||
@@ -16,12 +16,6 @@ | |||
16 | (ie, 32-bit PAE). */ | 16 | (ie, 32-bit PAE). */ |
17 | #define PHYSICAL_PAGE_MASK (((signed long)PAGE_MASK) & __PHYSICAL_MASK) | 17 | #define PHYSICAL_PAGE_MASK (((signed long)PAGE_MASK) & __PHYSICAL_MASK) |
18 | 18 | ||
19 | /* PTE_PFN_MASK extracts the PFN from a (pte|pmd|pud|pgd)val_t */ | ||
20 | #define PTE_PFN_MASK ((pteval_t)PHYSICAL_PAGE_MASK) | ||
21 | |||
22 | /* PTE_FLAGS_MASK extracts the flags from a (pte|pmd|pud|pgd)val_t */ | ||
23 | #define PTE_FLAGS_MASK (~PTE_PFN_MASK) | ||
24 | |||
25 | #define PMD_PAGE_SIZE (_AC(1, UL) << PMD_SHIFT) | 19 | #define PMD_PAGE_SIZE (_AC(1, UL) << PMD_SHIFT) |
26 | #define PMD_PAGE_MASK (~(PMD_PAGE_SIZE-1)) | 20 | #define PMD_PAGE_MASK (~(PMD_PAGE_SIZE-1)) |
27 | 21 | ||
diff --git a/arch/x86/include/asm/pgtable-2level_types.h b/arch/x86/include/asm/pgtable-2level_types.h index 09ae67efcebd..daacc23e3fb9 100644 --- a/arch/x86/include/asm/pgtable-2level_types.h +++ b/arch/x86/include/asm/pgtable-2level_types.h | |||
@@ -17,6 +17,7 @@ typedef union { | |||
17 | #endif /* !__ASSEMBLY__ */ | 17 | #endif /* !__ASSEMBLY__ */ |
18 | 18 | ||
19 | #define SHARED_KERNEL_PMD 0 | 19 | #define SHARED_KERNEL_PMD 0 |
20 | #define PAGETABLE_LEVELS 2 | ||
20 | 21 | ||
21 | /* | 22 | /* |
22 | * traditional i386 two-level paging structure: | 23 | * traditional i386 two-level paging structure: |
@@ -25,6 +26,7 @@ typedef union { | |||
25 | #define PGDIR_SHIFT 22 | 26 | #define PGDIR_SHIFT 22 |
26 | #define PTRS_PER_PGD 1024 | 27 | #define PTRS_PER_PGD 1024 |
27 | 28 | ||
29 | |||
28 | /* | 30 | /* |
29 | * the i386 is two-level, so we don't really have any | 31 | * the i386 is two-level, so we don't really have any |
30 | * PMD directory physically. | 32 | * PMD directory physically. |
diff --git a/arch/x86/include/asm/pgtable-3level_types.h b/arch/x86/include/asm/pgtable-3level_types.h index bcc89625ebe5..1bd5876c8649 100644 --- a/arch/x86/include/asm/pgtable-3level_types.h +++ b/arch/x86/include/asm/pgtable-3level_types.h | |||
@@ -24,6 +24,8 @@ typedef union { | |||
24 | #define SHARED_KERNEL_PMD 1 | 24 | #define SHARED_KERNEL_PMD 1 |
25 | #endif | 25 | #endif |
26 | 26 | ||
27 | #define PAGETABLE_LEVELS 3 | ||
28 | |||
27 | /* | 29 | /* |
28 | * PGDIR_SHIFT determines what a top-level page table entry can map | 30 | * PGDIR_SHIFT determines what a top-level page table entry can map |
29 | */ | 31 | */ |
diff --git a/arch/x86/include/asm/pgtable_64_types.h b/arch/x86/include/asm/pgtable_64_types.h index 2f59135c6f2a..fbf42b8e0383 100644 --- a/arch/x86/include/asm/pgtable_64_types.h +++ b/arch/x86/include/asm/pgtable_64_types.h | |||
@@ -18,6 +18,7 @@ typedef struct { pteval_t pte; } pte_t; | |||
18 | #endif /* !__ASSEMBLY__ */ | 18 | #endif /* !__ASSEMBLY__ */ |
19 | 19 | ||
20 | #define SHARED_KERNEL_PMD 0 | 20 | #define SHARED_KERNEL_PMD 0 |
21 | #define PAGETABLE_LEVELS 4 | ||
21 | 22 | ||
22 | /* | 23 | /* |
23 | * PGDIR_SHIFT determines what a top-level page table entry can map | 24 | * PGDIR_SHIFT determines what a top-level page table entry can map |
diff --git a/arch/x86/include/asm/pgtable_types.h b/arch/x86/include/asm/pgtable_types.h index 9dafe87be2de..4d258ad76a0f 100644 --- a/arch/x86/include/asm/pgtable_types.h +++ b/arch/x86/include/asm/pgtable_types.h | |||
@@ -173,6 +173,12 @@ | |||
173 | 173 | ||
174 | #include <linux/types.h> | 174 | #include <linux/types.h> |
175 | 175 | ||
176 | /* PTE_PFN_MASK extracts the PFN from a (pte|pmd|pud|pgd)val_t */ | ||
177 | #define PTE_PFN_MASK ((pteval_t)PHYSICAL_PAGE_MASK) | ||
178 | |||
179 | /* PTE_FLAGS_MASK extracts the flags from a (pte|pmd|pud|pgd)val_t */ | ||
180 | #define PTE_FLAGS_MASK (~PTE_PFN_MASK) | ||
181 | |||
176 | typedef struct pgprot { pgprotval_t pgprot; } pgprot_t; | 182 | typedef struct pgprot { pgprotval_t pgprot; } pgprot_t; |
177 | 183 | ||
178 | typedef struct { pgdval_t pgd; } pgd_t; | 184 | typedef struct { pgdval_t pgd; } pgd_t; |