X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fsvm_handler.c;h=83f76283b35933f40395705bfa00cc1e81157724;hp=3da68a685b854b631b0531be1778eee3ad7861ff;hb=56447cc42b250554dc3e49dd805d198a0e9a256c;hpb=fc2252168f3a41d874a2c97282deda1d8c3065f2 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;