X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_intr.c;h=875534ac82df142bf545b6c84e7e9b11de883527;hb=b8f6183dad926e051fb7dd10835cff2318993b17;hp=953df0ef97702d254a195c9a11a92e3ad5985c3b;hpb=4db5b116275d135e67c67b0781fc8c184e884001;p=palacios.git diff --git a/palacios/src/palacios/vmm_intr.c b/palacios/src/palacios/vmm_intr.c index 953df0e..875534a 100644 --- a/palacios/src/palacios/vmm_intr.c +++ b/palacios/src/palacios/vmm_intr.c @@ -22,6 +22,7 @@ #include #include +#include #ifndef DEBUG_INTERRUPTS #undef PrintDebug @@ -42,6 +43,7 @@ struct intr_controller { void v3_init_interrupt_state(struct guest_info * info) { info->intr_state.irq_pending = 0; + info->intr_state.irq_started = 0; info->intr_state.irq_vector = 0; INIT_LIST_HEAD(&(info->intr_state.controller_list)); @@ -176,14 +178,13 @@ int v3_intr_pending(struct guest_info * info) { struct v3_intr_state * intr_state = &(info->intr_state); struct intr_controller * ctrl = NULL; // PrintDebug("[intr_pending]\n"); - + list_for_each_entry(ctrl, &(intr_state->controller_list), ctrl_node) { if (ctrl->ctrl_ops->intr_pending(ctrl->priv_data) == 1) { return 1; } } - return 0; }