On Wed, Feb 9, 2022 at 4:48 PM Sergei Shtylyov <sergei.shtylyov@xxxxxxxxx> wrote: > On 2/9/22 6:18 PM, Arnd Bergmann wrote: > >>> since 2009 after 1e1030dccb10 ("sh: nmi_debug support."). On a > >> > >> Mhm... this commit changes the SH3 code while SH778x are SH4A, no? > > > > This code is shared between both: > > > > arch/sh/kernel/cpu/sh4/Makefile:common-y += $(addprefix > > ../sh3/, entry.o ex.o) > > Ah, quite convoluted! :-) > So you mean thet broke the delivery of EVT 0x200 when mucking with NMI? Yes, exactly: If I read this right, the added code: + shlr2 r4 + shlr r4 + mov r4, r0 ! save vector->jmp table offset for later + + shlr2 r4 ! vector to IRQ# conversion + add #-0x10, r4 + + cmp/pz r4 ! is it a valid IRQ? + bt 10f gets the vector (0x200 for this device), shifts it five bits to 0x10, and subtracts 0x10, then branches to do_IRQ if the interrupt number is non-zero, otherwise it goes through the exception_handling_table. Arnd