Messages in this thread | | | Date | Mon, 21 Jul 2014 15:28:42 +0300 | From | Nadav Amit <> | Subject | Re: [PATCH 0/7] KVM: x86: Additional rflags.rf fixes |
| |
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
| |