[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [V0 PATCH] SVM: set/unset TF flag for single_step
On Wed, 2 Jul 2014 14:52:38 -0700 Mukesh Rathor <mukesh.rathor@xxxxxxxxxx> wrote: > On Wed, 02 Jul 2014 09:38:40 +0100 > "Jan Beulich" <JBeulich@xxxxxxxx> wrote: > > > >>> On 02.07.14 at 05:36, <boris.ostrovsky@xxxxxxxxxx> wrote: > > >> --- a/xen/arch/x86/hvm/svm/svm.c > > >> +++ b/xen/arch/x86/hvm/svm/svm.c > > >> @@ -2350,6 +2350,8 @@ void svm_vmexit_handler(struct > > >> cpu_user_regs *regs) > > >> case VMEXIT_EXCEPTION_DB: > > >> if ( !v->domain->debugger_attached ) > > >> goto exit_and_crash; > > >> + else > > >> + regs->eflags &= ~X86_EFLAGS_TF; > > >> domain_pause_for_debugger(); > > >> break; > > > > > > > > > I poked around debugger code and it looks to me that > > > tools/debugger/gdbsx/xg:_change_TF() manages this flag. > > _change_TF() only manages TF if XEN_DOMCTL_debug_op fails. Moreover, > TF handling is intended for PV. For HVM, xen provides > XEN_DOMCTL_debug_op which sets v->arch.hvm_vcpu.single_step. > > > Indeed it shouldn't be the hypervisor to deal with that (unless it > > had a built-in one), but the debugger attached. > > Correct. But, the hyp provides abi hvm_debug_op > (XEN_DOMCTL_DEBUG_OP_SINGLE_STEP_ON) that it needs to honor for svm > like it does for vmx. I should rephrase that from "it needs" to "it would be nice to" as all debuggers then can just use hvm_vcpu.single_step internally or via hvm_debug_op(). Boris rightly points out that the cpu_has_monitor_trap_flag check in hvm_debug_op() would still be an issue, and I missed that check. It could be removed or an intel check could be added in that if statement. hvm_debug_op(): rc = -ENOSYS; if ( !cpu_has_monitor_trap_flag ) <--- break; hope that makes sense. if in agreement, i can send v1. thanks Mukesh _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |