Searched refs:irq (Results 51 - 75 of 187) sorted by relevance

12345678

/seL4-refos-master/projects/util_libs/libplatsupport/src/arch/arm/irqchip/
H A Domap3.c37 ps_irq_t irq = { .type = PS_INTERRUPT, .irq = { .number = READ_CELL(1, interrupts_prop, 0) }}; local
38 int error = callback(irq, 0, TI_OMAP3_INT_CELL_COUNT, token);
/seL4-refos-master/libs/libsel4simple-default/src/arch/arm/
H A Ddefault.c25 seL4_Error simple_default_get_irq(void *data, int irq, seL4_CNode root, seL4_Word index, uint8_t depth) argument
27 return seL4_IRQControl_Get(seL4_CapIRQControl, irq, root, index, depth);
30 seL4_Error simple_default_get_irq_trigger(void *data, int irq, int trigger, UNUSED int core, seL4_CNode root, argument
34 return seL4_IRQControl_GetTriggerCore(seL4_CapIRQControl, irq, trigger, root, index, depth, core);
36 return seL4_IRQControl_GetTrigger(seL4_CapIRQControl, irq, trigger, root, index, depth);
98 simple->irq = simple_default_get_irq;
/seL4-refos-master/projects/seL4_libs/libsel4simple-default/src/arch/arm/
H A Ddefault.c25 seL4_Error simple_default_get_irq(void *data, int irq, seL4_CNode root, seL4_Word index, uint8_t depth) argument
27 return seL4_IRQControl_Get(seL4_CapIRQControl, irq, root, index, depth);
30 seL4_Error simple_default_get_irq_trigger(void *data, int irq, int trigger, UNUSED int core, seL4_CNode root, argument
34 return seL4_IRQControl_GetTriggerCore(seL4_CapIRQControl, irq, trigger, root, index, depth, core);
36 return seL4_IRQControl_GetTrigger(seL4_CapIRQControl, irq, trigger, root, index, depth);
98 simple->irq = simple_default_get_irq;
/seL4-refos-master/kernel/tools/hardware/outputs/
H A Dc_header.py37 {% for irq in kernel_irqs %}
38 /* {{ irq.desc }} */
39 {% if irq.has_enable() %}
40 {{ irq.get_enable_macro_str() }}
42 {% if irq.has_sel() %}
43 {{ irq.get_sel_macro_str() }}
45 #define {{ irq.label }} {{ irq.irq }}
46 {% if irq
[all...]
/seL4-refos-master/projects/util_libs/libplatsupport/include/platsupport/
H A Dirq.h61 } irq; member in union:__anon11::__anon12
112 * @param irq Information about the interrupt that is to be registered
118 typedef irq_id_t (*ps_irq_register_fn_t)(void *cookie, ps_irq_t irq, irq_callback_fn_t callback, void *callback_data);
137 static inline int ps_irq_register(ps_irq_ops_t *irq_ops, ps_irq_t irq, irq_callback_fn_t callback, void *callback_data) argument
140 return irq_ops->irq_register_fn(irq_ops->cookie, irq, callback, callback_data);
/seL4-refos-master/libs/libplatsupport/include/platsupport/
H A Dirq.h61 } irq; member in union:__anon1::__anon2
112 * @param irq Information about the interrupt that is to be registered
118 typedef irq_id_t (*ps_irq_register_fn_t)(void *cookie, ps_irq_t irq, irq_callback_fn_t callback, void *callback_data);
137 static inline int ps_irq_register(ps_irq_ops_t *irq_ops, ps_irq_t irq, irq_callback_fn_t callback, void *callback_data) argument
140 return irq_ops->irq_register_fn(irq_ops->cookie, irq, callback, callback_data);
/seL4-refos-master/kernel/include/drivers/irq/
H A Dimx31.h42 * acks the interrupt. To allow the active irq to be read
72 /* Enable or disable irq according to the 'disable' flag. */
73 static inline void maskInterrupt(bool_t disable, irq_t irq) argument
76 avic->intdisnum = irq;
78 avic->intennum = irq;
82 static inline void ackInterrupt(irq_t irq) argument
/seL4-refos-master/libs/libplatsupport/src/plat/bcm2837/
H A Dltimer.c64 static int get_nth_irq(void *data, size_t n, ps_irq_t *irq) argument
69 irq->irq.number = SP804_TIMER_IRQ;
70 irq->type = PS_INTERRUPT;
73 irq->irq.number = SYSTEM_TIMER_MATCH_IRQ(SYSTEM_TIMER_MATCH);
74 irq->type = PS_INTERRUPT;
92 static int handle_irq(void *data, ps_irq_t *irq) argument
97 switch (irq->irq
[all...]
/seL4-refos-master/projects/util_libs/libplatsupport/src/plat/bcm2837/
H A Dltimer.c64 static int get_nth_irq(void *data, size_t n, ps_irq_t *irq) argument
69 irq->irq.number = SP804_TIMER_IRQ;
70 irq->type = PS_INTERRUPT;
73 irq->irq.number = SYSTEM_TIMER_MATCH_IRQ(SYSTEM_TIMER_MATCH);
74 irq->type = PS_INTERRUPT;
92 static int handle_irq(void *data, ps_irq_t *irq) argument
97 switch (irq->irq
[all...]
/seL4-refos-master/projects/util_libs/libplatsupport/src/arch/arm/
H A Dgeneric_ltimer.c41 static int get_nth_irq(void *data, size_t n, ps_irq_t *irq) argument
44 irq->type = PS_PER_CPU;
45 irq->cpu.number = GENERIC_TIMER_PCNT_IRQ;
46 irq->cpu.trigger = 0;
47 irq->cpu.cpu_idx = 0;
99 static int handle_irq(void *data, ps_irq_t *irq) argument
101 if (irq->type != PS_PER_CPU &&
102 irq->cpu.number != GENERIC_TIMER_PCNT_IRQ &&
103 irq->cpu.trigger != 0 &&
104 irq
[all...]
/seL4-refos-master/libs/libplatsupport/src/arch/arm/
H A Dgeneric_ltimer.c41 static int get_nth_irq(void *data, size_t n, ps_irq_t *irq) argument
44 irq->type = PS_PER_CPU;
45 irq->cpu.number = GENERIC_TIMER_PCNT_IRQ;
46 irq->cpu.trigger = 0;
47 irq->cpu.cpu_idx = 0;
99 static int handle_irq(void *data, ps_irq_t *irq) argument
101 if (irq->type != PS_PER_CPU &&
102 irq->cpu.number != GENERIC_TIMER_PCNT_IRQ &&
103 irq->cpu.trigger != 0 &&
104 irq
[all...]
/seL4-refos-master/kernel/src/arch/x86/object/
H A Dinterrupt.c54 static exception_t Arch_invokeIRQControl(irq_t irq, cte_t *handlerSlot, cte_t *controlSlot, x86_irq_state_t irqState) argument
56 updateIRQState(irq, irqState);
57 return invokeIRQControl(irq, handlerSlot, controlSlot);
60 static exception_t invokeIssueIRQHandlerIOAPIC(irq_t irq, word_t ioapic, word_t pin, word_t level, word_t polarity, argument
66 return Arch_invokeIRQControl(irq, handlerSlot, controlSlot, irqState);
77 irq_t irq; local
103 irq = getSyscallArg(6, buffer);
104 if (irq > irq_user_max - irq_user_min) {
105 userError("IRQControl: Invalid irq %ld should be between 0-%ld", (long)irq, (lon
[all...]
/seL4-refos-master/libs/libplatsupport/src/plat/pc99/
H A Dltimer.c52 ps_irq_t irq; member in struct:__anon9
63 /* both PIT and HPET only have one irq */
67 static int get_nth_irq(void *data, size_t n, ps_irq_t *irq) argument
71 assert(irq != NULL);
75 *irq = pc99_ltimer->irq;
112 /* otherwise need to set another irq */
299 pc99_ltimer->irq_id = ps_irq_register(&ops.irq_ops, pc99_ltimer->irq, handle_irq,
335 if (pc99_ltimer->hpet.config.ioapic_delivery && pc99_ltimer->hpet.config.irq == 2) {
380 int ltimer_hpet_init(ltimer_t *ltimer, ps_io_ops_t ops, ps_irq_t irq, pmem_region_ argument
445 ps_irq_t irq; local
469 ltimer_hpet_describe_with_region(ltimer_t *ltimer, ps_io_ops_t ops, pmem_region_t region, ps_irq_t *irq) argument
526 ltimer_hpet_describe(ltimer_t *ltimer, ps_io_ops_t ops, ps_irq_t irq, pmem_region_t region) argument
[all...]
/seL4-refos-master/projects/util_libs/libplatsupport/src/plat/pc99/
H A Dltimer.c52 ps_irq_t irq; member in struct:__anon22
63 /* both PIT and HPET only have one irq */
67 static int get_nth_irq(void *data, size_t n, ps_irq_t *irq) argument
71 assert(irq != NULL);
75 *irq = pc99_ltimer->irq;
112 /* otherwise need to set another irq */
299 pc99_ltimer->irq_id = ps_irq_register(&ops.irq_ops, pc99_ltimer->irq, handle_irq,
335 if (pc99_ltimer->hpet.config.ioapic_delivery && pc99_ltimer->hpet.config.irq == 2) {
380 int ltimer_hpet_init(ltimer_t *ltimer, ps_io_ops_t ops, ps_irq_t irq, pmem_region_ argument
445 ps_irq_t irq; local
469 ltimer_hpet_describe_with_region(ltimer_t *ltimer, ps_io_ops_t ops, pmem_region_t region, ps_irq_t *irq) argument
526 ltimer_hpet_describe(ltimer_t *ltimer, ps_io_ops_t ops, ps_irq_t irq, pmem_region_t region) argument
[all...]
/seL4-refos-master/libs/libplatsupport/plat_include/pc99/platsupport/plat/
H A Dtimer.h29 * using the default irq - populate the irq struct with details */
30 int ltimer_hpet_describe_with_region(ltimer_t *ltimer, ps_io_ops_t ops, pmem_region_t region, ps_irq_t *irq);
31 /* Initialise the description functions for a HPET based ltimer using the provided irq and region */
32 int ltimer_hpet_describe(ltimer_t *ltimer, ps_io_ops_t ops, ps_irq_t irq, pmem_region_t hpet_region);
33 /* Initialise a hpet based ltimer using the provided irq and region */
34 int ltimer_hpet_init(ltimer_t *ltimer, ps_io_ops_t ops, ps_irq_t irq, pmem_region_t hpet_region,
/seL4-refos-master/projects/util_libs/libplatsupport/plat_include/pc99/platsupport/plat/
H A Dtimer.h29 * using the default irq - populate the irq struct with details */
30 int ltimer_hpet_describe_with_region(ltimer_t *ltimer, ps_io_ops_t ops, pmem_region_t region, ps_irq_t *irq);
31 /* Initialise the description functions for a HPET based ltimer using the provided irq and region */
32 int ltimer_hpet_describe(ltimer_t *ltimer, ps_io_ops_t ops, ps_irq_t irq, pmem_region_t hpet_region);
33 /* Initialise a hpet based ltimer using the provided irq and region */
34 int ltimer_hpet_init(ltimer_t *ltimer, ps_io_ops_t ops, ps_irq_t irq, pmem_region_t hpet_region,
/seL4-refos-master/libs/libplatsupport/src/
H A Dltimer.h14 #include <platsupport/irq.h>
18 typedef int (*ltimer_handle_irq_fn_t)(void *data, ps_irq_t *irq);
22 ps_irq_t *irq; member in struct:__anon3
40 ps_irq_t *irq = callback_data->irq; local
43 int UNUSED error = irq_handler(ltimer->data, irq);
/seL4-refos-master/projects/util_libs/libplatsupport/src/
H A Dltimer.h14 #include <platsupport/irq.h>
18 typedef int (*ltimer_handle_irq_fn_t)(void *data, ps_irq_t *irq);
22 ps_irq_t *irq; member in struct:__anon16
40 ps_irq_t *irq = callback_data->irq; local
43 int UNUSED error = irq_handler(ltimer->data, irq);
/seL4-refos-master/projects/util_libs/libethdrivers/include/ethdrivers/
H A Dpico_dev_eth.h59 static inline void ethif_pico_handle_irq(pico_device_eth *iface, int irq) { argument
60 iface->driver.i_fn.raw_handleIRQ(&iface->driver, irq);
/seL4-refos-master/kernel/src/arch/arm/machine/
H A Dgic_v2.c150 void setIRQTrigger(irq_t irq, bool_t trigger) argument
152 /* in the gic_config, there is a 2 bit field for each irq,
153 * setting the most significant bit of this field makes the irq edge-triggered,
155 word_t index = IRQT_TO_IRQ(irq) / 16u;
156 word_t offset = (IRQT_TO_IRQ(irq) % 16u) * 2;
167 /* irqInvalid cannot correspond to a valid IRQ index into the irq state array */
191 void ipi_send_target(irq_t irq, word_t cpuTargetList) argument
201 irq) << GICD_SGIR_SGIINTID_SHIFT);
207 void setIRQTarget(irq_t irq, seL4_Word target) argument
211 word_t hwIRQ = IRQT_TO_IRQ(irq);
[all...]
/seL4-refos-master/kernel/include/arch/arm/arch/smp/
H A Dipi_inline.h40 static inline void doRemoteMaskPrivateInterrupt(word_t cpu, word_t disable, word_t irq) argument
42 doRemoteOp2Arg(IpiRemoteCall_MaskPrivateInterrupt, disable, irq, cpu);
/seL4-refos-master/kernel/include/arch/x86/arch/kernel/
H A Dtraps.h37 void c_nested_interrupt(int irq)
40 void c_handle_interrupt(int irq, int syscall)
/seL4-refos-master/kernel/src/api/
H A Dsyscall.c37 irq_t irq; local
39 irq = getActiveIRQ();
47 if (IRQT_TO_IRQ(irq) != IRQT_TO_IRQ(irqInvalid)) {
48 handleInterrupt(irq);
138 seL4_Word irq = getRegister(NODE_STATE(ksCurThread), msgInfoRegister); local
144 if (irq > 15) {
149 ipi_send_target(CORE_IRQ_TO_IRQT(0, irq), BIT(target));
581 static inline void mcsIRQ(irq_t irq) argument
583 if (IRQT_TO_IRQ(irq) == KERNEL_TIMER_IRQ) {
584 /* if this is a timer irq w
625 irq_t irq; local
[all...]
/seL4-refos-master/libs/librefos/include/refos-util/
H A Ddevice_irq.h61 typedef void (*dev_irq_callback_fn_t)(void *cookie, uint32_t irq);
79 seL4_CPtr (*getIRQHandlerEndpoint)(void *cookie, int irq);
101 @param irq The IRQ number to set callback for.
106 int dev_handle_irq(dev_irq_state_t *irqState, uint32_t irq,
/seL4-refos-master/projects/refos/impl/libs/librefos/include/refos-util/
H A Ddevice_irq.h61 typedef void (*dev_irq_callback_fn_t)(void *cookie, uint32_t irq);
79 seL4_CPtr (*getIRQHandlerEndpoint)(void *cookie, int irq);
101 @param irq The IRQ number to set callback for.
106 int dev_handle_irq(dev_irq_state_t *irqState, uint32_t irq,

Completed in 108 milliseconds

12345678