diff options
author | Andy Whitcroft <apw@shadowen.org> | 2005-06-23 03:08:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-23 12:45:05 -0400 |
commit | 74b30be2e183bd9a12d0350698996e3d1969f290 (patch) | |
tree | 4add891144d4f0122794ce4c7befa3db8cdb3b68 /arch/ppc64 | |
parent | 510f8fa7ba18320d408dd3093663e58f5664f2f0 (diff) |
[PATCH] ppc64: add memory present
Provide hooks for PPC64 to allow memory models to be informed of installed
memory areas. This allows SPARSEMEM to instantiate mem_map for the populated
areas.
Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Martin Bligh <mbligh@aracnet.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc64')
-rw-r--r-- | arch/ppc64/Kconfig | 4 | ||||
-rw-r--r-- | arch/ppc64/mm/numa.c | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/arch/ppc64/Kconfig b/arch/ppc64/Kconfig index 3c8bfd0345cc..c92d48fe06e5 100644 --- a/arch/ppc64/Kconfig +++ b/arch/ppc64/Kconfig | |||
@@ -212,8 +212,8 @@ config ARCH_FLATMEM_ENABLE | |||
212 | source "mm/Kconfig" | 212 | source "mm/Kconfig" |
213 | 213 | ||
214 | config HAVE_ARCH_EARLY_PFN_TO_NID | 214 | config HAVE_ARCH_EARLY_PFN_TO_NID |
215 | bool | 215 | def_bool y |
216 | default y | 216 | depends on NEED_MULTIPLE_NODES |
217 | 217 | ||
218 | # Some NUMA nodes have memory ranges that span | 218 | # Some NUMA nodes have memory ranges that span |
219 | # other nodes. Even though a pfn is valid and | 219 | # other nodes. Even though a pfn is valid and |
diff --git a/arch/ppc64/mm/numa.c b/arch/ppc64/mm/numa.c index ea862ec643d3..cafd91aef289 100644 --- a/arch/ppc64/mm/numa.c +++ b/arch/ppc64/mm/numa.c | |||
@@ -440,6 +440,8 @@ new_range: | |||
440 | for (i = start ; i < (start+size); i += MEMORY_INCREMENT) | 440 | for (i = start ; i < (start+size); i += MEMORY_INCREMENT) |
441 | numa_memory_lookup_table[i >> MEMORY_INCREMENT_SHIFT] = | 441 | numa_memory_lookup_table[i >> MEMORY_INCREMENT_SHIFT] = |
442 | numa_domain; | 442 | numa_domain; |
443 | memory_present(numa_domain, start >> PAGE_SHIFT, | ||
444 | (start + size) >> PAGE_SHIFT); | ||
443 | 445 | ||
444 | if (--ranges) | 446 | if (--ranges) |
445 | goto new_range; | 447 | goto new_range; |
@@ -481,6 +483,7 @@ static void __init setup_nonnuma(void) | |||
481 | 483 | ||
482 | for (i = 0 ; i < top_of_ram; i += MEMORY_INCREMENT) | 484 | for (i = 0 ; i < top_of_ram; i += MEMORY_INCREMENT) |
483 | numa_memory_lookup_table[i >> MEMORY_INCREMENT_SHIFT] = 0; | 485 | numa_memory_lookup_table[i >> MEMORY_INCREMENT_SHIFT] = 0; |
486 | memory_present(0, 0, init_node_data[0].node_end_pfn); | ||
484 | } | 487 | } |
485 | 488 | ||
486 | static void __init dump_numa_topology(void) | 489 | static void __init dump_numa_topology(void) |