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/

Reply via email to