中断内核进程或其他中断

中断内核进程或其他中断

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

相关内容