From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: [PATCH 0/4] Real mode interrupt injection emulation Date: Sun, 19 Sep 2010 14:34:04 +0200 Message-ID: <1284899648-19958-1-git-send-email-avi@redhat.com> Cc: Mohammed Gamal To: Marcelo Tosatti , kvm@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:1026 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753412Ab0ISMeK (ORCPT ); Sun, 19 Sep 2010 08:34:10 -0400 Sender: kvm-owner@vger.kernel.org List-ID: 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