Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1321006 > unrolled thread

[PATCH 07/31] Add debugger entry points for NIOS2

Started byJeffrey Merkey <jeffmerkey@gmail.com>
First post2016-01-28 21:00 +0100
Last post2016-01-29 05:00 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 07/31] Add debugger entry points for NIOS2 Jeffrey Merkey <jeffmerkey@gmail.com> - 2016-01-28 21:00 +0100
    Re: [PATCH 07/31] Add debugger entry points for NIOS2 Ley Foon Tan <lftan@altera.com> - 2016-01-29 04:20 +0100
      Re: [PATCH 07/31] Add debugger entry points for NIOS2 Jeffrey Merkey <jeffmerkey@gmail.com> - 2016-01-29 05:00 +0100

#1321006 — [PATCH 07/31] Add debugger entry points for NIOS2

FromJeffrey Merkey <jeffmerkey@gmail.com>
Date2016-01-28 21:00 +0100
Subject[PATCH 07/31] Add debugger entry points for NIOS2
Message-ID<qW0Ty-8hX-37@gated-at.bofh.it>
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@gmail.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");
+}
-- 
1.8.3.1

[toc] | [next] | [standalone]


#1321456

FromLey Foon Tan <lftan@altera.com>
Date2016-01-29 04:20 +0100
Message-ID<qW7Lk-4Yk-15@gated-at.bofh.it>
In reply to#1321006
On Fri, Jan 29, 2016 at 3:46 AM, Jeffrey Merkey <jeffmerkey@gmail.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@gmail.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

[toc] | [prev] | [next] | [standalone]


#1321473

FromJeffrey Merkey <jeffmerkey@gmail.com>
Date2016-01-29 05:00 +0100
Message-ID<qW8o3-5fY-19@gated-at.bofh.it>
In reply to#1321456
On 1/28/16, Ley Foon Tan <lftan@altera.com> wrote:
> On Fri, Jan 29, 2016 at 3:46 AM, Jeffrey Merkey <jeffmerkey@gmail.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@gmail.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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web