Our current real mode interrupt injection injects external interrupts as software interrupts, which is somewhat hacky. This is problematic in big real mode (can't use vmx there) and on via processors (a cpu bug prevents this from working correctly). Replace the current mechanism with emulation; we now inject the interrupt by looking up the vector in the IVT, updating the stack, etc. using the emulator. This is somewhat slower but works in all cases. Avi Kivity (1): KVM: VMX: Respect interrupt window in big real mode Mohammed Gamal (3): KVM: x86 emulator: Expose emulate_int_real() KVM: Add kvm_inject_realmode_interrupt() wrapper KVM: VMX: Emulated real mode interrupt injection arch/x86/include/asm/kvm_emulate.h | 3 +- arch/x86/kvm/vmx.c | 74 +++++++---------------------------- arch/x86/kvm/x86.c | 29 ++++++++++++++ arch/x86/kvm/x86.h | 1 + 4 files changed, 47 insertions(+), 60 deletions(-) -- 1.7.2.3 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html