LCOV - code coverage report
Current view: top level - lkbce/arch/x86/include/asm - pgtable_64_types.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 3 3 100.0 %
Date: 2017-01-25 Functions: 0 0 -

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

Generated by: LCOV version 1.10