1 #ifndef _X86_64_PAGE_H 2 #define _X86_64_PAGE_H 3 4 #include <linux/const.h> 5 6 /* PAGE_SHIFT determines the page size */ 7 #define PAGE_SHIFT 12 8 #define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT) 9 #define PAGE_MASK (~(PAGE_SIZE-1)) 10 #define PHYSICAL_PAGE_MASK (~(PAGE_SIZE-1) & __PHYSICAL_MASK) 11 12 #define THREAD_ORDER 1 13 #define THREAD_SIZE (PAGE_SIZE << THREAD_ORDER) 14 #define CURRENT_MASK (~(THREAD_SIZE-1)) 15 16 #define EXCEPTION_STACK_ORDER 0 17 #define EXCEPTION_STKSZ (PAGE_SIZE << EXCEPTION_STACK_ORDER) 18 19 #define DEBUG_STACK_ORDER (EXCEPTION_STACK_ORDER + 1) 20 #define DEBUG_STKSZ (PAGE_SIZE << DEBUG_STACK_ORDER) 21 22 #define IRQSTACK_ORDER 2 23 #define IRQSTACKSIZE (PAGE_SIZE << IRQSTACK_ORDER) 24 25 #define STACKFAULT_STACK 1 26 #define DOUBLEFAULT_STACK 2 27 #define NMI_STACK 3 28 #define DEBUG_STACK 4 29 #define MCE_STACK 5 30 #define N_EXCEPTION_STACKS 5 /* hw limit: 7 */ 31 32 #define LARGE_PAGE_MASK (~(LARGE_PAGE_SIZE-1)) 33 #define LARGE_PAGE_SIZE (_AC(1,UL) << PMD_SHIFT) 34 35 #define HPAGE_SHIFT PMD_SHIFT 36 #define HPAGE_SIZE (_AC(1,UL) << HPAGE_SHIFT) 37 #define HPAGE_MASK (~(HPAGE_SIZE - 1)) 38 #define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) 39 40 41 #endif /* _X86_64_PAGE_H */ 42