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 kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html