From: Jack Lange Date: Sun, 1 Jun 2008 18:53:29 +0000 (+0000) Subject: fixed interrupt injection X-Git-Tag: boot386puppy-26-to-ide~28 X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=commitdiff_plain;h=56447cc42b250554dc3e49dd805d198a0e9a256c fixed interrupt injection --- diff --git a/palacios/src/palacios/svm_handler.c b/palacios/src/palacios/svm_handler.c index 3da68a6..83f7628 100644 --- a/palacios/src/palacios/svm_handler.c +++ b/palacios/src/palacios/svm_handler.c @@ -186,10 +186,17 @@ int handle_svm_exit(struct guest_info * info) { case EXTERNAL_IRQ: { uint_t irq = get_intr_number(info); - guest_ctrl->EVENTINJ.vector = irq; - guest_ctrl->EVENTINJ.valid = 1; - guest_ctrl->EVENTINJ.type = SVM_INJECTION_EXTERNAL_INTR; + /* + guest_ctrl->EVENTINJ.vector = irq; + guest_ctrl->EVENTINJ.valid = 1; + guest_ctrl->EVENTINJ.type = SVM_INJECTION_EXTERNAL_INTR; + */ + guest_ctrl->guest_ctrl.V_IRQ = 1; + guest_ctrl->guest_ctrl.V_INTR_VECTOR = irq; + guest_ctrl->guest_ctrl.V_IGN_TPR = 1; + guest_ctrl->guest_ctrl.V_INTR_PRIO = 0xf; + injecting_intr(info, irq, EXTERNAL_IRQ); break;