Map the IMMR area with a single 512k huge page.

Signed-off-by: Christophe Leroy <christophe.le...@csgroup.eu>
---
 arch/powerpc/mm/nohash/8xx.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/arch/powerpc/mm/nohash/8xx.c b/arch/powerpc/mm/nohash/8xx.c
index 570ab2114a73..fb31a0c1c2a4 100644
--- a/arch/powerpc/mm/nohash/8xx.c
+++ b/arch/powerpc/mm/nohash/8xx.c
@@ -117,17 +117,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)
-- 
2.25.0

Reply via email to