]> git.karo-electronics.de Git - linux-beck.git/commitdiff
Revert "x86, 32-bit: SRAT fix"
authorIngo Molnar <mingo@elte.hu>
Mon, 9 Jun 2008 08:57:16 +0000 (10:57 +0200)
committerIngo Molnar <mingo@elte.hu>
Mon, 9 Jun 2008 08:57:16 +0000 (10:57 +0200)
This reverts commit ea57a5a6db8961de35cd1a4a80d8e01ee4307973, a better
fix will be merged.

arch/x86/kernel/srat_32.c

index 5eedd3fd4d49b1ab771505b9de0f6f9732194168..32d8b1142938e5999516c7599096468ee7c2136d 100644 (file)
@@ -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: