]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
[SPARC64]: Kill bogus check from bootmem_init().
authorDavid S. Miller <davem@davemloft.net>
Sat, 14 Oct 2006 08:35:26 +0000 (10:35 +0200)
committerAdrian Bunk <bunk@stusta.de>
Sat, 14 Oct 2006 08:35:26 +0000 (10:35 +0200)
There is an ancient and totally incorrect sanity check being
done on the ramdisk location.  The check assumes that the
kernel is always loaded to physical address zero, which is
wrong.  It was trying to validate the ramdisk value by saying that
if it fell within the kernel image address range it must be wrong.

Anyways, kill this because it actually creates problems.  The
'ramdisk_image' should always be adjusted down by KERNBASE.
SILO can easily put the ramdisk in a location which causes
this test to trigger, breaking things.

[ Based almost entirely upon a patch from Ben Collins. ]

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
arch/sparc64/mm/init.c

index 1e44ee26cee8470d8bfc97e0ddb9c29f01383e5c..7d8d7621e1ce9296c989c24d77b9ef64c2327835 100644 (file)
@@ -1251,8 +1251,7 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
        if (sparc_ramdisk_image || sparc_ramdisk_image64) {
                unsigned long ramdisk_image = sparc_ramdisk_image ?
                        sparc_ramdisk_image : sparc_ramdisk_image64;
-               if (ramdisk_image >= (unsigned long)_end - 2 * PAGE_SIZE)
-                       ramdisk_image -= KERNBASE;
+               ramdisk_image -= KERNBASE;
                initrd_start = ramdisk_image + phys_base;
                initrd_end = initrd_start + sparc_ramdisk_size;
                if (initrd_end > end_of_phys_memory) {