summaryrefslogtreecommitdiffstats
path: root/arch/sparc/mm
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2007-08-21 00:52:18 +0200
committerDavid S. Miller <davem@sunset.davemloft.net>2007-08-21 08:40:01 +0200
commitefb896300cc9215f60bb4f7f77f93541ab9f1713 (patch)
tree08ced8db80551beb819065c96a8f0e7a172f5179 /arch/sparc/mm
parent[SPARC64]: Need to clobber global reg vars in switch_to(). (diff)
downloadlinux-efb896300cc9215f60bb4f7f77f93541ab9f1713.tar.xz
linux-efb896300cc9215f60bb4f7f77f93541ab9f1713.zip
[SPARC32]: Revert f642b263800e6e57c377d630be6d2a999683b579.
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>
Diffstat (limited to 'arch/sparc/mm')
-rw-r--r--arch/sparc/mm/init.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/sparc/mm/init.c b/arch/sparc/mm/init.c
index c13e6cd279ac..a1bef07755a9 100644
--- a/arch/sparc/mm/init.c
+++ b/arch/sparc/mm/init.c
@@ -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) {