info->intr_state.excp_num = 0;
info->intr_state.excp_error_code = 0;
+ INIT_LIST_HEAD(&(info->intr_state.controller_list));
+
memset((uchar_t *)(info->intr_state.hooks), 0, sizeof(struct v3_irq_hook *) * 256);
}
struct intr_controller * ctrl = NULL;
struct v3_intr_state * intr_state = &(info->intr_state);
- PrintDebug("[v3_raise_irq]\n");
+ PrintDebug("[v3_raise_irq (%d)]\n", irq);
list_for_each_entry(ctrl, &(intr_state->controller_list), ctrl_node) {
ctrl->ctrl_ops->raise_intr(ctrl->priv_data, irq);
} else if (type == EXTERNAL_IRQ) {
struct intr_controller * ctrl = NULL;
+ PrintDebug("[injecting_intr] External_Irq with intr_num = %x\n", intr_num);
list_for_each_entry(ctrl, &(intr_state->controller_list), ctrl_node) {
- PrintDebug("[injecting_intr] External_Irq with intr_num = %x\n", intr_num);
ctrl->ctrl_ops->begin_irq(ctrl->priv_data, intr_num);
}
}