diff options
Diffstat (limited to 'arch/mips/include/asm/pgtable-64.h')
-rw-r--r-- | arch/mips/include/asm/pgtable-64.h | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/arch/mips/include/asm/pgtable-64.h b/arch/mips/include/asm/pgtable-64.h index 4ed9d1bba2ba..9cd508993956 100644 --- a/arch/mips/include/asm/pgtable-64.h +++ b/arch/mips/include/asm/pgtable-64.h | |||
@@ -109,13 +109,13 @@ | |||
109 | 109 | ||
110 | #define VMALLOC_START MAP_BASE | 110 | #define VMALLOC_START MAP_BASE |
111 | #define VMALLOC_END \ | 111 | #define VMALLOC_END \ |
112 | (VMALLOC_START + PTRS_PER_PGD * PTRS_PER_PMD * PTRS_PER_PTE * PAGE_SIZE) | 112 | (VMALLOC_START + \ |
113 | PTRS_PER_PGD * PTRS_PER_PMD * PTRS_PER_PTE * PAGE_SIZE - (1UL << 32)) | ||
113 | #if defined(CONFIG_MODULES) && defined(KBUILD_64BIT_SYM32) && \ | 114 | #if defined(CONFIG_MODULES) && defined(KBUILD_64BIT_SYM32) && \ |
114 | VMALLOC_START != CKSSEG | 115 | VMALLOC_START != CKSSEG |
115 | /* Load modules into 32bit-compatible segment. */ | 116 | /* Load modules into 32bit-compatible segment. */ |
116 | #define MODULE_START CKSSEG | 117 | #define MODULE_START CKSSEG |
117 | #define MODULE_END (FIXADDR_START-2*PAGE_SIZE) | 118 | #define MODULE_END (FIXADDR_START-2*PAGE_SIZE) |
118 | extern pgd_t module_pg_dir[PTRS_PER_PGD]; | ||
119 | #endif | 119 | #endif |
120 | 120 | ||
121 | #define pte_ERROR(e) \ | 121 | #define pte_ERROR(e) \ |
@@ -188,12 +188,7 @@ static inline void pud_clear(pud_t *pudp) | |||
188 | #define __pmd_offset(address) pmd_index(address) | 188 | #define __pmd_offset(address) pmd_index(address) |
189 | 189 | ||
190 | /* to find an entry in a kernel page-table-directory */ | 190 | /* to find an entry in a kernel page-table-directory */ |
191 | #ifdef MODULE_START | 191 | #define pgd_offset_k(address) pgd_offset(&init_mm, address) |
192 | #define pgd_offset_k(address) \ | ||
193 | ((address) >= MODULE_START ? module_pg_dir : pgd_offset(&init_mm, 0UL)) | ||
194 | #else | ||
195 | #define pgd_offset_k(address) pgd_offset(&init_mm, 0UL) | ||
196 | #endif | ||
197 | 192 | ||
198 | #define pgd_index(address) (((address) >> PGDIR_SHIFT) & (PTRS_PER_PGD-1)) | 193 | #define pgd_index(address) (((address) >> PGDIR_SHIFT) & (PTRS_PER_PGD-1)) |
199 | #define pmd_index(address) (((address) >> PMD_SHIFT) & (PTRS_PER_PMD-1)) | 194 | #define pmd_index(address) (((address) >> PMD_SHIFT) & (PTRS_PER_PMD-1)) |