diff options
author | Christophe Leroy <christophe.leroy@csgroup.eu> | 2020-05-19 05:49:23 +0000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2020-05-26 22:22:22 +1000 |
commit | a623bb5861dc442dc8de9edc9b3116f8b7c235c4 (patch) | |
tree | 30e032c3f5793e80dea2ce8edbd3205b602d0d3f /arch/powerpc/mm/nohash/8xx.c | |
parent | 34536d78068318def0a370462cbc3319e1ca9014 (diff) |
powerpc/8xx: Map IMMR with a huge page
Map the IMMR area with a single 512k huge page.
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/9495dba06669da40e133f24607758fa6dcc65f66.1589866984.git.christophe.leroy@csgroup.eu
Diffstat (limited to 'arch/powerpc/mm/nohash/8xx.c')
-rw-r--r-- | arch/powerpc/mm/nohash/8xx.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/powerpc/mm/nohash/8xx.c b/arch/powerpc/mm/nohash/8xx.c index 72fb75f2a5f1..f8fff1fa72e3 100644 --- a/arch/powerpc/mm/nohash/8xx.c +++ b/arch/powerpc/mm/nohash/8xx.c @@ -118,17 +118,13 @@ static bool immr_is_mapped __initdata; void __init mmu_mapin_immr(void) { - unsigned long p = PHYS_IMMR_BASE; - unsigned long v = VIRT_IMMR_BASE; - int offset; - if (immr_is_mapped) return; immr_is_mapped = true; - for (offset = 0; offset < IMMR_SIZE; offset += PAGE_SIZE) - map_kernel_page(v + offset, p + offset, PAGE_KERNEL_NCG); + __early_map_kernel_hugepage(VIRT_IMMR_BASE, PHYS_IMMR_BASE, + PAGE_KERNEL_NCG, MMU_PAGE_512K, true); } unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top) |