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. 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. -Scott -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html