Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1320983 > unrolled thread
| Started by | Jeffrey Merkey <jeffmerkey@gmail.com> |
|---|---|
| First post | 2016-01-28 20:50 +0100 |
| Last post | 2016-01-28 22:50 +0100 |
| Articles | 5 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH 30/31] Add debugger entry points for SPARC Jeffrey Merkey <jeffmerkey@gmail.com> - 2016-01-28 20:50 +0100
Re: [PATCH 30/31] Add debugger entry points for SPARC Sam Ravnborg <sam@ravnborg.org> - 2016-01-28 22:40 +0100
Re: [PATCH 30/31] Add debugger entry points for SPARC Jeffrey Merkey <jeffmerkey@gmail.com> - 2016-01-28 22:40 +0100
Re: [PATCH 30/31] Add debugger entry points for SPARC kbuild test robot <lkp@intel.com> - 2016-01-28 22:40 +0100
Re: [PATCH 30/31] Add debugger entry points for SPARC kbuild test robot <lkp@intel.com> - 2016-01-28 22:50 +0100
| From | Jeffrey Merkey <jeffmerkey@gmail.com> |
|---|---|
| Date | 2016-01-28 20:50 +0100 |
| Subject | [PATCH 30/31] Add debugger entry points for SPARC |
| Message-ID | <qW0JQ-8ef-33@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/sparc/include/asm/kdebug.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/sparc/include/asm/kdebug.h b/arch/sparc/include/asm/kdebug.h
index 8d12581..a4b78d3 100644
--- a/arch/sparc/include/asm/kdebug.h
+++ b/arch/sparc/include/asm/kdebug.h
@@ -5,4 +5,9 @@
#else
#include <asm/kdebug_32.h>
#endif
+
+static inline void arch_breakpoint(void)
+{
+ asm("ta $0x7d");
+}
#endif
--
1.8.3.1
[toc] | [next] | [standalone]
| From | Sam Ravnborg <sam@ravnborg.org> |
|---|---|
| Date | 2016-01-28 22:40 +0100 |
| Message-ID | <qW2si-Yt-9@gated-at.bofh.it> |
| In reply to | #1320983 |
Hi Jeff.
> +++ b/arch/sparc/include/asm/kdebug.h
> @@ -5,4 +5,9 @@
> #else
> #include <asm/kdebug_32.h>
> #endif
> +
> +static inline void arch_breakpoint(void)
> +{
> + asm("ta $0x7d");
> +}
> #endif
There seems to be some debugger infrastructure present already for kgdb,
but I assume this cannot be used.
Anyway - trap 0x7d is a debugger trap in sparc32.
If CONFIG_KGDB is not defined then 0x7d is just a regular BAD_TRAP.
For sparc64 trap 0x7d is something different.
I did not conclude what was the right choice for neither.
Sam
[toc] | [prev] | [next] | [standalone]
| From | Jeffrey Merkey <jeffmerkey@gmail.com> |
|---|---|
| Date | 2016-01-28 22:40 +0100 |
| Message-ID | <qW2sj-Yt-27@gated-at.bofh.it> |
| In reply to | #1321078 |
On 1/28/16, Sam Ravnborg <sam@ravnborg.org> wrote:
> Hi Jeff.
>
>> +++ b/arch/sparc/include/asm/kdebug.h
>> @@ -5,4 +5,9 @@
>> #else
>> #include <asm/kdebug_32.h>
>> #endif
>> +
>> +static inline void arch_breakpoint(void)
>> +{
>> + asm("ta $0x7d");
>> +}
>> #endif
> There seems to be some debugger infrastructure present already for kgdb,
> but I assume this cannot be used.
> Anyway - trap 0x7d is a debugger trap in sparc32.
> If CONFIG_KGDB is not defined then 0x7d is just a regular BAD_TRAP.
>
> For sparc64 trap 0x7d is something different.
> I did not conclude what was the right choice for neither.
>
> Sam
>
I'll go research that one. If I am unsure I'll no-op the function for
sparc and let you guys decide how architecturally you wish to handle
that.
:-)
Jeff
[toc] | [prev] | [next] | [standalone]
| From | kbuild test robot <lkp@intel.com> |
|---|---|
| Date | 2016-01-28 22:40 +0100 |
| Message-ID | <qW2si-Yt-17@gated-at.bofh.it> |
| In reply to | #1320983 |
[Multipart message — attachments visible in raw view] — view raw
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: sparc64-defconfig (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=sparc64
All errors (new ones prefixed by >>):
kernel/built-in.o: In function `watchdog_timer_fn':
>> watchdog.c:(.text+0x736ec): undefined reference to `$0x7d'
watchdog.c:(.text+0x736ec): relocation truncated to fit: R_SPARC_13 against undefined symbol `$0x7d'
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[toc] | [prev] | [next] | [standalone]
| From | kbuild test robot <lkp@intel.com> |
|---|---|
| Date | 2016-01-28 22:50 +0100 |
| Message-ID | <qW2BY-13z-11@gated-at.bofh.it> |
| In reply to | #1320983 |
[Multipart message — attachments visible in raw view] — view raw
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: sparc-defconfig (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=sparc
All errors (new ones prefixed by >>):
arch/sparc/include/asm/kdebug.h: Assembler messages:
>> arch/sparc/include/asm/kdebug.h:9: Error: Unknown opcode: `static'
>> arch/sparc/include/asm/kdebug.h:10: Error: junk at end of line, first unrecognized character is `{'
>> arch/sparc/include/asm/kdebug.h:11: Error: Unknown opcode: `asm("ta $0x7d")'
arch/sparc/include/asm/kdebug.h:12: Error: junk at end of line, first unrecognized character is `}'
vim +9 arch/sparc/include/asm/kdebug.h
3 #if defined(__sparc__) && defined(__arch64__)
4 #include <asm/kdebug_64.h>
5 #else
6 #include <asm/kdebug_32.h>
7 #endif
8
> 9 static inline void arch_breakpoint(void)
> 10 {
> 11 asm("ta $0x7d");
12 }
13 #endif
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web