Queuing the vector causes a spin when injection and window-exit are coincident.
Signed-off-by: Avi Kivity <[EMAIL PROTECTED]> Acked-by: Gregory Haskins <[EMAIL PROTECTED]> --- drivers/kvm/svm.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c index bdc5d98..f81f3a2 100644 --- a/drivers/kvm/svm.c +++ b/drivers/kvm/svm.c @@ -1425,11 +1425,16 @@ static void do_intr_requests(struct kvm_vcpu *vcpu, if (ack.flags & KVM_IRQACKDATA_VECTOR_VALID) { control = &vcpu->svm->vmcb->control; +#if 0 control->int_vector = ack.vector; control->int_ctl &= ~V_INTR_PRIO_MASK; control->int_ctl |= V_IRQ_MASK | ((/*control->int_vector >> 4*/ 0xf) << V_INTR_PRIO_SHIFT); +#endif + control->event_inj = ack.vector + | SVM_EVTINJ_VALID + | SVM_EVTINJ_TYPE_INTR; ++vcpu->stat.irq_accepted; } ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel