This module emulates the interrupt handling inside the Linux kernel.
More...
|
Undocumented |
int | probe_irq_on (unsigned long val) |
| Old probing of interrupts.
|
int | probe_irq_off (unsigned long val) |
| Old probing of interrupts.
|
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 () |
| Initalize IRQ handling.
|
l4_threadid_t | l4dde_irq_l4_id (int irq) |
| Get IRQ thread number.
|
Detailed Description
This module emulates the interrupt handling inside the Linux kernel.
Interrupts are executed each in its own thread that is created using the L4Env Thread library.
Requirements: (additionally to Global Requirements)
- Omega0 library and server
Function Documentation
void free_irq |
( |
unsigned int |
irq, |
|
|
void * |
dev_id | |
|
) |
| | |
Release Interrupt.
- Parameters:
-
| irq | interrupt number |
| dev_id | cookie passed back to handler |
- Todo:
- Stop IRQ-Thread
- Todo:
- Release IRQ
Definition at line 290 of file irq.c.
Initalize IRQ handling.
- Parameters:
-
| omega0 | If set use Omega0 interrupt handling - if unset use RMGR directly |
- Returns:
- 0 on success; negative error code otherwise
Definition at line 392 of file irq.c.
l4_threadid_t l4dde_irq_l4_id |
( |
int |
irq |
) |
|
Get IRQ thread number.
- Parameters:
-
- Returns:
- thread-id threadid of IRQ thread, or L4_INVALID_ID if not initialized
Definition at line 414 of file irq.c.
int probe_irq_off |
( |
unsigned long |
val |
) |
|
Old probing of interrupts.
- Todo:
- implementation
Definition at line 357 of file irq.c.
int probe_irq_on |
( |
unsigned long |
val |
) |
|
Old probing of interrupts.
- Todo:
- implementation
Definition at line 347 of file irq.c.
int request_irq |
( |
unsigned int |
irq, |
|
|
void(*)(int, void *, struct pt_regs *) |
handler, |
|
|
unsigned long |
flags, |
|
|
const char * |
dev_name, |
|
|
void * |
dev_id | |
|
) |
| | |
Request Interrupt.
- Parameters:
-
| irq | interrupt number |
| handler | interrupt handler -> top half |
| flags | interrupt handling flags (SA_SHIRQ, ...) |
| dev_name | device name |
| dev_id | cookie passed back to handler |
- Returns:
- 0 on success; error code otherwise
- Todo:
- FIXME consider locking!
Definition at line 215 of file irq.c.