From: Jordan Niethe <jniethe5@gmail.com> To: Ravi Bangoria <ravi.bangoria@linux.ibm.com> Cc: Michael Ellerman <mpe@ellerman.id.au>, mikey@neuling.org, apopple@linux.ibm.com, Paul Mackerras <paulus@samba.org>, Nicholas Piggin <npiggin@gmail.com>, Christophe Leroy <christophe.leroy@c-s.fr>, naveen.n.rao@linux.vnet.ibm.com, peterz@infradead.org, jolsa@kernel.org, oleg@redhat.com, fweisbec@gmail.com, mingo@kernel.org, pedromfc@br.ibm.com, miltonm@us.ibm.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 09/10] powerpc/watchpoint: Return available watchpoints dynamically Date: Mon, 20 Jul 2020 13:42:42 +1000 [thread overview] Message-ID: <CACzsE9r0acLUkV35mVxy1AEK_xObs0yz+fD6UdbNdc6uz=Buqw@mail.gmail.com> (raw) In-Reply-To: <20200717040958.70561-10-ravi.bangoria@linux.ibm.com> On Fri, Jul 17, 2020 at 2:11 PM Ravi Bangoria <ravi.bangoria@linux.ibm.com> wrote: > > So far Book3S Powerpc supported only one watchpoint. Power10 is > introducing 2nd DAWR. Enable 2nd DAWR support for Power10. > Availability of 2nd DAWR will depend on CPU_FTR_DAWR1. > > Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com> > --- > arch/powerpc/include/asm/cputable.h | 4 +++- > arch/powerpc/include/asm/hw_breakpoint.h | 5 +++-- > 2 files changed, 6 insertions(+), 3 deletions(-) > > diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h > index 3445c86e1f6f..36a0851a7a9b 100644 > --- a/arch/powerpc/include/asm/cputable.h > +++ b/arch/powerpc/include/asm/cputable.h > @@ -633,7 +633,9 @@ enum { > * Maximum number of hw breakpoint supported on powerpc. Number of > * breakpoints supported by actual hw might be less than this. > */ > -#define HBP_NUM_MAX 1 > +#define HBP_NUM_MAX 2 > +#define HBP_NUM_ONE 1 > +#define HBP_NUM_TWO 2 I wonder if these defines are necessary - has it any advantage over just using the literal? > > #endif /* !__ASSEMBLY__ */ > > diff --git a/arch/powerpc/include/asm/hw_breakpoint.h b/arch/powerpc/include/asm/hw_breakpoint.h > index cb424799da0d..d4eab1694bcd 100644 > --- a/arch/powerpc/include/asm/hw_breakpoint.h > +++ b/arch/powerpc/include/asm/hw_breakpoint.h > @@ -5,10 +5,11 @@ > * Copyright 2010, IBM Corporation. > * Author: K.Prasad <prasad@linux.vnet.ibm.com> > */ > - Was removing this line deliberate? > #ifndef _PPC_BOOK3S_64_HW_BREAKPOINT_H > #define _PPC_BOOK3S_64_HW_BREAKPOINT_H > > +#include <asm/cpu_has_feature.h> > + > #ifdef __KERNEL__ > struct arch_hw_breakpoint { > unsigned long address; > @@ -46,7 +47,7 @@ struct arch_hw_breakpoint { > > static inline int nr_wp_slots(void) > { > - return HBP_NUM_MAX; > + return cpu_has_feature(CPU_FTR_DAWR1) ? HBP_NUM_TWO : HBP_NUM_ONE; So it'd be something like: + return cpu_has_feature(CPU_FTR_DAWR1) ? HBP_NUM_MAX : 1; But thinking that there might be more slots added in the future, it may be better to make the number of slots a variable that is set during the init and then have this function return that. > } > > #ifdef CONFIG_HAVE_HW_BREAKPOINT > -- > 2.26.2 >
WARNING: multiple messages have this Message-ID (diff)
From: Jordan Niethe <jniethe5@gmail.com> To: Ravi Bangoria <ravi.bangoria@linux.ibm.com> Cc: Christophe Leroy <christophe.leroy@c-s.fr>, apopple@linux.ibm.com, mikey@neuling.org, miltonm@us.ibm.com, peterz@infradead.org, oleg@redhat.com, Nicholas Piggin <npiggin@gmail.com>, linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>, jolsa@kernel.org, fweisbec@gmail.com, pedromfc@br.ibm.com, naveen.n.rao@linux.vnet.ibm.com, linuxppc-dev@lists.ozlabs.org, mingo@kernel.org Subject: Re: [PATCH v4 09/10] powerpc/watchpoint: Return available watchpoints dynamically Date: Mon, 20 Jul 2020 13:42:42 +1000 [thread overview] Message-ID: <CACzsE9r0acLUkV35mVxy1AEK_xObs0yz+fD6UdbNdc6uz=Buqw@mail.gmail.com> (raw) In-Reply-To: <20200717040958.70561-10-ravi.bangoria@linux.ibm.com> On Fri, Jul 17, 2020 at 2:11 PM Ravi Bangoria <ravi.bangoria@linux.ibm.com> wrote: > > So far Book3S Powerpc supported only one watchpoint. Power10 is > introducing 2nd DAWR. Enable 2nd DAWR support for Power10. > Availability of 2nd DAWR will depend on CPU_FTR_DAWR1. > > Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com> > --- > arch/powerpc/include/asm/cputable.h | 4 +++- > arch/powerpc/include/asm/hw_breakpoint.h | 5 +++-- > 2 files changed, 6 insertions(+), 3 deletions(-) > > diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h > index 3445c86e1f6f..36a0851a7a9b 100644 > --- a/arch/powerpc/include/asm/cputable.h > +++ b/arch/powerpc/include/asm/cputable.h > @@ -633,7 +633,9 @@ enum { > * Maximum number of hw breakpoint supported on powerpc. Number of > * breakpoints supported by actual hw might be less than this. > */ > -#define HBP_NUM_MAX 1 > +#define HBP_NUM_MAX 2 > +#define HBP_NUM_ONE 1 > +#define HBP_NUM_TWO 2 I wonder if these defines are necessary - has it any advantage over just using the literal? > > #endif /* !__ASSEMBLY__ */ > > diff --git a/arch/powerpc/include/asm/hw_breakpoint.h b/arch/powerpc/include/asm/hw_breakpoint.h > index cb424799da0d..d4eab1694bcd 100644 > --- a/arch/powerpc/include/asm/hw_breakpoint.h > +++ b/arch/powerpc/include/asm/hw_breakpoint.h > @@ -5,10 +5,11 @@ > * Copyright 2010, IBM Corporation. > * Author: K.Prasad <prasad@linux.vnet.ibm.com> > */ > - Was removing this line deliberate? > #ifndef _PPC_BOOK3S_64_HW_BREAKPOINT_H > #define _PPC_BOOK3S_64_HW_BREAKPOINT_H > > +#include <asm/cpu_has_feature.h> > + > #ifdef __KERNEL__ > struct arch_hw_breakpoint { > unsigned long address; > @@ -46,7 +47,7 @@ struct arch_hw_breakpoint { > > static inline int nr_wp_slots(void) > { > - return HBP_NUM_MAX; > + return cpu_has_feature(CPU_FTR_DAWR1) ? HBP_NUM_TWO : HBP_NUM_ONE; So it'd be something like: + return cpu_has_feature(CPU_FTR_DAWR1) ? HBP_NUM_MAX : 1; But thinking that there might be more slots added in the future, it may be better to make the number of slots a variable that is set during the init and then have this function return that. > } > > #ifdef CONFIG_HAVE_HW_BREAKPOINT > -- > 2.26.2 >
next prev parent reply other threads:[~2020-07-20 3:46 UTC|newest] Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-17 4:09 [PATCH v4 00/10] powerpc/watchpoint: Enable 2nd DAWR on baremetal and powervm Ravi Bangoria 2020-07-17 4:09 ` Ravi Bangoria 2020-07-17 4:09 ` [PATCH v4 01/10] powerpc/watchpoint: Fix 512 byte boundary limit Ravi Bangoria 2020-07-17 4:09 ` Ravi Bangoria 2020-07-17 4:09 ` [PATCH v4 02/10] powerpc/watchpoint: Fix DAWR exception constraint Ravi Bangoria 2020-07-17 4:09 ` Ravi Bangoria 2020-07-17 4:09 ` [PATCH v4 03/10] powerpc/watchpoint: Fix DAWR exception for CACHEOP Ravi Bangoria 2020-07-17 4:09 ` Ravi Bangoria 2020-07-17 4:09 ` [PATCH v4 04/10] powerpc/watchpoint: Enable watchpoint functionality on power10 guest Ravi Bangoria 2020-07-17 4:09 ` Ravi Bangoria 2020-07-17 4:23 ` Jordan Niethe 2020-07-17 4:23 ` Jordan Niethe 2020-07-17 4:09 ` [PATCH v4 05/10] powerpc/dt_cpu_ftrs: Add feature for 2nd DAWR Ravi Bangoria 2020-07-17 4:09 ` Ravi Bangoria 2020-07-17 5:44 ` Jordan Niethe 2020-07-17 5:44 ` Jordan Niethe 2020-07-21 7:51 ` Ravi Bangoria 2020-07-21 7:51 ` Ravi Bangoria 2020-07-21 11:29 ` Michael Ellerman 2020-07-21 11:29 ` Michael Ellerman 2020-07-21 13:42 ` Ravi Bangoria 2020-07-21 13:42 ` Ravi Bangoria 2020-07-21 14:07 ` Michael Ellerman 2020-07-21 14:07 ` Michael Ellerman 2020-07-21 14:16 ` Ravi Bangoria 2020-07-21 14:16 ` Ravi Bangoria 2020-07-17 4:09 ` [PATCH v4 06/10] powerpc/watchpoint: Set CPU_FTR_DAWR1 based on pa-features bit Ravi Bangoria 2020-07-17 4:09 ` Ravi Bangoria 2020-07-20 1:39 ` Jordan Niethe 2020-07-20 1:39 ` Jordan Niethe 2020-07-17 4:09 ` [PATCH v4 07/10] powerpc/watchpoint: Rename current H_SET_MODE DAWR macro Ravi Bangoria 2020-07-17 4:09 ` Ravi Bangoria 2020-07-20 1:50 ` Jordan Niethe 2020-07-20 1:50 ` Jordan Niethe 2020-07-17 4:09 ` [PATCH v4 08/10] powerpc/watchpoint: Guest support for 2nd DAWR hcall Ravi Bangoria 2020-07-17 4:09 ` Ravi Bangoria 2020-07-17 4:09 ` [PATCH v4 09/10] powerpc/watchpoint: Return available watchpoints dynamically Ravi Bangoria 2020-07-17 4:09 ` Ravi Bangoria 2020-07-20 3:42 ` Jordan Niethe [this message] 2020-07-20 3:42 ` Jordan Niethe 2020-07-21 3:57 ` Ravi Bangoria 2020-07-21 3:57 ` Ravi Bangoria 2020-07-21 4:41 ` Jordan Niethe 2020-07-21 4:41 ` Jordan Niethe 2020-07-21 8:15 ` Ravi Bangoria 2020-07-21 8:15 ` Ravi Bangoria 2020-07-21 11:36 ` Michael Ellerman 2020-07-21 11:36 ` Michael Ellerman 2020-07-21 13:33 ` Ravi Bangoria 2020-07-21 13:33 ` Ravi Bangoria 2020-07-17 4:09 ` [PATCH v4 10/10] powerpc/watchpoint: Remove 512 byte boundary Ravi Bangoria 2020-07-17 4:09 ` Ravi Bangoria 2020-07-20 6:54 ` Jordan Niethe 2020-07-20 6:54 ` Jordan Niethe 2020-07-21 3:24 ` Ravi Bangoria 2020-07-21 3:24 ` Ravi Bangoria
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CACzsE9r0acLUkV35mVxy1AEK_xObs0yz+fD6UdbNdc6uz=Buqw@mail.gmail.com' \ --to=jniethe5@gmail.com \ --cc=apopple@linux.ibm.com \ --cc=christophe.leroy@c-s.fr \ --cc=fweisbec@gmail.com \ --cc=jolsa@kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=mikey@neuling.org \ --cc=miltonm@us.ibm.com \ --cc=mingo@kernel.org \ --cc=mpe@ellerman.id.au \ --cc=naveen.n.rao@linux.vnet.ibm.com \ --cc=npiggin@gmail.com \ --cc=oleg@redhat.com \ --cc=paulus@samba.org \ --cc=pedromfc@br.ibm.com \ --cc=peterz@infradead.org \ --cc=ravi.bangoria@linux.ibm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.