|
@@ -337,6 +337,11 @@ static void __init bootmem_init(void)
|
|
|
min_low_pfn = start;
|
|
|
if (end <= reserved_end)
|
|
|
continue;
|
|
|
+#ifdef CONFIG_BLK_DEV_INITRD
|
|
|
+ /* mapstart should be after initrd_end */
|
|
|
+ if (initrd_end && end <= (unsigned long)PFN_UP(__pa(initrd_end)))
|
|
|
+ continue;
|
|
|
+#endif
|
|
|
if (start >= mapstart)
|
|
|
continue;
|
|
|
mapstart = max(reserved_end, start);
|
|
@@ -366,14 +371,6 @@ static void __init bootmem_init(void)
|
|
|
max_low_pfn = PFN_DOWN(HIGHMEM_START);
|
|
|
}
|
|
|
|
|
|
-#ifdef CONFIG_BLK_DEV_INITRD
|
|
|
- /*
|
|
|
- * mapstart should be after initrd_end
|
|
|
- */
|
|
|
- if (initrd_end)
|
|
|
- mapstart = max(mapstart, (unsigned long)PFN_UP(__pa(initrd_end)));
|
|
|
-#endif
|
|
|
-
|
|
|
/*
|
|
|
* Initialize the boot-time allocator with low memory only.
|
|
|
*/
|