On do, 2008-11-13 at 22:48 +0100, Geert Uytterhoeven wrote:
On Thu, 13 Nov 2008, Kars de Jong wrote:
On di, 2008-11-11 at 11:01 +0100, Geert Uytterhoeven wrote:
On Tue, 11 Nov 2008, Stephen N Chivers wrote:
In the past few days I have attempted to get 2.6 kernels booting on my
diskless MVME167 boards.
I have tried several kernels, including:
linux-image-2.6.26-1-mvme16x_2.6.26-9_m68k.deb.
I traced the "freeze" of the kernel to the 'BUG_ON' test in
'm68k_setup_user_interrupt' in file
arch/m68k/ints.c:
BUG_ON(IRQ_USER + cnt >= NR_IRQS);
Now, for the VME boards, IRQ_USER is 8, cnt is 192 and NR_IRQS is 200. So
this test will
trigger the BUG_ON action, and so the kernel appears to stop without
logging any diagnostics.
Oops, that looks like an off-by-one error. It has been introduced by commit
69961c375288bdab7604e0bb1c8d22999bb8a347 ("[PATCH] m68k/Atari: Interrupt
updates").
Hm, no fair! I already reported this bug back in 2006, asking for
feedback:
http://www.nabble.com/Re%3A-CVS-Update%3A-linux-tt6999670.html
... but I never got any ;)
Bummer...
By the way, I tested Linus' HEAD today (with your quilt patches, Geert)
on my MVME167, it only needed the above fixed and it booted.
OK. Can I add your Tested-by? Then I'll forward it to Linus ASAP.
Yes, no problem, if your patch would look something like this (I like
git already!):
diff --git a/arch/m68k/kernel/ints.c b/arch/m68k/kernel/ints.c
index 7e8a0d3..761ee04 100644
--- a/arch/m68k/kernel/ints.c
+++ b/arch/m68k/kernel/ints.c
@@ -133,7 +133,7 @@ void __init m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt,
{
int i;
- BUG_ON(IRQ_USER + cnt >= NR_IRQS);
+ BUG_ON(IRQ_USER + cnt > NR_IRQS);
m68k_first_user_vec = vec;
for (i = 0; i < cnt; i++)
irq_controller[IRQ_USER + i] = &user_irq_controller;
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html