diff options
author | Robert Mustacchi <rm@joyent.com> | 2011-11-28 21:29:18 +0000 |
---|---|---|
committer | Robert Mustacchi <rm@joyent.com> | 2011-11-28 21:29:18 +0000 |
commit | a131c2d183ff020f325c894f2d5d20a8c93ea3d9 (patch) | |
tree | c2ad79617cc122fe98a257a69e8b77ab92df1b4c | |
parent | 57e524c0917596ec7db57166242a62e59e38d719 (diff) | |
download | illumos-kvm-a131c2d183ff020f325c894f2d5d20a8c93ea3d9.tar.gz |
OS-745 system hung doing crosscalls
-rw-r--r-- | kvm_x86.c | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -3417,13 +3417,10 @@ vcpu_enter_guest(struct kvm_vcpu *vcpu) if (vcpu->fpu_active) kvm_load_guest_fpu(vcpu); - cli(); - clear_bit(KVM_REQ_KICK, &vcpu->requests); if (vcpu->requests || issig(JUSTLOOKING)) { set_bit(KVM_REQ_KICK, &vcpu->requests); - sti(); kpreempt_enable(); r = 1; goto out; @@ -3431,6 +3428,8 @@ vcpu_enter_guest(struct kvm_vcpu *vcpu) inject_pending_event(vcpu); + cli(); + /* enable NMI/IRQ window open exits if needed */ if (vcpu->arch.nmi_pending) kvm_x86_ops->enable_nmi_window(vcpu); |