On Sun, Aug 7, 2011 at 23:09, Geert Uytterhoeven <[email protected]> wrote: > On Sun, Aug 7, 2011 at 22:57, Matthias Reis > <[email protected]> wrote: >> I wanted to tell you that my Atari ST kernel now boots up until >> calibrate_delay loop, which hangs in an infinite loop ... I have read that >> this indicates normally that the timer interrupt is not working. I therefore >> checked if atari_sched_init is called and found that it is invoked by >> time_init which is ok. However, the interrupt handler timer_interrupt is >> never called subsequently (I can check that by setting a corresponding >> breakpoint in the emulator). This means probably that MFP autovector >> exceptions (the timer interrupt is handled by the MFP chip) are not >> registered properly.
MFP interrupts are not autovector interrupts, but user vector interrupts. >> I have applied most of the patches from Geert's uamiga-untested branch, >> especially the one regarding the 68000 autovectors >> (http://git.kernel.org/?p=linux/kernel/git/geert/linux-m68k.git;a=commit;h=21e03a7a7c60b2646bd7edd740cc964091bf8ca0). >> Comparing the amiga_init_IRQ and the atari_init_IRQ functions, I can see >> that the Amiga code registers the autovectors with request_irq. Do I need to >> do something similar in atari_init_IRQ and write a special handler for the >> MFP autovector (I think it is level 6)? If yes, how would such a handler >> look like? > > W.r.t. interrupts, the only difference between MMU and NOMMU should be > the location of the exception vectors, as the 68000 doesn't have the > VBR. 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. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
