|
From: Ricardo N. <ric...@gm...> - 2015-11-24 16:30:53
|
I've already made that question a few weeks ago but I couldn't make it work. So, in order to support new IRQs I understand that we need to follow those steps: 1. Add the IRQ IDs to /kernel/arch/um/include/asm/irq.h, or at least change LAST_IRQ macro value to the bigger IRQ ID; 2. Create one file per IRQ: is that a host or UML file? I'm trying to follow random driver example but /dev/random exists in both; 3. When I need to throw an IRQ I just have to write something on the file and send a SIGIO signal. Which process needs to receive the SIGIO? In my system I'm using the original driver and using a userspace application to emulate the hardware (communication through netlink sockets). So, the emulator decides when IRQs needs to be launched and, at the moment, communicates that to the kernel driver. |