L4Re Operating System Framework
Interface and Usage Documentation
|
Interrupt controller. More...
Go to the source code of this file.
Data Structures | |
struct | l4_icu_info_t |
Info structure for an ICU. More... | |
struct | l4_icu_msi_info_t |
Info to use for a specific MSI. More... | |
Typedefs | |
typedef struct l4_icu_info_t | l4_icu_info_t |
Info structure for an ICU. | |
typedef struct l4_icu_msi_info_t | l4_icu_msi_info_t |
Info to use for a specific MSI. | |
Enumerations | |
enum | L4_icu_flags { L4_ICU_FLAG_MSI } |
Flags for IRQ numbers used for the ICU. More... | |
enum | L4_irq_mode { L4_IRQ_F_NONE = 0 , L4_IRQ_F_LEVEL = 0x2 , L4_IRQ_F_EDGE = 0x0 , L4_IRQ_F_POS = 0x0 , L4_IRQ_F_NEG = 0x4 , L4_IRQ_F_BOTH = 0x8 , L4_IRQ_F_LEVEL_HIGH = 0x3 , L4_IRQ_F_LEVEL_LOW = 0x7 , L4_IRQ_F_POS_EDGE = 0x1 , L4_IRQ_F_NEG_EDGE = 0x5 , L4_IRQ_F_BOTH_EDGE = 0x9 , L4_IRQ_F_MASK = 0xf , L4_IRQ_F_SET_WAKEUP = 0x10 , L4_IRQ_F_CLEAR_WAKEUP = 0x20 } |
Interrupt attributes. More... | |
enum | L4_icu_opcode { L4_ICU_OP_BIND , L4_ICU_OP_UNBIND , L4_ICU_OP_INFO , L4_ICU_OP_MSI_INFO , L4_ICU_OP_UNMASK , L4_ICU_OP_MASK , L4_ICU_OP_SET_MODE } |
Opcodes to the ICU interface. More... | |
Functions | |
l4_msgtag_t | l4_icu_bind (l4_cap_idx_t icu, unsigned irqnum, l4_cap_idx_t irq) L4_NOTHROW |
Bind an interrupt line of an interrupt controller to an interrupt object. | |
l4_msgtag_t | l4_icu_bind_u (l4_cap_idx_t icu, unsigned irqnum, l4_cap_idx_t irq, l4_utcb_t *utcb) L4_NOTHROW |
Bind an interrupt line of an interrupt controller to an interrupt object. | |
l4_msgtag_t | l4_icu_unbind (l4_cap_idx_t icu, unsigned irqnum, l4_cap_idx_t irq) L4_NOTHROW |
Remove binding of an interrupt line from the interrupt controller object. | |
l4_msgtag_t | l4_icu_unbind_u (l4_cap_idx_t icu, unsigned irqnum, l4_cap_idx_t irq, l4_utcb_t *utcb) L4_NOTHROW |
Remove binding of an interrupt line from the interrupt controller object. | |
l4_msgtag_t | l4_icu_set_mode (l4_cap_idx_t icu, unsigned irqnum, l4_umword_t mode) L4_NOTHROW |
Set interrupt mode. | |
l4_msgtag_t | l4_icu_set_mode_u (l4_cap_idx_t icu, unsigned irqnum, l4_umword_t mode, l4_utcb_t *utcb) L4_NOTHROW |
Set interrupt mode. | |
l4_msgtag_t | l4_icu_info (l4_cap_idx_t icu, l4_icu_info_t *info) L4_NOTHROW |
Get information about the ICU features. | |
l4_msgtag_t | l4_icu_info_u (l4_cap_idx_t icu, l4_icu_info_t *info, l4_utcb_t *utcb) L4_NOTHROW |
Get information about the ICU features. | |
l4_msgtag_t | l4_icu_msi_info (l4_cap_idx_t icu, unsigned irqnum, l4_uint64_t source, l4_icu_msi_info_t *msi_info) L4_NOTHROW |
Get MSI info about IRQ. | |
l4_msgtag_t | l4_icu_msi_info_u (l4_cap_idx_t icu, unsigned irqnum, l4_uint64_t source, l4_icu_msi_info_t *msi_info, l4_utcb_t *utcb) L4_NOTHROW |
Get MSI info about IRQ. | |
l4_msgtag_t | l4_icu_unmask (l4_cap_idx_t icu, unsigned irqnum, l4_umword_t *label, l4_timeout_t to) L4_NOTHROW |
Unmask an IRQ line. | |
l4_msgtag_t | l4_icu_unmask_u (l4_cap_idx_t icu, unsigned irqnum, l4_umword_t *label, l4_timeout_t to, l4_utcb_t *utcb) L4_NOTHROW |
Unmask the given interrupt line. | |
l4_msgtag_t | l4_icu_mask (l4_cap_idx_t icu, unsigned irqnum, l4_umword_t *label, l4_timeout_t to) L4_NOTHROW |
Mask an IRQ line. | |
l4_msgtag_t | l4_icu_mask_u (l4_cap_idx_t icu, unsigned irqnum, l4_umword_t *label, l4_timeout_t to, l4_utcb_t *utcb) L4_NOTHROW |
Mask an IRQ line. | |
Interrupt controller.
Definition in file icu.h.