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!

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