Messages in this thread | | | Date | Thu, 28 Jan 2016 20:49:45 -0700 | Subject | Re: [PATCH 07/31] Add debugger entry points for NIOS2 | From | Jeffrey Merkey <> |
| |
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
| |