RFLAGS.RF is not handled well by kvm, in both the x86 emulator and vmx code. This flag should be cleared after every instruction emulation (other than IRETD/IRETQ). It should be set in various conditions as described in Intel SDM 17.3.1.1. This series of patches addresses the clearing of RF on emulated instructions, the setting the RF upon fault injection. It does not handle the case of traps and interrupts injection during REP-string, since there is no easy indication whether the first iteration of a rep-string occurred. The value of RF depends on whether the first iteration took place.
Thanks for reviewing the patches. Nadav Amit (7): KVM: x86: Defining missing x86 vectors KVM: x86: Function for determining exception type KVM: x86: Clearing rflags.rf upon skipped emulated instruction KVM: vmx: set rflags.rf during fault injection KVM: x86: popf emulation should not change RF KVM: x86: Clear rflags.rf on emulated instructions KVM: x86: Cleanup of rflags.rf cleaning arch/x86/include/uapi/asm/kvm.h | 3 +++ arch/x86/kvm/emulate.c | 13 ++++++++----- arch/x86/kvm/vmx.c | 11 ++++++++++- arch/x86/kvm/x86.c | 37 +++++++++++++++++++++++++++++++++++++ arch/x86/kvm/x86.h | 9 +++++++++ 5 files changed, 67 insertions(+), 6 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

