How can I catch IPI via linux device driver on x86?
Run 64-bit linux on Intel processor, x86 platform. My use case: other cores (may run other OS) will send the IPI to core#0 (linux), the interrupt need be caught/addressed.
I can catch the inter processor interrupts via the kernel hacking.
But I am not successful to register the interrupt handler to catch the IPI using the linux kernel driver. The below APIs were tested but failed: request_irq/setup_irq/probe_irq_on/off. I can get some IRQ reigsterred. But unable to the catch the interrupt.
How do I generate the interrupt on core#0? Just write the APIC ICR with the destination core id, and vector number.
Any help is highly appreciated.
|