[SPARC32]: Revert f642b263800e6e57c377d630be6d2a999683b579.
authorDavid S. Miller <davem@sunset.davemloft.net>
Mon, 20 Aug 2007 22:52:18 +0000 (15:52 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Tue, 21 Aug 2007 06:40:01 +0000 (23:40 -0700)
This causes boot failures for some people.
It looks like in fact that some SILO provided
ramdisk images should not be KERNBASE normalized.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/mm/init.c

index c13e6cd279ac0bae8ad49043b9c11f73310f349e..a1bef07755a920076d186880269af56f5f9348db 100644 (file)
@@ -206,7 +206,8 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
 #ifdef CONFIG_BLK_DEV_INITRD
        /* Now have to check initial ramdisk, so that bootmap does not overwrite it */
        if (sparc_ramdisk_image) {
-               sparc_ramdisk_image -= KERNBASE;
+               if (sparc_ramdisk_image >= (unsigned long)&_end - 2 * PAGE_SIZE)
+                       sparc_ramdisk_image -= KERNBASE;
                initrd_start = sparc_ramdisk_image + phys_base;
                initrd_end = initrd_start + sparc_ramdisk_size;
                if (initrd_end > end_of_phys_memory) {