]> git.karo-electronics.de Git - linux-beck.git/blobdiff - arch/x86/kernel/setup_32.c
x86: change propagate_e820_map() back to find_max_pfn(), 32-bit, fix
[linux-beck.git] / arch / x86 / kernel / setup_32.c
index 29010420458dd163bb64617962a52aafc2402102..ccf3595202fa6a75073370b58b7b864f201384e8 100644 (file)
@@ -377,11 +377,13 @@ static unsigned long __init setup_memory(void)
        if (max_pfn > max_low_pfn) {
                highstart_pfn = max_low_pfn;
        }
+       memory_present(0, 0, highend_pfn);
        printk(KERN_NOTICE "%ldMB HIGHMEM available.\n",
                pages_to_mb(highend_pfn - highstart_pfn));
        num_physpages = highend_pfn;
        high_memory = (void *) __va(highstart_pfn * PAGE_SIZE - 1) + 1;
 #else
+       memory_present(0, 0, max_low_pfn);
        num_physpages = max_low_pfn;
        high_memory = (void *) __va(max_low_pfn * PAGE_SIZE - 1) + 1;
 #endif
@@ -586,7 +588,7 @@ void __init setup_bootmem_allocator(void)
         */
        bootmap_size = bootmem_bootmap_pages(max_low_pfn)<<PAGE_SHIFT;
        bootmap = find_e820_area(min_low_pfn<<PAGE_SHIFT,
-                                max_low_pfn<<PAGE_SHIFT, bootmap_size,
+                                max_pfn_mapped<<PAGE_SHIFT, bootmap_size,
                                 PAGE_SIZE);
        if (bootmap == -1L)
                panic("Cannot find bootmem map of size %ld\n", bootmap_size);
@@ -595,6 +597,8 @@ void __init setup_bootmem_allocator(void)
        reserve_initrd();
 #endif
        bootmap_size = init_bootmem(bootmap >> PAGE_SHIFT, max_low_pfn);
+       printk(KERN_INFO "  mapped low ram: 0 - %08lx\n",
+                max_pfn_mapped<<PAGE_SHIFT);
        printk(KERN_INFO "  low ram: %08lx - %08lx\n",
                 min_low_pfn<<PAGE_SHIFT, max_low_pfn<<PAGE_SHIFT);
        printk(KERN_INFO "  bootmap %08lx - %08lx\n",