ISRは、カーネルモード(もちろんカーネルモードでも同様)でプロセスまたは他の割り込み(追加割り込みを可能にします)をいつ中断するかをどうやって知ることができますか?
この質問が普及している場合は、MIPSのLinuxをターゲットにしてください。
答え1
die_if_kernel
明らかにこれを説明する普遍的な機能(単純なルール以上であるかどうかはわからない)があります。
MIPS実装は、regs
割り込み前に保存されたレジスタ(ISR)に渡されたレジスタを検証するために述語関数を使用しますuser_mode()
。
http://elixir.free-electrons.com/linux/latest/source/arch/mips/include/asm/ptrace.h?v=4.12#L169
カーネル内でトラップ/エラーが発生すると、一般的に致命的と見なされるので、このような場所を見てみたいと思います。
http://elixir.free-electrons.com/linux/latest/source/arch/mips/kernel/traps.c#L1230