Lines Matching refs:io

89 		struct io_handler *io;
104 for (io = sVectors[i].handler_list; io != NULL; io = io->next) {
108 status_t error = elf_debug_lookup_symbol_address((addr_t)io->func,
116 io->func);
118 kprintf("\t\t\t\t\t func %p", io->func);
120 kprintf(", data %p, handled ", io->data);
121 if (io->no_handled_info)
124 kprintf("%8" B_PRId64 "\n", io->handled_count);
274 struct io_handler* io;
289 dprintf("unhandled io interrupt %d\n", vector);
304 for (io = sVectors[vector].handler_list; io != NULL; io = io->next) {
305 status = io->func(io->data);
309 io->handled_count++;
344 dprintf("Disabling unhandled io interrupt %d\n", vector);
436 struct io_handler *io = NULL;
442 io = (struct io_handler *)malloc(sizeof(struct io_handler));
443 if (io == NULL)
450 io->func = handler;
451 io->data = data;
452 io->use_enable_counter = (flags & B_NO_ENABLE_COUNTER) == 0;
453 io->no_handled_info = (flags & B_NO_HANDLED_INFO) != 0;
455 io->handled_count = 0LL;
492 io->next = NULL;
493 last->next = io;
496 io->next = sVectors[vector].handler_list;
497 sVectors[vector].handler_list = io;
502 if (io->use_enable_counter) {
530 struct io_handler *io = NULL;
545 for (io = sVectors[vector].handler_list; io != NULL; io = io->next) {
547 if (io->func == handler && io->data == data) {
549 last->next = io->next;
551 sVectors[vector].handler_list = io->next;
554 if (io->use_enable_counter && --sVectors[vector].enable_count == 0)
561 last = io;
598 free(io);
667 dprintf("found no free vectors to allocate %" B_PRId32 " io interrupts\n", count);
707 panic("io interrupt vector %" B_PRId32 " was not allocated\n",
714 panic("freeing io interrupt vector %" B_PRId32 " that is still asigned to a "