summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAneesh Kumar K.V (IBM) <aneesh.kumar@kernel.org>2024-04-03 14:06:11 +0530
committerMichael Ellerman <mpe@ellerman.id.au>2024-04-19 16:09:14 +1000
commit5a799af9522641517f6d871d9f56e2658ee7db58 (patch)
treebc5bcffa344033673b347e5b26d602da3c8c6076
parentf94f5ac07983cb53de0c964f5428366c19e81993 (diff)
powerpc/mm: Update the memory limit based on direct mapping restrictions
memory limit value specified by the user are further updated such that the value is 16MB aligned. This is because hash translation mode use 16MB as direct mapping page size. Make sure we update the global variable 'memory_limit' with the 16MB aligned value such that all kernel components will see the new aligned value of the memory limit. Signed-off-by: Aneesh Kumar K.V (IBM) <aneesh.kumar@kernel.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240403083611.172833-3-aneesh.kumar@kernel.org
-rw-r--r--arch/powerpc/kernel/prom.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 7451bedad1f4..b8f764453eaa 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -779,7 +779,6 @@ static inline void save_fscr_to_task(void) {}
void __init early_init_devtree(void *params)
{
- phys_addr_t limit;
DBG(" -> early_init_devtree(%px)\n", params);
@@ -850,8 +849,8 @@ void __init early_init_devtree(void *params)
memory_limit = 0;
/* Align down to 16 MB which is large page size with hash page translation */
- limit = ALIGN_DOWN(memory_limit ?: memblock_phys_mem_size(), SZ_16M);
- memblock_enforce_memory_limit(limit);
+ memory_limit = ALIGN_DOWN(memory_limit ?: memblock_phys_mem_size(), SZ_16M);
+ memblock_enforce_memory_limit(memory_limit);
#if defined(CONFIG_PPC_BOOK3S_64) && defined(CONFIG_PPC_4K_PAGES)
if (!early_radix_enabled())