All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 07/31] Add debugger entry points for NIOS2
@ 2016-01-28 19:46 Jeffrey Merkey
  2016-01-29  3:11 ` Ley Foon Tan
  0 siblings, 1 reply; 3+ messages in thread
From: Jeffrey Merkey @ 2016-01-28 19:46 UTC (permalink / raw)
  To: linux-kernel; +Cc: lftan, linux.mdb, nios2-dev

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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 07/31] Add debugger entry points for NIOS2
  2016-01-28 19:46 [PATCH 07/31] Add debugger entry points for NIOS2 Jeffrey Merkey
@ 2016-01-29  3:11 ` Ley Foon Tan
  2016-01-29  3:49   ` Jeffrey Merkey
  0 siblings, 1 reply; 3+ messages in thread
From: Ley Foon Tan @ 2016-01-29  3:11 UTC (permalink / raw)
  To: Jeffrey Merkey; +Cc: linux-kernel, linux.mdb, nios2-dev

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 07/31] Add debugger entry points for NIOS2
  2016-01-29  3:11 ` Ley Foon Tan
@ 2016-01-29  3:49   ` Jeffrey Merkey
  0 siblings, 0 replies; 3+ messages in thread
From: Jeffrey Merkey @ 2016-01-29  3:49 UTC (permalink / raw)
  To: Ley Foon Tan; +Cc: linux-kernel, linux.mdb, nios2-dev

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-01-29  3:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-28 19:46 [PATCH 07/31] Add debugger entry points for NIOS2 Jeffrey Merkey
2016-01-29  3:11 ` Ley Foon Tan
2016-01-29  3:49   ` Jeffrey Merkey

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.