From: Huang Pei Date: Thu, 25 Nov 2021 10:59:48 +0000 (+0800) Subject: MIPS: use 3-level pgtable for 64KB page size on MIPS_VA_BITS_48 X-Git-Tag: accepted/tizen/unified/20230118.172025~4696 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a6a75b537a4f612bf51ac40d86ce652d42fc2f4b;p=platform%2Fkernel%2Flinux-rpi.git MIPS: use 3-level pgtable for 64KB page size on MIPS_VA_BITS_48 [ 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 Signed-off-by: Thomas Bogendoerfer Signed-off-by: Sasha Levin --- diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index a917d40..23654cc 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -3189,7 +3189,7 @@ config STACKTRACE_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