summaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/numa_32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/mm/numa_32.c')
-rw-r--r--arch/x86/mm/numa_32.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/x86/mm/numa_32.c b/arch/x86/mm/numa_32.c
index d0369a56f843..8641239a0667 100644
--- a/arch/x86/mm/numa_32.c
+++ b/arch/x86/mm/numa_32.c
@@ -332,6 +332,29 @@ static __init void init_alloc_remap(int nid)
nid, node_pa, node_pa + size, remap_va, remap_va + size);
}
+static int get_memcfg_from_srat(void)
+{
+#ifdef CONFIG_ACPI_NUMA
+ int nid;
+
+ if (numa_off)
+ return 0;
+
+ if (x86_acpi_numa_init() < 0) {
+ nodes_clear(numa_nodes_parsed);
+ remove_all_active_ranges();
+ return 0;
+ }
+
+ for_each_node_mask(nid, numa_nodes_parsed)
+ node_set_online(nid);
+ sort_node_map();
+ return 1;
+#else
+ return 0;
+#endif
+}
+
static void get_memcfg_numa(void)
{
if (get_memcfg_numaq())