[PATCH 0/4] Real mode interrupt injection emulation

Avi Kivity
2010-09-19T12:34:10Z

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