Jiri Kosina <[EMAIL PROTECTED]> writes: > Hi Eric, > > after struggling with this issue for some time, I think that it's just > some incosistent usage of NR_IRQS throughout the source probably due to > some include hell. I really don't understand the how the mach-*/ includes > are supposed to work. > > I found out (by disassembling resulting vmlinux binaries) that in > arch/i386/kernel/entry.S, the loop in irq_entries_start does too little > iterations compared to NR_IRQS value as seen in for example io_apic.c > > The super-stupid proof-patch below fixes the panic on my system. It's just > to demonstrate that the i386 includes really need fixing to be consistent > somehow.
Thanks, and that would do it, it makes sense why it was the irq patch that caused problems. I had forgotten about the number of stubs issue. I had to clean that up on x86_64 as well and it probably makes most sense to put that cleanup as well, so we have a small fixed number of stubs which would make the includes not matter. Bleh. Hopefully soon. Eric > diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S > index 976438c..b20dc07 100644 > --- a/arch/i386/kernel/entry.S > +++ b/arch/i386/kernel/entry.S > @@ -53,6 +53,8 @@ > #include <asm/dwarf2.h> > #include "irq_vectors.h" > > +#define NR_IRQS 4096 > + > /* > * We use macros for low-level operations which need to be overridden > * for paravirtualization. The following will never clobber any registers: > > -- > Jiri Kosina - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/