linux-riscv.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] riscv: Fix memory_limit for 64-bit kernel
@ 2021-06-29  9:13 Alexandre Ghiti
  2021-06-29  9:13 ` [PATCH 2/3] riscv: Make sure the linear mapping does not use the kernel mapping Alexandre Ghiti
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Alexandre Ghiti @ 2021-06-29  9:13 UTC (permalink / raw)
  To: Paul Walmsley, Palmer Dabbelt, Albert Ou, Kefeng Wang,
	linux-riscv, linux-kernel
  Cc: Alexandre Ghiti

As described in Documentation/riscv/vm-layout.rst, the end of the
virtual address space for 64-bit kernel is occupied by the modules/BPF/
kernel mappings so this actually reduces the amount of memory we are able
to map and then use in the linear mapping. So make sure this limit is
correctly set.

Fixes: c9811e379b21 ("riscv: Add mem kernel parameter support")
Signed-off-by: Alexandre Ghiti <alex@ghiti.fr>
---
 arch/riscv/mm/init.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index 12f956b3a674..04a5db3a9788 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -124,10 +124,17 @@ void __init mem_init(void)
 }
 
 /*
- * The default maximal physical memory size is -PAGE_OFFSET,
- * limit the memory size via mem.
+ * The default maximal physical memory size is -PAGE_OFFSET for 32-bit kernel,
+ * whereas for 64-bit kernel, the end of the virtual address space is occupied
+ * by the modules/BPF/kernel mappings which reduces the available size of the
+ * linear mapping.
+ * Limit the memory size via mem.
  */
+#ifdef CONFIG_64BIT
+static phys_addr_t memory_limit = -PAGE_OFFSET - SZ_4G;
+#else
 static phys_addr_t memory_limit = -PAGE_OFFSET;
+#endif
 
 static int __init early_mem(char *p)
 {
-- 
2.30.2


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-07-26  5:53 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-29  9:13 [PATCH 1/3] riscv: Fix memory_limit for 64-bit kernel Alexandre Ghiti
2021-06-29  9:13 ` [PATCH 2/3] riscv: Make sure the linear mapping does not use the kernel mapping Alexandre Ghiti
2021-06-29  9:13 ` [PATCH 3/3] riscv: Make sure the kernel mapping does not overlap with IS_ERR_VALUE Alexandre Ghiti
2021-07-24  0:58   ` Palmer Dabbelt
2021-07-26  5:47   ` Alex Ghiti
2021-07-01 10:44 ` [PATCH 1/3] riscv: Fix memory_limit for 64-bit kernel Kefeng Wang
2021-07-01 19:01   ` Alex Ghiti
2021-07-01 19:04     ` Alex Ghiti

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).