#include <l4/env/errno.h>
#include <l4/omega0/client.h>
#include <l4/rmgr/librmgr.h>
#include <l4/util/irq.h>
#include <l4/util/thread.h>
#include <l4/thread/thread.h>
#include <l4/lock/lock.h>
#include <l4/dde_linux/dde.h>
#include <linux/sched.h>
#include <asm/hardirq.h>
#include <asm/irq.h>
#include "__config.h"
#include "internal.h"
Go to the source code of this file.
Classes | |
| struct | irq_desc |
| IRQ descriptor array. More... | |
Omega0 specific routines | |
| #define | OM_MASK 0x00000001 |
| #define | OM_UNMASK 0x00000002 |
| #define | OM_CONSUME 0x00000004 |
| int | __omega0_attach (unsigned int irq, int *handle) |
| Attach IRQ line. | |
| int | __omega0_wait (unsigned int irq, int handle, unsigned int flags) |
| Wait for IRQ notification. | |
Module Variables | |
| int | l4dde_irq_set_prio (unsigned int irq, unsigned prio) |
| irq_desc | handlers [NR_IRQS] |
| IRQ descriptor array. | |
| int | use_omega0 = 0 |
| Usage flag. | |
| int | _initialized = 0 |
| initialization flag | |
RMGR specific routines and PIC handling | |
| void | __enable_irq (unsigned int irq) |
| Enable IRQ. | |
| void | __disable_irq (unsigned int irq) |
| Disable IRQ. | |
| void | __ack_irq (unsigned int irq) |
| Disable and acknowledge IRQ. | |
Undocumented | |
| void | disable_irq (unsigned int irq_num) |
| void | disable_irq_nosync (unsigned int irq_num) |
| void | enable_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. | |
Functions | |
| void | dde_irq_thread (struct irq_desc *irq_desc) |
| IRQ handler thread. | |
| 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. | |
Definition in file irq.c.
|
|
Disable and acknowledge IRQ.
Definition at line 189 of file irq.c. Referenced by dde_irq_thread(). |
|
|
Disable IRQ.
Definition at line 176 of file irq.c. Referenced by dde_irq_thread(). |
|
|
Enable IRQ.
Definition at line 163 of file irq.c. Referenced by dde_irq_thread(). |
|
||||||||||||
|
Attach IRQ line.
Definition at line 110 of file irq.c. Referenced by dde_irq_thread(). |
|
||||||||||||||||
|
Wait for IRQ notification.
Definition at line 135 of file irq.c. Referenced by dde_irq_thread(). |
|
|
IRQ handler thread.
Definition at line 199 of file irq.c. References __ack_irq(), __disable_irq(), __enable_irq(), __omega0_attach(), __omega0_wait(), irq_desc::active, DEBUG_ERRORS, DEBUG_IRQ, DEBUG_MSG, irq_desc::dev_id, irq_desc::handler, l4dde_process_add_worker(), irq_desc::num, and use_omega0. Referenced by request_irq(). |
|
|
IRQ descriptor array.
Referenced by free_irq(), l4dde_irq_init(), l4dde_irq_l4_id(), and request_irq(). |
|
|
Usage flag. If 1 use Omega0 and if 0 use RMGR for interrupts. Definition at line 81 of file irq.c. Referenced by dde_irq_thread(), and l4dde_irq_init(). |