Commit 1d7cfe18 authored by Tejun Heo's avatar Tejun Heo

powerpc: Use HAVE_MEMBLOCK_NODE_MAP

powerpc doesn't access early_node_map[] directly and enabling
HAVE_MEMBLOCK_NODE_MAP is trivial - replacing add_active_range() calls
with memblock_set_node() and selecting HAVE_MEMBLOCK_NODE_MAP is
enough.
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Yinghai Lu <yinghai@kernel.org>
parent 7fb0bc3f
...@@ -117,6 +117,7 @@ config PPC ...@@ -117,6 +117,7 @@ config PPC
select HAVE_KRETPROBES select HAVE_KRETPROBES
select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_TRACEHOOK
select HAVE_MEMBLOCK select HAVE_MEMBLOCK
select HAVE_MEMBLOCK_NODE_MAP
select HAVE_DMA_ATTRS select HAVE_DMA_ATTRS
select HAVE_DMA_API_DEBUG select HAVE_DMA_API_DEBUG
select USE_GENERIC_SMP_HELPERS if SMP select USE_GENERIC_SMP_HELPERS if SMP
......
...@@ -199,7 +199,7 @@ void __init do_init_bootmem(void) ...@@ -199,7 +199,7 @@ void __init do_init_bootmem(void)
unsigned long start_pfn, end_pfn; unsigned long start_pfn, end_pfn;
start_pfn = memblock_region_memory_base_pfn(reg); start_pfn = memblock_region_memory_base_pfn(reg);
end_pfn = memblock_region_memory_end_pfn(reg); end_pfn = memblock_region_memory_end_pfn(reg);
add_active_range(0, start_pfn, end_pfn); memblock_set_node(0, (phys_addr_t)ULLONG_MAX, 0);
} }
/* Add all physical memory to the bootmem map, mark each area /* Add all physical memory to the bootmem map, mark each area
......
...@@ -690,9 +690,7 @@ static void __init parse_drconf_memory(struct device_node *memory) ...@@ -690,9 +690,7 @@ static void __init parse_drconf_memory(struct device_node *memory)
node_set_online(nid); node_set_online(nid);
sz = numa_enforce_memory_limit(base, size); sz = numa_enforce_memory_limit(base, size);
if (sz) if (sz)
add_active_range(nid, base >> PAGE_SHIFT, memblock_set_node(base, sz, nid);
(base >> PAGE_SHIFT)
+ (sz >> PAGE_SHIFT));
} while (--ranges); } while (--ranges);
} }
} }
...@@ -782,8 +780,7 @@ static int __init parse_numa_properties(void) ...@@ -782,8 +780,7 @@ static int __init parse_numa_properties(void)
continue; continue;
} }
add_active_range(nid, start >> PAGE_SHIFT, memblock_set_node(start, size, nid);
(start >> PAGE_SHIFT) + (size >> PAGE_SHIFT));
if (--ranges) if (--ranges)
goto new_range; goto new_range;
...@@ -819,7 +816,8 @@ static void __init setup_nonnuma(void) ...@@ -819,7 +816,8 @@ static void __init setup_nonnuma(void)
end_pfn = memblock_region_memory_end_pfn(reg); end_pfn = memblock_region_memory_end_pfn(reg);
fake_numa_create_new_node(end_pfn, &nid); fake_numa_create_new_node(end_pfn, &nid);
add_active_range(nid, start_pfn, end_pfn); memblock_set_node(PFN_PHYS(start_pfn),
PFN_PHYS(end_pfn - start_pfn), nid);
node_set_online(nid); node_set_online(nid);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment