Re: [PATCH 2/3] KVM: nVMX: Fix fail to get nested ack intr's vector during nested vmexit

From: Paolo Bonzini
Date: Thu Jul 17 2014 - 06:43:45 EST


Il 17/07/2014 12:01, Wanpeng Li ha scritto:
That is my original proposal solution of this bug. However, what I concern
after more think is since kvm_lapic_find_highest_irr will not clear
irr, if the intr will be injected by kvm_86_ops->hwapic_irr_update(vcpu,
kvm_lapic_find_highest_irr(vcpu)) which called by vcpu_enter_guest() again?

Any idea, Paolo?

The processor should do that when it does the virtual interrupt delivery. It will do (29.2.2):

Vector := RVI;
VISR[Vector] := 1;
SVI := Vector;
VIRR[Vector] := 0;
If VIRR not empty
then RVI := highest index of bit set in VIRR
else RVI := 0
Fi;
deliver interrupt with Vector through IDT;

Please post a patch, so we can reason on it better.

Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/