[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240809-mips-numa-v1-1-568751803bf8@flygoat.com>
Date: Fri, 09 Aug 2024 20:25:01 +0100
From: Jiaxun Yang <jiaxun.yang@...goat.com>
To: "Rafael J. Wysocki" <rafael@...nel.org>, Arnd Bergmann <arnd@...db.de>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Huacai Chen <chenhuacai@...nel.org>
Cc: linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
linux-mips@...r.kernel.org, Jiaxun Yang <jiaxun.yang@...goat.com>
Subject: [PATCH 1/7] arch_numa: Provide platform numa init hook
For some pre-devicetree systems, NUMA information may come from
platform specific way.
Provide platform numa init hook to allow platform code kick in
as last resort method to supply NUMA configuration.
Signed-off-by: Jiaxun Yang <jiaxun.yang@...goat.com>
---
drivers/base/arch_numa.c | 7 +++++++
include/asm-generic/numa.h | 1 +
2 files changed, 8 insertions(+)
diff --git a/drivers/base/arch_numa.c b/drivers/base/arch_numa.c
index 8d49893c0e94..d464baeee69a 100644
--- a/drivers/base/arch_numa.c
+++ b/drivers/base/arch_numa.c
@@ -305,6 +305,11 @@ static int __init arch_acpi_numa_init(void)
}
#endif
+int __init __weak arch_platform_numa_init(void)
+{
+ return -EOPNOTSUPP;
+}
+
/**
* arch_numa_init() - Initialize NUMA
*
@@ -318,6 +323,8 @@ void __init arch_numa_init(void)
return;
if (acpi_disabled && !numa_init(of_numa_init))
return;
+ if (!numa_init(arch_platform_numa_init))
+ return;
}
numa_init(dummy_numa_init);
diff --git a/include/asm-generic/numa.h b/include/asm-generic/numa.h
index c2b046d1fd82..53a8210fde00 100644
--- a/include/asm-generic/numa.h
+++ b/include/asm-generic/numa.h
@@ -31,6 +31,7 @@ static inline const struct cpumask *cpumask_of_node(int node)
#endif
void __init arch_numa_init(void);
+int __init arch_platform_numa_init(void);
int __init numa_add_memblk(int nodeid, u64 start, u64 end);
void __init early_map_cpu_to_node(unsigned int cpu, int nid);
int __init early_cpu_to_node(int cpu);
--
2.46.0
Powered by blists - more mailing lists