diff options
Diffstat (limited to 'drivers/kvm/vmx.c')
-rw-r--r-- | drivers/kvm/vmx.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c index ce219e3f557f..27f2751c3baa 100644 --- a/drivers/kvm/vmx.c +++ b/drivers/kvm/vmx.c | |||
@@ -1717,7 +1717,8 @@ again: | |||
1717 | vmcs_writel(HOST_GS_BASE, segment_base(gs_sel)); | 1717 | vmcs_writel(HOST_GS_BASE, segment_base(gs_sel)); |
1718 | #endif | 1718 | #endif |
1719 | 1719 | ||
1720 | do_interrupt_requests(vcpu, kvm_run); | 1720 | if (!vcpu->mmio_read_completed) |
1721 | do_interrupt_requests(vcpu, kvm_run); | ||
1721 | 1722 | ||
1722 | if (vcpu->guest_debug.enabled) | 1723 | if (vcpu->guest_debug.enabled) |
1723 | kvm_guest_debug_pre(vcpu); | 1724 | kvm_guest_debug_pre(vcpu); |
@@ -1824,7 +1825,7 @@ again: | |||
1824 | #endif | 1825 | #endif |
1825 | "setbe %0 \n\t" | 1826 | "setbe %0 \n\t" |
1826 | "popf \n\t" | 1827 | "popf \n\t" |
1827 | : "=g" (fail) | 1828 | : "=q" (fail) |
1828 | : "r"(vcpu->launched), "d"((unsigned long)HOST_RSP), | 1829 | : "r"(vcpu->launched), "d"((unsigned long)HOST_RSP), |
1829 | "c"(vcpu), | 1830 | "c"(vcpu), |
1830 | [rax]"i"(offsetof(struct kvm_vcpu, regs[VCPU_REGS_RAX])), | 1831 | [rax]"i"(offsetof(struct kvm_vcpu, regs[VCPU_REGS_RAX])), |