]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
MIPS: use 3-level pgtable for 64KB page size on MIPS_VA_BITS_48
authorHuang Pei <huangpei@loongson.cn>
Thu, 25 Nov 2021 10:59:48 +0000 (18:59 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Dec 2021 08:27:43 +0000 (09:27 +0100)
[ Upstream commit 41ce097f714401e6ad8f3f5eb30d7f91b0b5e495 ]

It hangup when booting Loongson 3A1000 with BOTH
CONFIG_PAGE_SIZE_64KB and CONFIG_MIPS_VA_BITS_48, that it turn
out to use 2-level pgtable instead of 3-level. 64KB page size
with 2-level pgtable only cover 42 bits VA, use 3-level pgtable
to cover all 48 bits VA(55 bits)

Fixes: 1e321fa917fb ("MIPS64: Support of at least 48 bits of SEGBITS)
Signed-off-by: Huang Pei <huangpei@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/mips/Kconfig

index e513528be3ad7f511d0c89c2329be5dbfe605346..8a227a80f6bd5fdf8d19cbac187e847158308850 100644 (file)
@@ -2991,7 +2991,7 @@ config HAVE_LATENCYTOP_SUPPORT
 config PGTABLE_LEVELS
        int
        default 4 if PAGE_SIZE_4KB && MIPS_VA_BITS_48
-       default 3 if 64BIT && !PAGE_SIZE_64KB
+       default 3 if 64BIT && (!PAGE_SIZE_64KB || MIPS_VA_BITS_48)
        default 2
 
 config MIPS_AUTO_PFN_OFFSET