[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CA+ekxPUtjJMPvwm=6Cb53MzSKk91chrXWYUAXMjJ2ispjMGbDQ@mail.gmail.com>
Date: Thu, 28 Jan 2016 20:49:45 -0700
From: Jeffrey Merkey <jeffmerkey@...il.com>
To: Ley Foon Tan <lftan@...era.com>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
linux.mdb@...il.com,
"nios2-dev@...ts.rocketboards.org" <nios2-dev@...ts.rocketboards.org>
Subject: Re: [PATCH 07/31] Add debugger entry points for NIOS2
On 1/28/16, Ley Foon Tan <lftan@...era.com> wrote:
> On Fri, Jan 29, 2016 at 3:46 AM, Jeffrey Merkey <jeffmerkey@...il.com>
> wrote:
>> This patch series adds an export which can be set by system debuggers to
>> direct the hard lockup and soft lockup detector to trigger a breakpoint
>> exception and enter a debugger if one is active. It is assumed that if
>> someone sets this variable, then an breakpoint handler of some sort will
>> be actively loaded or registered via the notify die handler chain.
>>
>> This addition is extremely useful for debugging hard and soft lockups
>> real time and quickly from a console debugger.
>>
>> Signed-off-by: Jeffrey Merkey <jeffmerkey@...il.com>
>> ---
>> arch/nios2/include/asm/kdebug.h | 5 +++++
>> 1 file changed, 5 insertions(+)
>> create mode 100644 arch/nios2/include/asm/kdebug.h
>>
>> diff --git a/arch/nios2/include/asm/kdebug.h
>> b/arch/nios2/include/asm/kdebug.h
>> new file mode 100644
>> index 0000000..d5d9957
>> --- /dev/null
>> +++ b/arch/nios2/include/asm/kdebug.h
>> @@ -0,0 +1,5 @@
>> +
>> +static inline void arch_breakpoint(void)
>> +{
>> + __asm__ __volatile__("trap 30\n");
>> +}
>> --
> Hi Jeffrey
>
> We already have similar function in arch/nios2/include/asm/kgdb.h. Can
> we reuse this?
>
> static inline void arch_kgdb_breakpoint(void)
> {
> __asm__ __volatile__("trap 30\n");
> }
>
> Regards
> Ley Foon
>
Hi Ley,
I actually copied it from there. As it turns out, since it is being
called from watchdog.c it cannot be dependent on kgdb being compiled
so that function will not work . I am looking at a better way to do
this by using the BUG() macro instead of this function in all the
arches. Looks to be a lot cleaner and I can set the includes to
conditionally compile it with a breakpoint instead of the BUG while
loop.
Jeff
Powered by blists - more mailing lists