When CONFIG_BDI_SWITCH is set, the page tables have to be populated
allthough large TLBs are used, because the BDI switch knows nothing
about those large TLBs which are handled directly in TLB miss logic.

Signed-off-by: Christophe Leroy <[email protected]>
---
 arch/powerpc/mm/pgtable_32.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c
index c4b0eb51f6d8..a000768a5cc9 100644
--- a/arch/powerpc/mm/pgtable_32.c
+++ b/arch/powerpc/mm/pgtable_32.c
@@ -263,7 +263,10 @@ void __init mapin_ram(void)
                if (base >= top)
                        continue;
                base = mmu_mapin_ram(base, top);
-               __mapin_ram_chunk(base, top);
+               if (IS_ENABLED(CONFIG_BDI_SWITCH))
+                       __mapin_ram_chunk(reg->base, top);
+               else
+                       __mapin_ram_chunk(base, top);
        }
 }
 
-- 
2.13.3

Reply via email to