[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080506.152042.91330094.davem@davemloft.net>
Date: Tue, 06 May 2008 15:20:42 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: mikpe@...uu.se
Cc: sparclinux@...r.kernel.org, linux-kernel@...r.kernel.org,
armin76@...too.org
Subject: Re: [BUG] 2.6.26-rc1 hangs during boot on UltraSPARC 5
From: Mikael Pettersson <mikpe@...uu.se>
Date: Tue, 6 May 2008 21:38:24 +0200
> I removed "| CON_BOOT" and got what looks like the same oops
> Raúl Porcel reported earlier today (which he for some reason
> sent only to the lists, not to you or me); his oops was:
I can reproduce this problem here in my t1000.
It looks like some kind of initrd regression.
Looking at the crashes, the kernel seems to be trying
to dereference a physical address when peeking at the
initrd instead of using a virtual one. That's a big
clue.
This patch should fix it:
commit d45100f7b69e3d9cd0cd5e956b6ac2c78d460d07
Author: David S. Miller <davem@...emloft.net>
Date: Tue May 6 15:19:54 2008 -0700
sparc64: Fix initrd regression.
We die because we forget to convert initrd_start and
initrd_end to virtual addresses.
Reported by Mikael Pettersson
Signed-off-by: David S. Miller <davem@...emloft.net>
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c
index db8e7fb..ec3e2c7 100644
--- a/arch/sparc64/mm/init.c
+++ b/arch/sparc64/mm/init.c
@@ -771,6 +771,9 @@ static void __init find_ramdisk(unsigned long phys_base)
initrd_end = ramdisk_image + sparc_ramdisk_size;
lmb_reserve(initrd_start, initrd_end);
+
+ initrd_start += PAGE_OFFSET;
+ initrd_end += PAGE_OFFSET;
}
#endif
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists