diff options
Diffstat (limited to 'arch/x86/kvm/vmx.c')
-rw-r--r-- | arch/x86/kvm/vmx.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index da6461d5dc84..b9e06b07aca1 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c | |||
@@ -2490,6 +2490,12 @@ static void vmx_update_window_states(struct kvm_vcpu *vcpu) | |||
2490 | GUEST_INTR_STATE_MOV_SS))); | 2490 | GUEST_INTR_STATE_MOV_SS))); |
2491 | } | 2491 | } |
2492 | 2492 | ||
2493 | static int vmx_interrupt_allowed(struct kvm_vcpu *vcpu) | ||
2494 | { | ||
2495 | vmx_update_window_states(vcpu); | ||
2496 | return vcpu->arch.interrupt_window_open; | ||
2497 | } | ||
2498 | |||
2493 | static void do_interrupt_requests(struct kvm_vcpu *vcpu, | 2499 | static void do_interrupt_requests(struct kvm_vcpu *vcpu, |
2494 | struct kvm_run *kvm_run) | 2500 | struct kvm_run *kvm_run) |
2495 | { | 2501 | { |
@@ -3691,7 +3697,7 @@ static struct kvm_x86_ops vmx_x86_ops = { | |||
3691 | .exception_injected = vmx_exception_injected, | 3697 | .exception_injected = vmx_exception_injected, |
3692 | .inject_pending_irq = vmx_intr_assist, | 3698 | .inject_pending_irq = vmx_intr_assist, |
3693 | .inject_pending_vectors = do_interrupt_requests, | 3699 | .inject_pending_vectors = do_interrupt_requests, |
3694 | 3700 | .interrupt_allowed = vmx_interrupt_allowed, | |
3695 | .set_tss_addr = vmx_set_tss_addr, | 3701 | .set_tss_addr = vmx_set_tss_addr, |
3696 | .get_tdp_level = get_ept_level, | 3702 | .get_tdp_level = get_ept_level, |
3697 | .get_mt_mask_shift = vmx_get_mt_mask_shift, | 3703 | .get_mt_mask_shift = vmx_get_mt_mask_shift, |