Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+11 -10
-2
arch/x86/include/asm/page_32_types.h
··· 33 33 /* 44=32+12, the limit we can fit into an unsigned long pfn */ 34 34 #define __PHYSICAL_MASK_SHIFT 44 35 35 #define __VIRTUAL_MASK_SHIFT 32 36 - #define PAGETABLE_LEVELS 3 37 36 38 37 #else /* !CONFIG_X86_PAE */ 39 38 #define __PHYSICAL_MASK_SHIFT 32 40 39 #define __VIRTUAL_MASK_SHIFT 32 41 - #define PAGETABLE_LEVELS 2 42 40 #endif /* CONFIG_X86_PAE */ 43 41 44 42 #ifndef __ASSEMBLY__
-2
arch/x86/include/asm/page_64_types.h
··· 1 1 #ifndef _ASM_X86_PAGE_64_DEFS_H 2 2 #define _ASM_X86_PAGE_64_DEFS_H 3 3 4 - #define PAGETABLE_LEVELS 4 5 - 6 4 #define THREAD_ORDER 1 7 5 #define THREAD_SIZE (PAGE_SIZE << THREAD_ORDER) 8 6 #define CURRENT_MASK (~(THREAD_SIZE - 1))
-6
arch/x86/include/asm/page_types.h
··· 16 16 (ie, 32-bit PAE). */ 17 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 19 #define PMD_PAGE_SIZE (_AC(1, UL) << PMD_SHIFT) 26 20 #define PMD_PAGE_MASK (~(PMD_PAGE_SIZE-1)) 27 21
+2
arch/x86/include/asm/pgtable-2level_types.h
··· 17 17 #endif /* !__ASSEMBLY__ */ 18 18 19 19 #define SHARED_KERNEL_PMD 0 20 + #define PAGETABLE_LEVELS 2 20 21 21 22 /* 22 23 * traditional i386 two-level paging structure: ··· 25 24 26 25 #define PGDIR_SHIFT 22 27 26 #define PTRS_PER_PGD 1024 27 + 28 28 29 29 /* 30 30 * the i386 is two-level, so we don't really have any
+2
arch/x86/include/asm/pgtable-3level_types.h
··· 24 24 #define SHARED_KERNEL_PMD 1 25 25 #endif 26 26 27 + #define PAGETABLE_LEVELS 3 28 + 27 29 /* 28 30 * PGDIR_SHIFT determines what a top-level page table entry can map 29 31 */
+1
arch/x86/include/asm/pgtable_64_types.h
··· 18 18 #endif /* !__ASSEMBLY__ */ 19 19 20 20 #define SHARED_KERNEL_PMD 0 21 + #define PAGETABLE_LEVELS 4 21 22 22 23 /* 23 24 * PGDIR_SHIFT determines what a top-level page table entry can map
+6
arch/x86/include/asm/pgtable_types.h
··· 173 173 174 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 182 typedef struct pgprot { pgprotval_t pgprot; } pgprot_t; 177 183 178 184 typedef struct { pgdval_t pgd; } pgd_t;