From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Wood Subject: Re: [PATCH 1/6] KVM: PPC: BOOKE: No need to set DBCR0_EDM in guest visible register Date: Wed, 30 Jul 2014 13:15:20 -0500 Message-ID: <1406744120.29414.271.camel@snotra.buserror.net> References: <1405067941-27134-1-git-send-email-Bharat.Bhushan@freescale.com> <1405067941-27134-2-git-send-email-Bharat.Bhushan@freescale.com> <1406584334.29414.162.camel@snotra.buserror.net> <7c5d5b3880a8468689a649e0ef38e2da@BLUPR03MB566.namprd03.prod.outlook.com> <1406742468.29414.270.camel@snotra.buserror.net> <67e3955a5dec4351a1ceb2b39cf1f6ca@BLUPR03MB566.namprd03.prod.outlook.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: "agraf@suse.de" , "kvm-ppc@vger.kernel.org" , "kvm@vger.kernel.org" , "Yoder Stuart-B08248" To: Bhushan Bharat-R65777 Return-path: In-Reply-To: <67e3955a5dec4351a1ceb2b39cf1f6ca@BLUPR03MB566.namprd03.prod.outlook.com> Sender: kvm-ppc-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On Wed, 2014-07-30 at 12:57 -0500, Bhushan Bharat-R65777 wrote: > > > -----Original Message----- > > From: Wood Scott-B07421 > > Sent: Wednesday, July 30, 2014 11:18 PM > > To: Bhushan Bharat-R65777 > > Cc: agraf@suse.de; kvm-ppc@vger.kernel.org; kvm@vger.kernel.org; Yoder Stuart- > > B08248 > > Subject: Re: [PATCH 1/6] KVM: PPC: BOOKE: No need to set DBCR0_EDM in guest > > visible register > > > > On Wed, 2014-07-30 at 00:21 -0500, Bhushan Bharat-R65777 wrote: > > > > > > > -----Original Message----- > > > > From: Wood Scott-B07421 > > > > Sent: Tuesday, July 29, 2014 3:22 AM > > > > To: Bhushan Bharat-R65777 > > > > Cc: agraf@suse.de; kvm-ppc@vger.kernel.org; kvm@vger.kernel.org; > > > > Yoder Stuart- > > > > B08248 > > > > Subject: Re: [PATCH 1/6] KVM: PPC: BOOKE: No need to set DBCR0_EDM > > > > in guest visible register > > > > > > > > On Fri, 2014-07-11 at 14:08 +0530, Bharat Bhushan wrote: > > > > > This is not used and even I do not remember why this was added in > > > > > first place. > > > > > > > > > > Signed-off-by: Bharat Bhushan > > > > > --- > > > > > arch/powerpc/kvm/booke.c | 2 -- > > > > > 1 file changed, 2 deletions(-) > > > > > > > > > > diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c > > > > > index ab62109..a5ee42c 100644 > > > > > --- a/arch/powerpc/kvm/booke.c > > > > > +++ b/arch/powerpc/kvm/booke.c > > > > > @@ -1804,8 +1804,6 @@ int > > > > > kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu > > > > *vcpu, > > > > > kvm_guest_protect_msr(vcpu, MSR_DE, true); > > > > > vcpu->guest_debug = dbg->control; > > > > > vcpu->arch.shadow_dbg_reg.dbcr0 = 0; > > > > > - /* Set DBCR0_EDM in guest visible DBCR0 register. */ > > > > > - vcpu->arch.dbg_reg.dbcr0 = DBCR0_EDM; > > > > > > > > > > if (vcpu->guest_debug & KVM_GUESTDBG_SINGLESTEP) > > > > > vcpu->arch.shadow_dbg_reg.dbcr0 |= DBCR0_IDM | DBCR0_IC; > > > > > > > > This was intended to let the guest know that the host owns the debug > > > > resources, by analogy to what a JTAG debugger would do. > > > > > > > > The Power ISA has this "Virtualized Implementation Note": > > > > > > > > It is the responsibility of the hypervisor to ensure that > > > > DBCR0[EDM] is consistent with usage of DEP. > > > > > > Ok, That means that if MSRP_DEP is set then set DBCR0_EDM and if MSRP_DEP is > > clear then clear DBCR0_EDM, right? > > > We need to implement above mentioned this. > > > > We should probably clear EDM only when guest debug emulation is working and > > enabled (i.e. not until at least patch 6/6). > > But if EDM is set then guest debug emulation will not start/allowed. I don't mean after the guest tries to write to the registers -- I mean after the code has been added to KVM to allow it to work. -Scott From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Wood Date: Wed, 30 Jul 2014 18:15:20 +0000 Subject: Re: [PATCH 1/6] KVM: PPC: BOOKE: No need to set DBCR0_EDM in guest visible register Message-Id: <1406744120.29414.271.camel@snotra.buserror.net> List-Id: References: <1405067941-27134-1-git-send-email-Bharat.Bhushan@freescale.com> <1405067941-27134-2-git-send-email-Bharat.Bhushan@freescale.com> <1406584334.29414.162.camel@snotra.buserror.net> <7c5d5b3880a8468689a649e0ef38e2da@BLUPR03MB566.namprd03.prod.outlook.com> <1406742468.29414.270.camel@snotra.buserror.net> <67e3955a5dec4351a1ceb2b39cf1f6ca@BLUPR03MB566.namprd03.prod.outlook.com> In-Reply-To: <67e3955a5dec4351a1ceb2b39cf1f6ca@BLUPR03MB566.namprd03.prod.outlook.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Bhushan Bharat-R65777 Cc: "agraf@suse.de" , "kvm-ppc@vger.kernel.org" , "kvm@vger.kernel.org" , Yoder Stuart-B08248 On Wed, 2014-07-30 at 12:57 -0500, Bhushan Bharat-R65777 wrote: > > > -----Original Message----- > > From: Wood Scott-B07421 > > Sent: Wednesday, July 30, 2014 11:18 PM > > To: Bhushan Bharat-R65777 > > Cc: agraf@suse.de; kvm-ppc@vger.kernel.org; kvm@vger.kernel.org; Yoder Stuart- > > B08248 > > Subject: Re: [PATCH 1/6] KVM: PPC: BOOKE: No need to set DBCR0_EDM in guest > > visible register > > > > On Wed, 2014-07-30 at 00:21 -0500, Bhushan Bharat-R65777 wrote: > > > > > > > -----Original Message----- > > > > From: Wood Scott-B07421 > > > > Sent: Tuesday, July 29, 2014 3:22 AM > > > > To: Bhushan Bharat-R65777 > > > > Cc: agraf@suse.de; kvm-ppc@vger.kernel.org; kvm@vger.kernel.org; > > > > Yoder Stuart- > > > > B08248 > > > > Subject: Re: [PATCH 1/6] KVM: PPC: BOOKE: No need to set DBCR0_EDM > > > > in guest visible register > > > > > > > > On Fri, 2014-07-11 at 14:08 +0530, Bharat Bhushan wrote: > > > > > This is not used and even I do not remember why this was added in > > > > > first place. > > > > > > > > > > Signed-off-by: Bharat Bhushan > > > > > --- > > > > > arch/powerpc/kvm/booke.c | 2 -- > > > > > 1 file changed, 2 deletions(-) > > > > > > > > > > diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c > > > > > index ab62109..a5ee42c 100644 > > > > > --- a/arch/powerpc/kvm/booke.c > > > > > +++ b/arch/powerpc/kvm/booke.c > > > > > @@ -1804,8 +1804,6 @@ int > > > > > kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu > > > > *vcpu, > > > > > kvm_guest_protect_msr(vcpu, MSR_DE, true); > > > > > vcpu->guest_debug = dbg->control; > > > > > vcpu->arch.shadow_dbg_reg.dbcr0 = 0; > > > > > - /* Set DBCR0_EDM in guest visible DBCR0 register. */ > > > > > - vcpu->arch.dbg_reg.dbcr0 = DBCR0_EDM; > > > > > > > > > > if (vcpu->guest_debug & KVM_GUESTDBG_SINGLESTEP) > > > > > vcpu->arch.shadow_dbg_reg.dbcr0 |= DBCR0_IDM | DBCR0_IC; > > > > > > > > This was intended to let the guest know that the host owns the debug > > > > resources, by analogy to what a JTAG debugger would do. > > > > > > > > The Power ISA has this "Virtualized Implementation Note": > > > > > > > > It is the responsibility of the hypervisor to ensure that > > > > DBCR0[EDM] is consistent with usage of DEP. > > > > > > Ok, That means that if MSRP_DEP is set then set DBCR0_EDM and if MSRP_DEP is > > clear then clear DBCR0_EDM, right? > > > We need to implement above mentioned this. > > > > We should probably clear EDM only when guest debug emulation is working and > > enabled (i.e. not until at least patch 6/6). > > But if EDM is set then guest debug emulation will not start/allowed. I don't mean after the guest tries to write to the registers -- I mean after the code has been added to KVM to allow it to work. -Scott