Lines Matching refs:handler
54 static void set_raw_irq_handler_and_unlock(uint num, irq_handler_t handler, uint32_t save) { in set_raw_irq_handler_and_unlock() argument
56 get_vtable()[VTABLE_FIRST_IRQ + num] = handler; in set_raw_irq_handler_and_unlock()
190 irq_handler_t handler; member
202 irq_handler_t handler = irq_get_vtable_handler(irq_num); in irq_has_shared_handler() local
203 return handler && is_shared_irq_raw_handler(handler); in irq_has_shared_handler()
219 void irq_set_exclusive_handler(uint num, irq_handler_t handler) { in irq_set_exclusive_handler() argument
225 hard_assert(current == __unhandled_user_irq || current == handler); in irq_set_exclusive_handler()
226 set_raw_irq_handler_and_unlock(num, handler, save); in irq_set_exclusive_handler()
356 void irq_add_shared_handler(uint num, irq_handler_t handler, uint8_t order_priority) { in irq_add_shared_handler() argument
361 irq_set_exclusive_handler(num, handler); in irq_add_shared_handler()
377 .handler = handler, in irq_add_shared_handler()
380 ….inst2 = (uint32_t)handler, // (t0 points to hand… in irq_add_shared_handler()
404 .handler = handler, in irq_add_shared_handler()
406 … .inst1 = make_call_inst1(handler), // lui ra, %hi(handler) in irq_add_shared_handler()
407 … .inst2 = make_call_inst2(handler), // jalr ra, %lo(handler)(ra) in irq_add_shared_handler()
425 .handler = handler, in irq_add_shared_handler()
428 ….inst2 = (uint32_t)handler, // (t0 points to handle… in irq_add_shared_handler()
455 return slot->handler; in handler_from_slot()
470 void irq_remove_handler(uint num, irq_handler_t handler) { in irq_remove_handler() argument
475 if (vtable_handler != __unhandled_user_irq && vtable_handler != handler) { in irq_remove_handler()
504 while (handler_from_slot(to_free_slot) != handler) { in irq_remove_handler()
509 if (handler_from_slot(to_free_slot) == handler) { in irq_remove_handler()
518 to_free_slot->handler = next_slot->handler; in irq_remove_handler()
701 irq_handler_t irq_set_riscv_vector_handler(enum riscv_vector_num index, irq_handler_t handler) { in irq_set_riscv_vector_handler() argument
706 …vtable[index] = (irq_handler_t)encode_j_instruction((uintptr_t)&vtable[index], (uintptr_t)handler); in irq_set_riscv_vector_handler()