|
@@ -3294,24 +3294,11 @@ static int msr_interception(struct vcpu_svm *svm)
|
|
|
|
|
|
static int interrupt_window_interception(struct vcpu_svm *svm)
|
|
|
{
|
|
|
- struct kvm_run *kvm_run = svm->vcpu.run;
|
|
|
-
|
|
|
kvm_make_request(KVM_REQ_EVENT, &svm->vcpu);
|
|
|
svm_clear_vintr(svm);
|
|
|
svm->vmcb->control.int_ctl &= ~V_IRQ_MASK;
|
|
|
mark_dirty(svm->vmcb, VMCB_INTR);
|
|
|
++svm->vcpu.stat.irq_window_exits;
|
|
|
- /*
|
|
|
- * If the user space waits to inject interrupts, exit as soon as
|
|
|
- * possible
|
|
|
- */
|
|
|
- if (!lapic_in_kernel(&svm->vcpu) &&
|
|
|
- kvm_run->request_interrupt_window &&
|
|
|
- !kvm_cpu_has_interrupt(&svm->vcpu)) {
|
|
|
- kvm_run->exit_reason = KVM_EXIT_IRQ_WINDOW_OPEN;
|
|
|
- return 0;
|
|
|
- }
|
|
|
-
|
|
|
return 1;
|
|
|
}
|
|
|
|