Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 72127
b: refs/heads/master
c: 1b6269d
h: refs/heads/master
i:
  72125: 9851f3b
  72123: 05d0498
  72119: 1d5e646
  72111: 08e645f
  72095: b7aff1d
  72063: 38a2b68
v: v3
  • Loading branch information
Avi Kivity committed Oct 22, 2007
1 parent f7939ba commit dab4a15
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7f2145ad6f3e7060147a2a4c4db35c641ff61b5c
refs/heads/master: 1b6269db3f83396c2fd2c8d0f3e0f37ac0e6ba05
13 changes: 9 additions & 4 deletions trunk/drivers/kvm/vmx.c
Original file line number Diff line number Diff line change
Expand Up @@ -1760,10 +1760,8 @@ static int handle_exception(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
set_bit(irq / BITS_PER_LONG, &vcpu->irq_summary);
}

if ((intr_info & INTR_INFO_INTR_TYPE_MASK) == 0x200) { /* nmi */
asm ("int $2");
return 1;
}
if ((intr_info & INTR_INFO_INTR_TYPE_MASK) == 0x200) /* nmi */
return 1; /* already handled by vmx_vcpu_run() */

if (is_no_device(intr_info)) {
vmx_fpu_activate(vcpu);
Expand Down Expand Up @@ -2196,6 +2194,7 @@ static void vmx_intr_assist(struct kvm_vcpu *vcpu)
static void vmx_vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
{
struct vcpu_vmx *vmx = to_vmx(vcpu);
u32 intr_info;

/*
* Loading guest fpu may have cleared host cr0.ts
Expand Down Expand Up @@ -2322,6 +2321,12 @@ static void vmx_vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)

asm ("mov %0, %%ds; mov %0, %%es" : : "r"(__USER_DS));
vmx->launched = 1;

intr_info = vmcs_read32(VM_EXIT_INTR_INFO);

/* We need to handle NMIs before interrupts are enabled */
if ((intr_info & INTR_INFO_INTR_TYPE_MASK) == 0x200) /* nmi */
asm("int $2");
}

static void vmx_inject_page_fault(struct kvm_vcpu *vcpu,
Expand Down

0 comments on commit dab4a15

Please sign in to comment.