aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/kvm/vmx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/kvm/vmx.c')
-rw-r--r--drivers/kvm/vmx.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
index 0aa2659f6ae5..54c35c0b3181 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -1116,6 +1116,8 @@ static int vmx_vcpu_setup(struct kvm_vcpu *vcpu)
1116 1116
1117 if (rdmsr_safe(index, &data_low, &data_high) < 0) 1117 if (rdmsr_safe(index, &data_low, &data_high) < 0)
1118 continue; 1118 continue;
1119 if (wrmsr_safe(index, data_low, data_high) < 0)
1120 continue;
1119 data = data_low | ((u64)data_high << 32); 1121 data = data_low | ((u64)data_high << 32);
1120 vcpu->host_msrs[j].index = index; 1122 vcpu->host_msrs[j].index = index;
1121 vcpu->host_msrs[j].reserved = 0; 1123 vcpu->host_msrs[j].reserved = 0;
@@ -1717,7 +1719,8 @@ again:
1717 vmcs_writel(HOST_GS_BASE, segment_base(gs_sel)); 1719 vmcs_writel(HOST_GS_BASE, segment_base(gs_sel));
1718#endif 1720#endif
1719 1721
1720 do_interrupt_requests(vcpu, kvm_run); 1722 if (!vcpu->mmio_read_completed)
1723 do_interrupt_requests(vcpu, kvm_run);
1721 1724
1722 if (vcpu->guest_debug.enabled) 1725 if (vcpu->guest_debug.enabled)
1723 kvm_guest_debug_pre(vcpu); 1726 kvm_guest_debug_pre(vcpu);