On Mon, 11 Nov 2013, Thomas Gleixner wrote:
Not what you would expect, right?
Finally found the issue. The patch below fixes the problem here. The little missing detail is, that I zapped GET_CURRENT() assuming blindly that this is only needed for the preempt_count hackery. But in fact the world and some more depends on it which leads to interesting explosions. Thanks, tglx ---- Index: linux-2.6/arch/m68k/kernel/entry.S =================================================================== --- linux-2.6.orig/arch/m68k/kernel/entry.S +++ linux-2.6/arch/m68k/kernel/entry.S @@ -274,6 +274,7 @@ do_delayed_trace: ENTRY(auto_inthandler) SAVE_ALL_INT + GET_CURRENT(%d0) | put exception # in d0 bfextu %sp@(PT_OFF_FORMATVEC){#4,#10},%d0 subw #VEC_SPUR,%d0 @@ -297,6 +298,7 @@ ret_from_interrupt: ENTRY(user_inthandler) SAVE_ALL_INT + GET_CURRENT(%d0) | put exception # in d0 bfextu %sp@(PT_OFF_FORMATVEC){#4,#10},%d0 user_irqvec_fixup = . + 2 @@ -313,6 +315,7 @@ user_irqvec_fixup = . + 2 ENTRY(bad_inthandler) SAVE_ALL_INT + GET_CURRENT(%d0) movel %sp,%sp@- jsr handle_badint -- 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