{
        struct vcpu_svm *svm = to_svm(vcpu);
        bool block_nested_events =
-               kvm_event_needs_reinjection(vcpu) || svm->nested.exit_required ||
-               svm->nested.nested_run_pending;
+               kvm_event_needs_reinjection(vcpu) || svm->nested.nested_run_pending;
 
        if (vcpu->arch.exception.pending) {
                if (block_nested_events)
 
        if (npt_enabled)
                vcpu->arch.cr3 = svm->vmcb->save.cr3;
 
-       if (unlikely(svm->nested.exit_required)) {
-               nested_svm_vmexit(svm);
-               svm->nested.exit_required = false;
-
-               return 1;
-       }
-
        if (is_guest_mode(vcpu)) {
                int vmexit;
 
        svm->vmcb->save.rsp = vcpu->arch.regs[VCPU_REGS_RSP];
        svm->vmcb->save.rip = vcpu->arch.regs[VCPU_REGS_RIP];
 
-       /*
-        * A vmexit emulation is required before the vcpu can be executed
-        * again.
-        */
-       if (unlikely(svm->nested.exit_required))
-               return EXIT_FASTPATH_NONE;
-
        /*
         * Disable singlestep if we're injecting an interrupt/exception.
         * We don't want our modified rflags to be pushed on the stack where
 
        u64 vmcb_msrpm;
        u64 vmcb_iopm;
 
-       /* A VMEXIT is required but not yet emulated */
-       bool exit_required;
-
        /* A VMRUN has started but has not yet been performed, so
         * we cannot inject a nested vmexit yet.  */
        bool nested_run_pending;