Add debugger entry points for NIOS2
PATCH 7/31 Add debugger entry points for NIOS2
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.
--- arch/nios2/include/asm/kdebug.h | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 arch/nios2/include/asm/kdebug.h
arch/nios2/include/asm/kdebug.h new file +5 -0
@@ -0,0 +1,5 @@ + +static inline void arch_breakpoint (void ) +{ + __asm__ __volatile__("trap 30\n" ); +}
Signature · 1 line
1.8.3.1
Quoted 21 lines · Jeffrey Merkey
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 <[email protected]>--- arch/nios2/include/asm/kdebug.h | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 arch/nios2/include/asm/kdebug.harch/nios2/include/asm/kdebug.h new file +0
-0
arch/nios2/include/asm/kdebug.h
Quoted 6 lines
arch/nios2/include/asm/kdebug.h new file +5
-1@@ -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
Quoted 35 lines · Ley Foon Tan
Quoted 22 lines · Jeffrey Merkey
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 <[email protected]>--- arch/nios2/include/asm/kdebug.h | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 arch/nios2/include/asm/kdebug.harch/nios2/include/asm/kdebug.h new file +0
-0arch/nios2/include/asm/kdebug.h
Quoted 6 lines
arch/nios2/include/asm/kdebug.h new file +5
-1@@ -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?
Quoted 8 lines
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