Undocumented | |
void | disable_irq (unsigned int irq_num) |
int | probe_irq_on (unsigned long val) |
Old probing of interrupts. | |
int | probe_irq_off (unsigned long val) |
Old probing of interrupts. | |
void | disable_irq_nosync (unsigned int irq_num) |
void | enable_irq (unsigned int irq_num) |
Functions | |
int | request_irq (unsigned int irq, void(*handler)(int, void *, struct pt_regs *), unsigned long flags, const char *dev_name, void *dev_id) |
Request Interrupt. | |
void | free_irq (unsigned int irq, void *dev_id) |
Release Interrupt. | |
int | l4dde_irq_init (int omega0) |
Initalize IRQ handling. | |
l4_threadid_t | l4dde_irq_l4_id (int irq) |
Get IRQ thread number. |
It is derived from several existing DROPS emulation modules.
There are 2 different approaches to manage interrupts under DROPS/L4: the root resource manager RMGR or Omega0 (resp. the L4Env I/O Server). The Interrupt Handling Module has to be initialized via #irq_init() specifying the environment you are using as parameter.
Interrupts are executed each in its own thread that is created using the L4Env Thread library.
Requirements: (additionally to Global Requirements)
Configuration:
|
Release Interrupt.
Definition at line 380 of file irq.c. References irq_desc::active, DEBUG_IRQ, and handlers. |
|
Initalize IRQ handling.
Definition at line 458 of file irq.c. References _initialized, handlers, irq_desc::num, and use_omega0. |
|
Get IRQ thread number.
Definition at line 482 of file irq.c. References irq_desc::active, and handlers. |
|
Old probing of interrupts.
|
|
Old probing of interrupts.
|
|
Request Interrupt.
Definition at line 307 of file irq.c. References irq_desc::active, dde_irq_thread(), DEBUG_ERRORS, DEBUG_IRQ, irq_desc::dev_id, irq_desc::dev_name, irq_desc::flags, irq_desc::handler, handlers, and irq_desc::t. |