X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fsvm_handler.c;h=8277335d9e849e687e7f35a054ffdc2be3e7be3c;hb=4b013fe3750a387fc034352a7e4379f025dad7c2;hp=55b75fbecf56be1f0a023610e7ff43ab78ff7d0b;hpb=c34c7a69079dd6165db965454104f20c7d873c20;p=palacios.releases.git diff --git a/palacios/src/palacios/svm_handler.c b/palacios/src/palacios/svm_handler.c index 55b75fb..8277335 100644 --- a/palacios/src/palacios/svm_handler.c +++ b/palacios/src/palacios/svm_handler.c @@ -136,13 +136,10 @@ int handle_svm_exit(struct guest_info * info) { if (intr_pending(&(info->intr_state))) { - guest_ctrl->EVENTINJ.vector = get_intr_number(&(info->intr_state)); - guest_ctrl->EVENTINJ.valid = 1; - - PrintDebug("Injecting Interrupt %d\n", guest_ctrl->EVENTINJ.vector); - switch (get_intr_type(&(info->intr_state))) { case EXTERNAL_IRQ: + guest_ctrl->EVENTINJ.vector = get_intr_number(&(info->intr_state)); + guest_ctrl->EVENTINJ.valid = 1; guest_ctrl->EVENTINJ.type = SVM_INJECTION_EXTERNAL_INTR; break; case NMI: @@ -165,6 +162,10 @@ int handle_svm_exit(struct guest_info * info) { return -1; } + + PrintDebug("Injecting Interrupt %d\n", guest_ctrl->EVENTINJ.vector); + + // IMPORTANT TODO // We need to figure out stack parameters....