From: Bharat Bhushan Date: Wed, 6 Aug 2014 06:38:54 +0000 (+0530) Subject: KVM: PPC: BOOKE: Clear guest dbsr in userspace exit KVM_EXIT_DEBUG X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=2190991e7caa2e2a2b976e9ed16e55f8c51623be;p=deliverable%2Flinux.git KVM: PPC: BOOKE: Clear guest dbsr in userspace exit KVM_EXIT_DEBUG 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 Signed-off-by: Alexander Graf --- diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index 322da7d2334a..b4ab86cdb51d 100644 --- a/arch/powerpc/kvm/booke.c +++ b/arch/powerpc/kvm/booke.c @@ -735,6 +735,8 @@ 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) */ + vcpu->arch.dbsr = 0; run->debug.arch.status = 0; run->debug.arch.address = vcpu->arch.pc;