aboutsummaryrefslogtreecommitdiff
path: root/arch/loongarch/kernel/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/loongarch/kernel/setup.c')
-rw-r--r--arch/loongarch/kernel/setup.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/loongarch/kernel/setup.c b/arch/loongarch/kernel/setup.c
index 34a3011f679e..185e4035811a 100644
--- a/arch/loongarch/kernel/setup.c
+++ b/arch/loongarch/kernel/setup.c
@@ -35,6 +35,7 @@
#include <asm/dma.h>
#include <asm/efi.h>
#include <asm/loongson.h>
+#include <asm/numa.h>
#include <asm/pgalloc.h>
#include <asm/sections.h>
#include <asm/setup.h>
@@ -185,7 +186,10 @@ static int __init early_parse_mem(char *p)
return -EINVAL;
}
- memblock_add(start, size);
+ if (!IS_ENABLED(CONFIG_NUMA))
+ memblock_add(start, size);
+ else
+ memblock_add_node(start, size, pa_to_nid(start), MEMBLOCK_NONE);
return 0;
}
@@ -203,6 +207,9 @@ void __init platform_init(void)
acpi_boot_init();
#endif
+#ifdef CONFIG_NUMA
+ init_numa_memory();
+#endif
dmi_setup();
smbios_parse();
pr_info("The BIOS Version: %s\n", b_info.bios_version);
@@ -241,7 +248,7 @@ static void __init arch_mem_init(char **cmdline_p)
sparse_init();
memblock_set_bottom_up(true);
- swiotlb_init(true, SWIOTLB_VERBOSE);
+ plat_swiotlb_setup();
dma_contiguous_reserve(PFN_PHYS(max_low_pfn));