Linux 如何知道哪个内核发送处理器间中断?
我正在研究ARM64。我在Linux 如何知道哪个内核发送处理器间中断?,linux,linux-kernel,embedded-linux,Linux,Linux Kernel,Embedded Linux,我正在研究ARM64。我在linux/arch/arm64/kernel/smp.c中的void handle\u IPI(int-ipinr,struct-pt\u-regs*regs)中添加了一个处理器间中断(IPI)处理程序 当我得到一个IPI时,我想知道哪个内核发送这个IPI。例如,core 3向core 0发送一个IPI,然后core 0获取IPI,我想知道这个IPI来自IPI处理程序中的core 3 有办法吗 非常感谢。我最近正在cortex-A9平台上开发IPI,它使用ARM GI
linux/arch/arm64/kernel/smp.c
中的void handle\u IPI(int-ipinr,struct-pt\u-regs*regs)
中添加了一个处理器间中断(IPI)处理程序
当我得到一个IPI时,我想知道哪个内核发送这个IPI。例如,core 3向core 0发送一个IPI,然后core 0获取IPI,我想知道这个IPI来自IPI处理程序中的core 3
有办法吗
非常感谢。我最近正在cortex-A9平台上开发IPI,它使用ARM GIC作为中断控制器。在读了一些代码之后,我发现核心信息丢失了。也许您应该修改handle_IPI原型,或者在handle_IPI之前调用特定的IPI处理程序。两者都是添加带有触发器信息的定制IPI处理程序的丑陋方式