]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: nVMX: Rework interception of IRQs and NMIs
authorJan Kiszka <jan.kiszka@siemens.com>
Fri, 7 Mar 2014 19:03:12 +0000 (20:03 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 11 Mar 2014 07:41:45 +0000 (08:41 +0100)
commitb868d4d1c62ced80993c73f995608bb43ee11e69
tree7a0d2a778c46831c596ab08190e0b7af05e86d52
parent430b890ce8e1d227de90923b37942aea79d69d9b
KVM: nVMX: Rework interception of IRQs and NMIs

Move the check for leaving L2 on pending and intercepted IRQs or NMIs
from the *_allowed handler into a dedicated callback. Invoke this
callback at the relevant points before KVM checks if IRQs/NMIs can be
injected. The callback has the task to switch from L2 to L1 if needed
and inject the proper vmexit events.

The rework fixes L2 wakeups from HLT and provides the foundation for
preemption timer emulation.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/vmx.c
arch/x86/kvm/x86.c