On 7/21/14, 3:19 PM, Paolo Bonzini wrote:
Il 21/07/2014 13:37, Nadav Amit ha scritto:
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(-)


I'm not applying patches 2 and 4 yet.  I have applied the others:

       KVM: x86: Clearing rflags.rf upon skipped emulated instruction
       KVM: x86: popf emulation should not change RF
       KVM: x86: Clear rflags.rf on emulated instructions
       KVM: x86: Cleanup of rflags.rf cleaning
       KVM: x86: emulator injects #DB when RFLAGS.RF is set
       KVM: x86: Defining missing x86 vectors

since the remaining two are independent.


Thanks for the quick response. I will address the issues you raised.

Please review and apply as well "[PATCH] KVM: x86: emulator injects #DB when RFLAGS.RF is set" which was submitted before. ( http://www.spinics.net/lists/kvm/msg105858.html ).
as well.

Thanks again,
Nadav

--
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/

Reply via email to