Loading arch/mips/mm/init.c +2 −2 Original line number Diff line number Diff line Loading @@ -96,8 +96,8 @@ static void __init kmap_init(void) kmap_prot = PAGE_KERNEL; } #ifdef CONFIG_64BIT static void __init fixrange_init(unsigned long start, unsigned long end, #ifdef CONFIG_32BIT void __init fixrange_init(unsigned long start, unsigned long end, pgd_t *pgd_base) { pgd_t *pgd; Loading arch/mips/mm/pgtable-32.c +1 −31 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ #include <linux/mm.h> #include <linux/bootmem.h> #include <linux/highmem.h> #include <asm/fixmap.h> #include <asm/pgtable.h> void pgd_init(unsigned long page) Loading @@ -29,37 +30,6 @@ void pgd_init(unsigned long page) } } #ifdef CONFIG_HIGHMEM static void __init fixrange_init (unsigned long start, unsigned long end, pgd_t *pgd_base) { pgd_t *pgd; pmd_t *pmd; pte_t *pte; int i, j; unsigned long vaddr; vaddr = start; i = __pgd_offset(vaddr); j = __pmd_offset(vaddr); pgd = pgd_base + i; for ( ; (i < PTRS_PER_PGD) && (vaddr != end); pgd++, i++) { pmd = (pmd_t *)pgd; for (; (j < PTRS_PER_PMD) && (vaddr != end); pmd++, j++) { if (pmd_none(*pmd)) { pte = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE); set_pmd(pmd, __pmd((unsigned long)pte)); if (pte != pte_offset_kernel(pmd, 0)) BUG(); } vaddr += PMD_SIZE; } j = 0; } } #endif void __init pagetable_init(void) { #ifdef CONFIG_HIGHMEM Loading include/asm-mips/fixmap.h +7 −0 Original line number Diff line number Diff line Loading @@ -107,4 +107,11 @@ static inline unsigned long virt_to_fix(const unsigned long vaddr) return __virt_to_fix(vaddr); } /* * Called from pgtable_init() */ extern void fixrange_init(unsigned long start, unsigned long end, pgd_t *pgd_base); #endif Loading
arch/mips/mm/init.c +2 −2 Original line number Diff line number Diff line Loading @@ -96,8 +96,8 @@ static void __init kmap_init(void) kmap_prot = PAGE_KERNEL; } #ifdef CONFIG_64BIT static void __init fixrange_init(unsigned long start, unsigned long end, #ifdef CONFIG_32BIT void __init fixrange_init(unsigned long start, unsigned long end, pgd_t *pgd_base) { pgd_t *pgd; Loading
arch/mips/mm/pgtable-32.c +1 −31 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ #include <linux/mm.h> #include <linux/bootmem.h> #include <linux/highmem.h> #include <asm/fixmap.h> #include <asm/pgtable.h> void pgd_init(unsigned long page) Loading @@ -29,37 +30,6 @@ void pgd_init(unsigned long page) } } #ifdef CONFIG_HIGHMEM static void __init fixrange_init (unsigned long start, unsigned long end, pgd_t *pgd_base) { pgd_t *pgd; pmd_t *pmd; pte_t *pte; int i, j; unsigned long vaddr; vaddr = start; i = __pgd_offset(vaddr); j = __pmd_offset(vaddr); pgd = pgd_base + i; for ( ; (i < PTRS_PER_PGD) && (vaddr != end); pgd++, i++) { pmd = (pmd_t *)pgd; for (; (j < PTRS_PER_PMD) && (vaddr != end); pmd++, j++) { if (pmd_none(*pmd)) { pte = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE); set_pmd(pmd, __pmd((unsigned long)pte)); if (pte != pte_offset_kernel(pmd, 0)) BUG(); } vaddr += PMD_SIZE; } j = 0; } } #endif void __init pagetable_init(void) { #ifdef CONFIG_HIGHMEM Loading
include/asm-mips/fixmap.h +7 −0 Original line number Diff line number Diff line Loading @@ -107,4 +107,11 @@ static inline unsigned long virt_to_fix(const unsigned long vaddr) return __virt_to_fix(vaddr); } /* * Called from pgtable_init() */ extern void fixrange_init(unsigned long start, unsigned long end, pgd_t *pgd_base); #endif