This patchset reworks vmx interrupt processing. After this patchset is applied, VM-entry registers are only accessed before VM entry, and VM-exit registers are only accessed after VM exit. In my opinion, this reduces complexity significantly.
It also paves the way for moving some of the interrupt processing out of the interrupt-disabled path, which is necessary to get proper locking for the PIC, and for emulating interrupt injection in big-real mode. Still todo: - unify with !kernel_irqchip - port to svm (should be simpler) - move more code to arch independent - extensive testing Avi Kivity (6): KVM: Move NMI IRET fault processing to new vmx_complete_interrupts() KVM: VMX: Move nmi injection failure processing to vm exit path KVM: Clear exception queue before emulating an instruction KVM: VMX: Fix pending exception processing KVM: Add a pending interrupt queue KVM: VMX: Move interrupt post-processing to vmx_complete_interrupts() arch/x86/kvm/vmx.c | 162 ++++++++++++++++++++++---------------------- arch/x86/kvm/x86.c | 2 + arch/x86/kvm/x86.h | 22 ++++++ include/asm-x86/kvm_host.h | 6 ++ 4 files changed, 110 insertions(+), 82 deletions(-) create mode 100644 arch/x86/kvm/x86.h -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
