Go to the source code of this file.
Classes | |
| struct | intloop_params |
Defines | |
| #define | DEBUG_INTERRUPTS 0 |
| #define | MAX_INTERRUPTS 32 |
| #define | BLOCK_IRQ 0 |
Functions | |
| static void | ddekit_irq_exit_fn (l4thread_t thread, void *data) |
| L4THREAD_EXIT_FN_STATIC (exit_fn, ddekit_irq_exit_fn) | |
| static void | intloop (void *arg) |
| Interrupt service loop. | |
| ddekit_thread_t * | ddekit_interrupt_attach (int irq, int shared, void(*thread_init)(void *), void(*handler)(void *), void *priv) |
| Attach to hardware interrupt. | |
| void | ddekit_interrupt_detach (int irq) |
| Detach from interrupt by disabling it and then shutting down the IRQ thread. | |
| void | ddekit_interrupt_disable (int irq) |
| Block interrupt. | |
| void | ddekit_interrupt_enable (int irq) |
| Enable interrupt. | |
Variables | |
| struct { | |
| int handle_irq | |
| ddekit_sem_t * irqsem | |
| ddekit_thread_t * irq_thread | |
| omega0_irqdesc_t irq_desc | |
| } | ddekit_irq_ctrl [MAX_INTERRUPTS] |
| #define BLOCK_IRQ 0 |
Definition at line 27 of file interrupt.c.
| #define DEBUG_INTERRUPTS 0 |
Definition at line 23 of file interrupt.c.
| #define MAX_INTERRUPTS 32 |
Definition at line 25 of file interrupt.c.
| ddekit_thread_t* ddekit_interrupt_attach | ( | int | irq, | |
| int | shared, | |||
| void(*)(void *) | thread_init, | |||
| void(*)(void *) | handler, | |||
| void * | priv | |||
| ) |
Attach to hardware interrupt.
| irq | IRQ number to attach to | |
| shared | set to 1 if interrupt sharing is supported; set to 0 otherwise | |
| thread_init | called just after DDEKit internal init and before any other function | |
| handler | IRQ handler for interrupt irq | |
| priv | private token (argument for thread_init and handler) |
Definition at line 155 of file interrupt.c.
| void ddekit_interrupt_detach | ( | int | irq | ) |
Detach from interrupt by disabling it and then shutting down the IRQ thread.
Detach from a previously attached interrupt.
Definition at line 205 of file interrupt.c.
| void ddekit_interrupt_disable | ( | int | irq | ) |
| void ddekit_interrupt_enable | ( | int | irq | ) |
| static void ddekit_irq_exit_fn | ( | l4thread_t | thread, | |
| void * | data | |||
| ) | [static] |
Definition at line 53 of file interrupt.c.
| static void intloop | ( | void * | arg | ) | [static] |
| L4THREAD_EXIT_FN_STATIC | ( | exit_fn | , | |
| ddekit_irq_exit_fn | ||||
| ) |
struct { ... } ddekit_irq_ctrl[MAX_INTERRUPTS] [static] |
| int handle_irq |
Definition at line 46 of file interrupt.c.
| omega0_irqdesc_t irq_desc |
Definition at line 49 of file interrupt.c.
Definition at line 48 of file interrupt.c.
Definition at line 47 of file interrupt.c.
1.5.6