L4Re Operating System Framework
Interface and Usage Documentation
|
Modules | |
Interface using direct functionality. | |
Functions | |
l4irq_t * | l4irq_attach (int irqnum) |
Attach/connect to IRQ. | |
l4irq_t * | l4irq_attach_ft (int irqnum, unsigned mode) |
Attach/connect to IRQ using given type. | |
l4irq_t * | l4irq_attach_thread (int irqnum, l4_cap_idx_t to_thread) |
Attach/connect to IRQ. | |
l4irq_t * | l4irq_attach_thread_ft (int irqnum, l4_cap_idx_t to_thread, unsigned mode) |
Attach/connect to IRQ using given type. | |
long | l4irq_wait (l4irq_t *irq) |
Wait for specified IRQ. | |
long | l4irq_unmask_and_wait_any (l4irq_t *unmask_irq, l4irq_t **ret_irq) |
Unmask a specific IRQ and wait for any attached IRQ. | |
long | l4irq_wait_any (l4irq_t **irq) |
Wait for any attached IRQ. | |
long | l4irq_unmask (l4irq_t *irq) |
Unmask a specific IRQ. | |
long | l4irq_detach (l4irq_t *irq) |
Detach from IRQ. | |
l4irq_t * l4irq_attach | ( | int | irqnum | ) |
Attach/connect to IRQ.
irqnum | IRQ number to request |
This l4irq_attach has to be called in the same thread as l4irq_wait and caller has to be a pthread thread.
l4irq_t * l4irq_attach_ft | ( | int | irqnum, |
unsigned | mode | ||
) |
Attach/connect to IRQ using given type.
irqnum | IRQ number to request |
mode | Interrupt type, |
This l4irq_attach has to be called in the same thread as l4irq_wait and caller has to be a pthread thread.
l4irq_t * l4irq_attach_thread | ( | int | irqnum, |
l4_cap_idx_t | to_thread | ||
) |
Attach/connect to IRQ.
irqnum | IRQ number to request |
to_thread | Attach IRQ to this specified thread. |
The pointer to the IRQ structure is used as a label in the IRQ object.
l4irq_t * l4irq_attach_thread_ft | ( | int | irqnum, |
l4_cap_idx_t | to_thread, | ||
unsigned | mode | ||
) |
Attach/connect to IRQ using given type.
irqnum | IRQ number to request |
to_thread | Attach IRQ to this specified thread. |
mode | Interrupt type, |
The pointer to the IRQ structure is used as a label in the IRQ object.
long l4irq_detach | ( | l4irq_t * | irq | ) |
Detach from IRQ.
irq | IRQ data structure |
long l4irq_unmask | ( | l4irq_t * | irq | ) |
Unmask a specific IRQ.
irq | IRQ data structure |
This function is useful if a thread wants to wait for multiple IRQs using l4_ipc_wait.
long l4irq_unmask_and_wait_any | ( | l4irq_t * | unmask_irq, |
l4irq_t ** | ret_irq | ||
) |
Unmask a specific IRQ and wait for any attached IRQ.
unmask_irq | IRQ data structure for unmask. | |
[out] | ret_irq | Received interrupt. |
long l4irq_wait | ( | l4irq_t * | irq | ) |
Wait for specified IRQ.
irq | IRQ data structure |
long l4irq_wait_any | ( | l4irq_t ** | irq | ) |
Wait for any attached IRQ.
irq | Received interrupt. |