On Sun, Aug 7, 2011 at 23:09, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: MFP interrupts are not autovector interrupts, but user vector interrupts. Sorry, I forgot about this: it may be a stack frame format issue, which causes the kernel to incorrectly identify the interrupt number. user_inthandler() in arch/m68k/kernel/entry_mm.S looks at the PT_OFF_FORMATVEC field in the stack frame to identify the interrupt source. I don't know from memory if the plain 68000 stores it there. For autovector interrupts, it doesn't, that's why I created inidividual auto*_inthandler() functions that put an hardcoded number on the stack instead of looking at the stack frame.
Hi Geert, thanks for your kind reply. As far as I understand the 68000 manual (http://www.freescale.com/files/archives/doc/ref_manual/M68000PRM.pdf, section b.2), the CPU does not store the vector number on the exception stack. This is also what I've seen in the debugger: some seemingly bogus irq number is passed to m68k_handle_int. Any suggestions how to solve this? I guess it is not a good idea to write an individual user*_inthandler for each of the 255-64=191 possible user interrupts. Best regards, Matthias -- 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