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 <christophe.le...@c-s.fr> --- 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 2bf9bf8867d4..f54922f0d792 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