From: Anshuman Khandual <khandual@linux.vnet.ibm.com>
To: Michael Ellerman <mpe@ellerman.id.au>, linuxppc-dev@ozlabs.org
Cc: mikey@neuling.org
Subject: Re: [RESEND, V3] powerpc, xmon: Enable HW instruction breakpoint on POWER8
Date: Thu, 27 Nov 2014 13:46:35 +0530 [thread overview]
Message-ID: <5476DDE3.10705@linux.vnet.ibm.com> (raw)
In-Reply-To: <20141126082548.34D5114017D@ozlabs.org>
On 11/26/2014 01:55 PM, Michael Ellerman wrote:
> On Tue, 2014-25-11 at 10:08:48 UTC, Anshuman Khandual wrote:
>> This patch enables support for hardware instruction breakpoints
>> on POWER8 with the help of a new register CIABR (Completed
>> Instruction Address Breakpoint Register). With this patch, single
>> hardware instruction breakpoint can be added and cleared during
>> any active xmon debug session. This hardware based instruction
>> breakpoint mechanism works correctly along with the existing TRAP
>> based instruction breakpoints available on xmon.
>
>
> Hi Anshuman,
>
>> diff --git a/arch/powerpc/include/asm/xmon.h b/arch/powerpc/include/asm/xmon.h
>> index 5eb8e59..5d17aec 100644
>> --- a/arch/powerpc/include/asm/xmon.h
>> +++ b/arch/powerpc/include/asm/xmon.h
>> @@ -29,5 +29,11 @@ static inline void xmon_register_spus(struct list_head *list) { };
>> extern int cpus_are_in_xmon(void);
>> #endif
>
> This file is the exported interface *of xmon*, it's not the place to put things
> that xmon needs internally.
>
> For now just put it in xmon.c
Okay.
>
>> +#if defined(CONFIG_PPC_BOOK3S_64) && defined(CONFIG_PPC_SPLPAR)
>> +#include <asm/plpar_wrappers.h>
>> +#else
>> +static inline long plapr_set_ciabr(unsigned long ciabr) {return 0; };
>> +#endif
>
> Also the ifdef is overly verbose, CONFIG_PPC_SPLPAR essentially depends on
> CONFIG_PPC_BOOK3S_64. So you can just use #ifdef CONFIG_PPC_SPLPAR.
Yeah, thats correct.
>
>> diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
>> index b988b5a..c2f601a 100644
>> --- a/arch/powerpc/xmon/xmon.c
>> +++ b/arch/powerpc/xmon/xmon.c
>> @@ -271,6 +273,55 @@ static inline void cinval(void *p)
>> }
>>
>> /*
>> + * write_ciabr
>> + *
>> + * This function writes a value to the
>> + * CIARB register either directly through
>> + * mtspr instruction if the kernel is in HV
>> + * privilege mode or call a hypervisor function
>> + * to achieve the same in case the kernel is in
>> + * supervisor privilege mode.
>> + */
>
> I'm not really sure a function this small needs a documentation block.
>
> But if you're going to add one, PLEASE make sure it's an actual kernel-doc
> style comment.
>
> You can check with:
>
> $ ./scripts/kernel-doc -text arch/powerpc/xmon/xmon.c
>
> Which you'll notice prints:
>
> Warning(arch/powerpc/xmon/xmon.c): no structured comments found
>
> You need something like:
>
> /**
> * write_ciabr() - write the CIABR SPR
> * @ciabr: The value to write.
> *
> * This function writes a value to the CIABR register either directly through
> * mtspr instruction if the kernel is in HV privilege mode or calls a
> * hypervisor function to achieve the same in case the kernel is in supervisor
> * privilege mode.
> */
Sure.
>
>
>
> The rest of the patch is OK. But I was hoping you'd notice that we no longer
> support any cpus that implement CPU_FTR_IABR. And so you can just repurpose all
> the iabr logic for ciabr.
Okay.
>
> Something like this, untested:
Yeah it is working on LPAR and also on bare metal platform as well. The new patch
will use some of your suggested code, so can I add your signed-off-by to the patch
as well ?
next prev parent reply other threads:[~2014-11-27 8:16 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-25 10:08 [RESEND PATCH V3] powerpc, xmon: Enable HW instruction breakpoint on POWER8 Anshuman Khandual
2014-11-26 8:25 ` [RESEND, " Michael Ellerman
2014-11-27 8:16 ` Anshuman Khandual [this message]
2014-11-28 0:18 ` Michael Ellerman
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=5476DDE3.10705@linux.vnet.ibm.com \
--to=khandual@linux.vnet.ibm.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=mikey@neuling.org \
--cc=mpe@ellerman.id.au \
/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: link
Be 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.