Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.
1: #ifndef _ASM_X86_PGTABLE_64_DEFS_H 2: #define _ASM_X86_PGTABLE_64_DEFS_H 3: 4: #include <asm/sparsemem.h> 5: 6: #ifndef __ASSEMBLY__ 7: #include <linux/types.h> 8: 9: /* 10: * These are used to make use of C type-checking.. 11: */ 12: typedef unsigned long pteval_t; 13: typedef unsigned long pmdval_t; 14: typedef unsigned long pudval_t; 15: typedef unsigned long pgdval_t; 16: typedef unsigned long pgprotval_t; 17: 18: typedef struct { pteval_t pte; } pte_t; 19: 20: #endif /* !__ASSEMBLY__ */ 21: 22: #define SHARED_KERNEL_PMD 0 23: #define PAGETABLE_LEVELS 4 24: 25: /* 26: * PGDIR_SHIFT determines what a top-level page table entry can map 27: */ 28: #define PGDIR_SHIFT 39 29: #define PTRS_PER_PGD 512 30: 31: /* 32: * 3rd level page 33: */ 34: #define PUD_SHIFT 30 35: #define PTRS_PER_PUD 512 36: 37: /* 38: * PMD_SHIFT determines the size of the area a middle-level 39: * page table can map 40: */ 41: #define PMD_SHIFT 21 42: #define PTRS_PER_PMD 512 43: 44: /* 45: * entries per page directory level 46: */ 47: #define PTRS_PER_PTE 512 48: 49: #define PMD_SIZE (_AC(1, UL) << PMD_SHIFT) 50: #define PMD_MASK (~(PMD_SIZE - 1)) 51: #define PUD_SIZE (_AC(1, UL) << PUD_SHIFT) 52: #define PUD_MASK (~(PUD_SIZE - 1)) 53: #define PGDIR_SIZE (_AC(1, UL) << PGDIR_SHIFT) 54: #define PGDIR_MASK (~(PGDIR_SIZE - 1)) 55: 56: /* See Documentation/x86/x86_64/mm.txt for a description of the memory map. */ 57: #define MAXMEM _AC(__AC(1, UL) << MAX_PHYSMEM_BITS, UL) 58: #define VMALLOC_START _AC(0xffffc90000000000, UL) 59: #define VMALLOC_END _AC(0xffffe8ffffffffff, UL) 60: #define VMEMMAP_START _AC(0xffffea0000000000, UL) 61: #define MODULES_VADDR _AC(0xffffffffa0000000, UL) 62: #define MODULES_END _AC(0xffffffffff000000, UL) 63: #define MODULES_LEN (MODULES_END - MODULES_VADDR) 64: 65: #define EARLY_DYNAMIC_PAGE_TABLES 64 66: 67: #endif /* _ASM_X86_PGTABLE_64_DEFS_H */ 68: