Commit b5460634 authored by Alexandre Ghiti's avatar Alexandre Ghiti Committed by Wen Zhiwei
Browse files

riscv: Do not restrict memory size because of linear mapping on nommu

stable inclusion
from stable-v6.6.51
commit bd29d8452079085a1d91427ac81ceeddf7940279
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IAYRVR

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=bd29d8452079085a1d91427ac81ceeddf7940279



--------------------------------

[ Upstream commit 5f771088a2b5edd6f2c5c9f34484ca18dc389f3e ]

It makes no sense to restrict physical memory size because of linear
mapping size constraints when there is no linear mapping, so only do
that when mmu is enabled.

Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Closes: https://lore.kernel.org/linux-riscv/CAMuHMdW0bnJt5GMRtOZGkTiM7GK4UaLJCDMF_Ouq++fnDKi3_A@mail.gmail.com/


Fixes: 3b6564427aea ("riscv: Fix linear mapping checks for non-contiguous memory regions")
Signed-off-by: default avatarAlexandre Ghiti <alexghiti@rivosinc.com>
Tested-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20240827065230.145021-1-alexghiti@rivosinc.com


Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarWen Zhiwei <wenzhiwei@kylinos.cn>
parent 578ec8d4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -235,7 +235,7 @@ static void __init setup_bootmem(void)
	 * The size of the linear page mapping may restrict the amount of
	 * usable RAM.
	 */
	if (IS_ENABLED(CONFIG_64BIT)) {
	if (IS_ENABLED(CONFIG_64BIT) && IS_ENABLED(CONFIG_MMU)) {
		max_mapped_addr = __pa(PAGE_OFFSET) + KERN_VIRT_SIZE;
		memblock_cap_memory_range(phys_ram_base,
					  max_mapped_addr - phys_ram_base);