#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(). |