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_PAGE_DEFS_H 2: #define _ASM_X86_PAGE_DEFS_H 3: 4: #include <linux/const.h> 5: #include <linux/types.h> 6: 7: /* PAGE_SHIFT determines the page size */ 8: #define PAGE_SHIFT 12 9: #define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT) 10: #define PAGE_MASK (~(PAGE_SIZE-1)) 11: 12: #define __PHYSICAL_MASK ((phys_addr_t)((1ULL << __PHYSICAL_MASK_SHIFT) - 1)) 13: #define __VIRTUAL_MASK ((1UL << __VIRTUAL_MASK_SHIFT) - 1) 14: 15: /* Cast PAGE_MASK to a signed type so that it is sign-extended if 16: virtual addresses are 32-bits but physical addresses are larger 17: (ie, 32-bit PAE). */ 18: #define PHYSICAL_PAGE_MASK (((signed long)PAGE_MASK) & __PHYSICAL_MASK) 19: 20: #define PMD_PAGE_SIZE (_AC(1, UL) << PMD_SHIFT) 21: #define PMD_PAGE_MASK (~(PMD_PAGE_SIZE-1)) 22: 23: #define HPAGE_SHIFT PMD_SHIFT 24: #define HPAGE_SIZE (_AC(1,UL) << HPAGE_SHIFT) 25: #define HPAGE_MASK (~(HPAGE_SIZE - 1)) 26: #define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) 27: 28: #define HUGE_MAX_HSTATE 2 29: 30: #define PAGE_OFFSET ((unsigned long)__PAGE_OFFSET) 31: 32: #define VM_DATA_DEFAULT_FLAGS \ 33: (((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \ 34: VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) 35: 36: #define __PHYSICAL_START ALIGN(CONFIG_PHYSICAL_START, \ 37: CONFIG_PHYSICAL_ALIGN) 38: 39: #define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START) 40: 41: #ifdef CONFIG_X86_64 42: #include <asm/page_64_types.h> 43: #else 44: #include <asm/page_32_types.h> 45: #endif /* CONFIG_X86_64 */ 46: 47: #ifndef __ASSEMBLY__ 48: 49: extern int devmem_is_allowed(unsigned long pagenr); 50: 51: extern unsigned long max_low_pfn_mapped; 52: extern unsigned long max_pfn_mapped; 53: 54: static inline phys_addr_t get_max_mapped(void) 55: { 56: return (phys_addr_t)max_pfn_mapped << PAGE_SHIFT; 57: } 58: 59: bool pfn_range_is_mapped(unsigned long start_pfn, unsigned long end_pfn); 60: 61: extern unsigned long init_memory_mapping(unsigned long start, 62: unsigned long end); 63: 64: extern void initmem_init(void); 65: 66: #endif /* !__ASSEMBLY__ */ 67: 68: #endif /* _ASM_X86_PAGE_DEFS_H */ 69: