> -----Original Message----- > From: Wood Scott-B07421 > Sent: Tuesday, August 05, 2014 4:17 AM > To: Bhushan Bharat-R65777 > Cc: agraf@xxxxxxx; kvm-ppc@xxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; Yoder Stuart- > B08248 > Subject: Re: [PATCH 4/5] KVM: PPC: BOOKE: Clear guest dbsr in userspace exit > KVM_EXIT_DEBUG > > On Mon, 2014-08-04 at 13:22 +0530, Bharat Bhushan wrote: > > Dbsr is not visible to userspace and we do not think any need to > > expose this to userspace because: > > Userspace cannot inject debug interrupt to guest (as this > > does not know guest ability to handle debug interrupt), so > > userspace will always clear DBSR. > > Now if userspace has to always clear DBSR in KVM_EXIT_DEBUG > > handling then clearing dbsr in kernel looks simple as this > > avoid doing SET_SREGS/set_one_reg() to clear DBSR > > > > Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> > > --- > > arch/powerpc/kvm/booke.c | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index > > 322da7d..5c2e26a 100644 > > --- a/arch/powerpc/kvm/booke.c > > +++ b/arch/powerpc/kvm/booke.c > > @@ -735,6 +735,17 @@ static int kvmppc_handle_debug(struct kvm_run *run, > struct kvm_vcpu *vcpu) > > struct debug_reg *dbg_reg = &(vcpu->arch.shadow_dbg_reg); > > u32 dbsr = vcpu->arch.dbsr; > > > > + /* Clear guest dbsr (vcpu->arch.dbsr). > > + * dbsr is not visible to userspace and we do not think any > > + * need to expose this to userspace because: > > + * Userspace cannot inject debug interrupt to guest (as this does > > + * not know guest ability to handle debug interrupt), so userspace > > + * will always clear DBSR. > > + * Now if userspace has to always clear DBSR in KVM_EXIT_DEBUG > > + * handling then clearing here looks simple as this > > + * avoid doing SET_SREGS/set_one_reg() to clear DBSR > > + */ > > + vcpu->arch.dbsr = 0; > > run->debug.arch.status = 0; > > run->debug.arch.address = vcpu->arch.pc; > > > > I think the changelog is adequate -- I don't think we need to be so verbose in > the code itself. The question was just whether this was a userspace-visible > change, and it isn't. Ok, will make a small comment. > > FWIW, I think dbsr should be visible to userspace in general (regardless of > whether it's cleared here), because all guest registers should be visible to > userspace. I may be debugging a guest through means that don't require owning > debug resources, such as stopping and inspecting a guest that has hung or > crashed. Do you mean that we should also add a one-reg interface for DBSR ? Thanks -Bharat > > -Scott > ��.n��������+%������w��{.n�����o�^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�