Hi all, This series enabled arch_numa for generic MIPS machine, and ported loongson64 machine to arch_numa infra. SGI IP27 is left untouched with legacy NUMA implementation as I don't have access to hardware. Tested on Loongson64 NUMA system and numa_emu on Boston. Please review. Thanks Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx> --- Changes in v2: - Use Kconfig symbol instead of weak function (Arnd) - Link to v1: https://lore.kernel.org/r/20240809-mips-numa-v1-0-568751803bf8@xxxxxxxxxxx --- Jiaxun Yang (7): arch_numa: Provide platform numa init hook MIPS: pci: Unify pcibus_to_node implementation MIPS: Prepare NUMA headers for arch_numa MIPS: mm: init: Prepare for arch_numa MIPS: smp: Process NUMA information MIPS: generic: Make NUMA available MIPS: Loongson64: Migrate to arch_numa arch/mips/Kconfig | 5 + arch/mips/include/asm/mach-generic/mmzone.h | 11 ++ arch/mips/include/asm/mach-generic/numa.h | 11 ++ arch/mips/include/asm/mach-generic/topology.h | 7 + arch/mips/include/asm/mach-ip27/numa.h | 22 ++++ arch/mips/include/asm/mach-ip27/topology.h | 12 +- arch/mips/include/asm/mach-loongson64/mmzone.h | 2 - arch/mips/include/asm/mach-loongson64/topology.h | 25 ---- arch/mips/include/asm/mmzone.h | 5 +- arch/mips/include/asm/numa.h | 12 ++ arch/mips/include/asm/pci.h | 12 ++ arch/mips/include/asm/smp-ops.h | 7 +- arch/mips/kernel/setup.c | 3 +- arch/mips/kernel/smp-cps.c | 6 + arch/mips/kernel/smp.c | 26 ++++ arch/mips/loongson64/init.c | 28 ++-- arch/mips/loongson64/numa.c | 158 ++--------------------- arch/mips/loongson64/smp.c | 2 + arch/mips/mm/init.c | 14 +- arch/mips/pci/pci-ip27.c | 10 -- arch/mips/pci/pci-xtalk-bridge.c | 1 + drivers/base/Kconfig | 4 + drivers/base/arch_numa.c | 9 ++ include/asm-generic/numa.h | 1 + 24 files changed, 163 insertions(+), 230 deletions(-) --- base-commit: eec5d86d5bac6b3e972eb9c1898af3c08303c52d change-id: 20240807-mips-numa-6ccdd482141b Best regards, -- Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>