Benchmarks Documentation Examples Repository Blog Contact

IRQ management

This is provided in order to give drivers access to IRQ configuration from userspace, which may otherwise be denied by the hardware.

Functions

int irq_enable(uint32_t irq)

This syscall will enable IRQ line identified by the IRQ number. The implementation of this call is platform-specific and IRQ number has hardware-specific meaning. CMRX kernel does not perform any interpretation of these values.

In general it is not an error trying to enable already enabled IRQ.

  • irq IRQ number of interrupt line to be enabled

Returns E_OK if IRQ has been enabled, E_NOTAVAIL if IRQ couldn’t be enabled.

int irq_disable(uint32_t irq)

This syscall will disable IRQ line identified by the IRQ number. The implementation of this call is platform-specific and IRQ number has hardware-specific meaning. CMRX kernel does not perform any interpretation of these values.

In general it is not an error trying to disable already disabled IRQ.

  • irq IRQ number of interrupt line to be disabled

Returns E_OK if IRQ has been disabled, E_NOTAVAIL if IRQ couldn’t be disabled.

64kB of protected memory ought to be enough for everyone.