xtensa: don't make bootmem bitmap larger than required
authorJohannes Weiner <jw@emlix.com>
Wed, 4 Mar 2009 15:21:29 +0000 (16:21 +0100)
committerChris Zankel <chris@zankel.net>
Fri, 3 Apr 2009 06:39:18 +0000 (23:39 -0700)
If min_low_pfn is non-zero, the bitmap reserved for bootmem is bigger
than needed.  The number of pages bootmem has to maintain is the range
from min_low_pfn to max_low_pfn.

For now it has only been a theoretical mistake, min_low_pfn was always
zero.

Signed-off-by: Johannes Weiner <jw@emlix.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
arch/xtensa/mm/init.c

index 55b043a..a534d52 100644 (file)
@@ -130,7 +130,8 @@ void __init bootmem_init(void)
 
        /* Find an area to use for the bootmem bitmap. */
 
 
        /* Find an area to use for the bootmem bitmap. */
 
-       bootmap_size = bootmem_bootmap_pages(max_low_pfn) << PAGE_SHIFT;
+       bootmap_size = bootmem_bootmap_pages(max_low_pfn - min_low_pfn);
+       bootmap_size <<= PAGE_SHIFT;
        bootmap_start = ~0;
 
        for (i=0; i<sysmem.nr_banks; i++)
        bootmap_start = ~0;
 
        for (i=0; i<sysmem.nr_banks; i++)