Linux I/O port programming mini-HOWTO: Interrupts (IRQs) and DMA access

Next Previous Contents

## 3. Interrupts (IRQs) and DMA access

You cannot use IRQs or DMA directly from a user-mode process. You need to write a kernel driver; see The Linux Kernel Hacker's Guide for details and the kernel source code for examples.

You can disable interrupts from within a user-mode program, though it can be dangerous (even kernel drivers do it for as short a time as possible). After calling `iopl(3)`, you can disable interrupts simply by calling `asm("cli");`, and re-enable them with `asm("sti");`.

Next Previous Contents