public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 17/31] Add debugger entry points for ARM
@ 2016-01-28 19:47 Jeffrey Merkey
  2016-01-28 21:23 ` kbuild test robot
  0 siblings, 1 reply; 2+ messages in thread
From: Jeffrey Merkey @ 2016-01-28 19:47 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux, linux.mdb, linux-arm-kernel

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/arm/include/asm/kdebug.h | 5 +++++
 1 file changed, 5 insertions(+)
 create mode 100644 arch/arm/include/asm/kdebug.h

diff --git a/arch/arm/include/asm/kdebug.h b/arch/arm/include/asm/kdebug.h
new file mode 100644
index 0000000..c60dad1
--- /dev/null
+++ b/arch/arm/include/asm/kdebug.h
@@ -0,0 +1,5 @@
+
+static inline void arch_breakpoint(void)
+{
+	asm(__inst_arm(0xe7ffdeff));
+}
-- 
1.8.3.1

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

* Re: [PATCH 17/31] Add debugger entry points for ARM
  2016-01-28 19:47 [PATCH 17/31] Add debugger entry points for ARM Jeffrey Merkey
@ 2016-01-28 21:23 ` kbuild test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kbuild test robot @ 2016-01-28 21:23 UTC (permalink / raw)
  To: Jeffrey Merkey
  Cc: kbuild-all, linux-kernel, linux, linux.mdb, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 3083 bytes --]

Hi Jeffrey,

[auto build test ERROR on v4.5-rc1]
[also build test ERROR on next-20160128]
[cannot apply to tip/x86/core]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Jeffrey-Merkey/Add-hard-soft-lockup-debugger-entry-points/20160129-035852
config: arm-sa1100 (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   In file included from arch/arm/kernel/traps.c:21:0:
   include/linux/kdebug.h:20:16: warning: 'enum die_val' declared inside parameter list
            struct pt_regs *regs, long err, int trap, int sig);
                   ^
   include/linux/kdebug.h:20:16: warning: its scope is only this definition or declaration, which is probably not what you want
   arch/arm/kernel/traps.c: In function '__die':
>> arch/arm/kernel/traps.c:247:19: error: 'DIE_OOPS' undeclared (first use in this function)
     ret = notify_die(DIE_OOPS, str, regs, err, tsk->thread.trap_no, SIGSEGV);
                      ^
   arch/arm/kernel/traps.c:247:19: note: each undeclared identifier is reported only once for each function it appears in
>> arch/arm/kernel/traps.c:247:2: error: type of formal parameter 1 is incomplete
     ret = notify_die(DIE_OOPS, str, regs, err, tsk->thread.trap_no, SIGSEGV);
     ^
--
   In file included from include/linux/kdebug.h:4:0,
                    from kernel/notifier.c:1:
   arch/arm/include/asm/kdebug.h: In function 'arch_breakpoint':
>> arch/arm/include/asm/kdebug.h:4:6: error: expected string literal before '__inst_arm'
     asm(__inst_arm(0xe7ffdeff));
         ^
   In file included from kernel/notifier.c:1:0:
   include/linux/kdebug.h: At top level:
   include/linux/kdebug.h:20:16: warning: 'enum die_val' declared inside parameter list
            struct pt_regs *regs, long err, int trap, int sig);
                   ^
   include/linux/kdebug.h:20:16: warning: its scope is only this definition or declaration, which is probably not what you want
   kernel/notifier.c:537:16: warning: 'enum die_val' declared inside parameter list
            struct pt_regs *regs, long err, int trap, int sig)
                   ^
   kernel/notifier.c:536:37: error: parameter 1 ('val') has incomplete type
    int notrace notify_die(enum die_val val, const char *str,
                                        ^
   kernel/notifier.c: In function 'notify_die':
   kernel/notifier.c:550:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^

vim +/__inst_arm +4 arch/arm/include/asm/kdebug.h

     1	
     2	static inline void arch_breakpoint(void)
     3	{
   > 4		asm(__inst_arm(0xe7ffdeff));
     5	}

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 22240 bytes --]

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

end of thread, other threads:[~2016-01-28 21:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-28 19:47 [PATCH 17/31] Add debugger entry points for ARM Jeffrey Merkey
2016-01-28 21:23 ` kbuild test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox