diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-06-09 10:57:16 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-09 10:57:16 +0200 |
commit | 237749428552e2f81ec6c801482dfd8a777e470b (patch) | |
tree | d9299dc6c099cc91c7a00370515146e3999ae5d5 | |
parent | x86, 32-bit: SRAT fix (diff) | |
download | linux-237749428552e2f81ec6c801482dfd8a777e470b.tar.xz linux-237749428552e2f81ec6c801482dfd8a777e470b.zip |
Revert "x86, 32-bit: SRAT fix"
This reverts commit ea57a5a6db8961de35cd1a4a80d8e01ee4307973, a better
fix will be merged.
-rw-r--r-- | arch/x86/kernel/srat_32.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/x86/kernel/srat_32.c b/arch/x86/kernel/srat_32.c index 5eedd3fd4d49..32d8b1142938 100644 --- a/arch/x86/kernel/srat_32.c +++ b/arch/x86/kernel/srat_32.c @@ -240,7 +240,6 @@ static int __init acpi20_parse_srat(struct acpi_table_srat *sratp) for (i = 0; i < MAX_APICID; i++) apicid_2_node[i] = pxm_to_node(apicid_to_pxm[i]); - remove_all_active_ranges(); for (j = 0; j < num_memory_chunks; j++){ struct node_memory_chunk_s * chunk = &node_memory_chunk[j]; printk("chunk %d nid %d start_pfn %08lx end_pfn %08lx\n", @@ -248,8 +247,14 @@ static int __init acpi20_parse_srat(struct acpi_table_srat *sratp) node_read_chunk(chunk->nid, chunk); e820_register_active_regions(chunk->nid, chunk->start_pfn, min(chunk->end_pfn, max_pfn)); - memory_present(chunk->nid, chunk->start_pfn, - min(chunk->end_pfn, max_pfn)); + } + + for_each_online_node(nid) { + unsigned long start = node_start_pfn[nid]; + unsigned long end = node_end_pfn[nid]; + + memory_present(nid, start, end); + node_remap_size[nid] = node_memmap_size_bytes(nid, start, end); } return 1; out_fail: |