Se eu entendi sua pergunta, isso significa que você está procurando. O artigo é intitulado: Drivers de dispositivo no espaço do usuário .
trecho
UIO drivers
Linux provides a standard UIO (User I/O) framework for developing user-space-based device drivers. The UIO framework defines a small kernel-space component that performs two key tasks:
- a. Indicate device memory regions to user space.
- b. Register for device interrupts and provide interrupt indication to user space.
The kernel-space UIO component then exposes the device via a set of sysfs entries like /dev/uioXX. The user-space component searches for these entries, reads the device address ranges and maps them to user space memory.
The user-space component can perform all device-management tasks including I/O from the device. For interrupts however, it needs to perform a blocking read() on the device entry, which results in the kernel component putting the user-space application to sleep and waking it up once an interrupt is received.
Eu nunca fiz isso antes, então não posso oferecer muito mais orientação do que isso, mas achei que poderia ser útil para a sua busca.