From: Jack Lange Date: Mon, 16 Mar 2009 23:38:18 +0000 (-0500) Subject: fixed stupid error... X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=commitdiff_plain;h=d4101540fb62c0459cacca0b3b8299e7ada91306 fixed stupid error... --- diff --git a/palacios/src/palacios/svm_handler.c b/palacios/src/palacios/svm_handler.c index 4d5ce3e..9102c16 100644 --- a/palacios/src/palacios/svm_handler.c +++ b/palacios/src/palacios/svm_handler.c @@ -71,12 +71,13 @@ int v3_handle_svm_exit(struct guest_info * info) { exit_code = guest_ctrl->exit_code; - if ((info->intr_state.irq_pending) && (guest_ctrl->guest_ctrl.V_IRQ = 0)) { + if ((info->intr_state.irq_pending == 1) && (guest_ctrl->guest_ctrl.V_IRQ == 0)) { // Interrupt was taken in the guest + PrintDebug("Interrupt taken by guest\n"); v3_injecting_intr(info, info->intr_state.irq_vector, EXTERNAL_IRQ); - info->intr_state.irq_pending = 0; } + info->intr_state.irq_pending = 0; // Disable printing io exits due to bochs debug messages diff --git a/palacios/src/palacios/vmm_intr.c b/palacios/src/palacios/vmm_intr.c index e3878e2..6db7ba0 100644 --- a/palacios/src/palacios/vmm_intr.c +++ b/palacios/src/palacios/vmm_intr.c @@ -44,6 +44,10 @@ void v3_init_interrupt_state(struct guest_info * info) { info->intr_state.excp_num = 0; info->intr_state.excp_error_code = 0; + info->intr_state.irq_pending = 0; + info->intr_state.irq_vector = 0; + + INIT_LIST_HEAD(&(info->intr_state.controller_list)); memset((uchar_t *)(info->intr_state.hooks), 0, sizeof(struct v3_irq_hook *) * 256);