Go to the documentation of this file.
16 #ifndef _ASM_TILE_PGTABLE_32_H
17 #define _ASM_TILE_PGTABLE_32_H
23 #define PGDIR_SHIFT HPAGE_SHIFT
24 #define PGDIR_SIZE HPAGE_SIZE
25 #define PGDIR_MASK (~(PGDIR_SIZE-1))
26 #define PTRS_PER_PGD _HV_L1_ENTRIES(HPAGE_SHIFT)
27 #define PGD_INDEX(va) _HV_L1_INDEX(va, HPAGE_SHIFT)
28 #define SIZEOF_PGD _HV_L1_SIZE(HPAGE_SHIFT)
37 #define PTRS_PER_PTE _HV_L2_ENTRIES(HPAGE_SHIFT, PAGE_SHIFT)
38 #define PTE_INDEX(va) _HV_L2_INDEX(va, HPAGE_SHIFT, PAGE_SHIFT)
39 #define SIZEOF_PTE _HV_L2_SIZE(HPAGE_SHIFT, PAGE_SHIFT)
53 #define LAST_PKMAP PTRS_PER_PTE
55 #define PKMAP_BASE ((FIXADDR_BOOT_START - PAGE_SIZE*LAST_PKMAP) & PGDIR_MASK)
58 # define __VMAPPING_END (PKMAP_BASE & ~(HPAGE_SIZE-1))
60 # define __VMAPPING_END (FIXADDR_START & ~(HPAGE_SIZE-1))
63 #ifdef CONFIG_HUGEVMAP
64 #define HUGE_VMAP_END __VMAPPING_END
65 #define HUGE_VMAP_BASE (HUGE_VMAP_END - CONFIG_NR_HUGE_VMAPS * HPAGE_SIZE)
66 #define _VMALLOC_END HUGE_VMAP_BASE
68 #define _VMALLOC_END __VMAPPING_END
76 #define VMALLOC_END (_VMALLOC_END - PAGE_SIZE)
78 #define _VMALLOC_START (_VMALLOC_END - VMALLOC_RESERVE)
79 #define VMALLOC_START (_VMALLOC_START + PAGE_SIZE)
82 #define MAXMEM (_VMALLOC_START - PAGE_OFFSET)
88 static inline int pgd_addr_invalid(
unsigned long addr)
99 #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG
100 #define __HAVE_ARCH_PTEP_SET_WRPROTECT
107 #define __HAVE_ARCH_PTEP_GET_AND_CLEAR
121 #define pmd_pte(pmd) ((pmd).pud.pgd)
122 #define pmdp_ptep(pmdp) (&(pmdp)->pud.pgd)
123 #define pte_pmd(pte) ((pmd_t){ { (pte) } })