File: /Users/paulross/dev/linux/linux-3.13/arch/x86/include/asm/page_64_types.h

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_64_DEFS_H
       2: #define _ASM_X86_PAGE_64_DEFS_H
       3: 
       4: #define THREAD_SIZE_ORDER    1
       5: #define THREAD_SIZE  (PAGE_SIZE << THREAD_SIZE_ORDER)
       6: #define CURRENT_MASK (~(THREAD_SIZE - 1))
       7: 
       8: #define EXCEPTION_STACK_ORDER 0
       9: #define EXCEPTION_STKSZ (PAGE_SIZE << EXCEPTION_STACK_ORDER)
      10: 
      11: #define DEBUG_STACK_ORDER (EXCEPTION_STACK_ORDER + 1)
      12: #define DEBUG_STKSZ (PAGE_SIZE << DEBUG_STACK_ORDER)
      13: 
      14: #define IRQ_STACK_ORDER 2
      15: #define IRQ_STACK_SIZE (PAGE_SIZE << IRQ_STACK_ORDER)
      16: 
      17: #define STACKFAULT_STACK 1
      18: #define DOUBLEFAULT_STACK 2
      19: #define NMI_STACK 3
      20: #define DEBUG_STACK 4
      21: #define MCE_STACK 5
      22: #define N_EXCEPTION_STACKS 5  /* hw limit: 7 */
      23: 
      24: #define PUD_PAGE_SIZE        (_AC(1, UL) << PUD_SHIFT)
      25: #define PUD_PAGE_MASK        (~(PUD_PAGE_SIZE-1))
      26: 
      27: /*
      28:  * Set __PAGE_OFFSET to the most negative possible address +
      29:  * PGDIR_SIZE*16 (pgd slot 272).  The gap is to allow a space for a
      30:  * hypervisor to fit.  Choosing 16 slots here is arbitrary, but it's
      31:  * what Xen requires.
      32:  */
      33: #define __PAGE_OFFSET           _AC(0xffff880000000000, UL)
      34: 
      35: #define __START_KERNEL_map    _AC(0xffffffff80000000, UL)
      36: 
      37: /* See Documentation/x86/x86_64/mm.txt for a description of the memory map. */
      38: #define __PHYSICAL_MASK_SHIFT    46
      39: #define __VIRTUAL_MASK_SHIFT    47
      40: 
      41: /*
      42:  * Kernel image size is limited to 512 MB (see level2_kernel_pgt in
      43:  * arch/x86/kernel/head_64.S), and it is mapped here:
      44:  */
      45: #define KERNEL_IMAGE_SIZE    (512 * 1024 * 1024)
      46: 
      47: #endif /* _ASM_X86_PAGE_64_DEFS_H */
      48: