x86: fix memory setup bug
authorYinghai Lu <yhlu.kernel@gmail.com>
Thu, 26 Jun 2008 07:44:56 +0000 (00:44 -0700)
committerIngo Molnar <mingo@elte.hu>
Tue, 8 Jul 2008 11:10:42 +0000 (13:10 +0200)
interesting...

[    0.000000]   mapped low ram: 0 - 20000000
[    0.000000]   low ram: 00000000 - 1fff0000
[    0.000000]   bootmap 00002000 - 00006000

max_pfn_mapped > max_low_pfn?

it seems init_memory_mapping reveals an old bug.

please check attached test patch.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/setup_32.c

index 4b953dc93883f806d2b563ead801056f79cb4fe4..392812d3c63cf4adaf44027aa540cad59fa17a40 100644 (file)
@@ -427,7 +427,7 @@ void __init setup_arch(char **cmdline_p)
        find_low_pfn_range();
 
        /* max_pfn_mapped is updated here */
-       init_memory_mapping(0, (max_low_pfn << PAGE_SHIFT));
+       max_pfn_mapped = init_memory_mapping(0, (max_low_pfn << PAGE_SHIFT));
 
        reserve_initrd();