Thread (4 messages) 4 messages, 3 authors, 2016-09-22

Re: [PATCH] KVM: nVMX: Fix the NMI IDT-vectoring info handling

From: Paolo Bonzini <pbonzini@redhat.com>
Date: 2016-09-22 09:37:40
Also in: lkml


On 22/09/2016 05:34, Wanpeng Li wrote:
-	if (vmx->rmode.vm86_active) {
-		if (kvm_inject_realmode_interrupt(vcpu, NMI_VECTOR, 0) != EMULATE_DONE)
-			kvm_make_request(KVM_REQ_TRIPLE_FAULT, vcpu);
-		return;
+		++vcpu->stat.nmi_injections;
+		vmx->nmi_known_unmasked = false;
+		if (vmx->rmode.vm86_active) {
+			if (kvm_inject_realmode_interrupt(vcpu, NMI_VECTOR, 0) != EMULATE_DONE)
+				kvm_make_request(KVM_REQ_TRIPLE_FAULT, vcpu);
+			return;
+		}
 	}
 	vmcs_write32(VM_ENTRY_INTR_INFO_FIELD,
 			INTR_TYPE_NMI_INTR | INTR_INFO_VALID_MASK | NMI_VECTOR);
Hi,

the patch is mostly okay but the "if (vmx->rmode.vm86_active)" part
should be done also if the VCPU is in guest mode.  See
vmx_queue_exception for a similar example.

I would like to know which processors lack virtual NMI support.  I'd
rather rip that code out...

Thanks,

Paolo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help