public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] KVM: x86: Additional rflags.rf fixes
@ 2014-07-21 11:37 Nadav Amit
  2014-07-21 11:37 ` [PATCH 1/7] KVM: x86: Defining missing x86 vectors Nadav Amit
                   ` (8 more replies)
  0 siblings, 9 replies; 26+ messages in thread
From: Nadav Amit @ 2014-07-21 11:37 UTC (permalink / raw)
  To: pbonzini; +Cc: tglx, mingo, hpa, x86, gleb, linux-kernel, Nadav Amit

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


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2014-07-24 12:10 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-21 11:37 [PATCH 0/7] KVM: x86: Additional rflags.rf fixes Nadav Amit
2014-07-21 11:37 ` [PATCH 1/7] KVM: x86: Defining missing x86 vectors Nadav Amit
2014-07-21 11:37 ` [PATCH 2/7] KVM: x86: Function for determining exception type Nadav Amit
2014-07-21 12:18   ` Paolo Bonzini
2014-07-21 21:30     ` Nadav Amit
2014-07-22  8:08       ` Paolo Bonzini
2014-07-21 11:37 ` [PATCH 3/7] KVM: x86: Clearing rflags.rf upon skipped emulated instruction Nadav Amit
2014-07-21 11:37 ` [PATCH 4/7] KVM: vmx: set rflags.rf during fault injection Nadav Amit
2014-07-21 12:05   ` Paolo Bonzini
2014-07-21 11:37 ` [PATCH 5/7] KVM: x86: popf emulation should not change RF Nadav Amit
2014-07-21 11:37 ` [PATCH 6/7] KVM: x86: Clear rflags.rf on emulated instructions Nadav Amit
2014-07-21 11:37 ` [PATCH 7/7] KVM: x86: Cleanup of rflags.rf cleaning Nadav Amit
2014-07-21 11:39 ` [PATCH kvm-unit-tests 0/3] x86: Test rflags.rf clearing/setting Nadav Amit
2014-07-21 11:39   ` [PATCH kvm-unit-tests 1/3] x86: Check rflags.rf is cleared after emulation Nadav Amit
2014-07-21 11:39   ` [PATCH kvm-unit-tests 2/3] x86: Test rflags.rf is set upon faults Nadav Amit
2014-07-21 12:24     ` Paolo Bonzini
2014-07-21 11:39   ` [PATCH kvm-unit-tests 3/3] x86: Check RFLAGS.RF on interrupt during REP-str Nadav Amit
2014-07-21 12:25   ` [PATCH kvm-unit-tests 0/3] x86: Test rflags.rf clearing/setting Paolo Bonzini
2014-07-24 11:55     ` [PATCH kvm-unit-tests] x86: Test rflags.rf is set upon faults Nadav Amit
2014-07-24 12:09       ` Paolo Bonzini
2014-07-21 12:19 ` [PATCH 0/7] KVM: x86: Additional rflags.rf fixes Paolo Bonzini
2014-07-21 12:28   ` Nadav Amit
2014-07-21 12:31     ` Paolo Bonzini
2014-07-24 11:51       ` [PATCH 0/2] KVM: x86: Missing " Nadav Amit
2014-07-24 11:51         ` [PATCH 1/2] KVM: x86: Setting rflags.rf during rep-string emulation Nadav Amit
2014-07-24 11:51         ` [PATCH 2/2] KVM: x86: set rflags.rf during fault injection Nadav Amit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox