On Fri, 2022-08-19 at 12:56 -0400, Paolo Bonzini wrote: > Since svm_check_nested_events() is now handling INIT signals, there is > no need to latch it until the VMEXIT is injected. The only condition > under which INIT signals are latched is GIF=0. > > Suggested-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx> > Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > --- > arch/x86/kvm/svm/svm.c | 10 +--------- > 1 file changed, 1 insertion(+), 9 deletions(-) > > diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c > index f3813dbacb9f..26a348389ece 100644 > --- a/arch/x86/kvm/svm/svm.c > +++ b/arch/x86/kvm/svm/svm.c > @@ -4697,15 +4697,7 @@ static bool svm_apic_init_signal_blocked(struct kvm_vcpu *vcpu) > { > struct vcpu_svm *svm = to_svm(vcpu); > > - /* > - * TODO: Last condition latch INIT signals on vCPU when > - * vCPU is in guest-mode and vmcb12 defines intercept on INIT. > - * To properly emulate the INIT intercept, > - * svm_check_nested_events() should call nested_svm_vmexit() > - * if an INIT signal is pending. > - */ > - return !gif_set(svm) || > - (vmcb_is_intercept(&svm->vmcb->control, INTERCEPT_INIT)); > + return !gif_set(svm); > } > > static void svm_vcpu_deliver_sipi_vector(struct kvm_vcpu *vcpu, u8 vector) Reviewed-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx> Best regards, Maxim Levitsky