* [PATCH 30/31] Add debugger entry points for SPARC
@ 2016-01-28 19:47 ` Jeffrey Merkey
0 siblings, 0 replies; 10+ messages in thread
From: Jeffrey Merkey @ 2016-01-28 19:47 UTC (permalink / raw)
To: linux-kernel; +Cc: davem, linux.mdb, sparclinux
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
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 30/31] Add debugger entry points for SPARC
@ 2016-01-28 19:47 ` Jeffrey Merkey
0 siblings, 0 replies; 10+ messages in thread
From: Jeffrey Merkey @ 2016-01-28 19:47 UTC (permalink / raw)
To: linux-kernel; +Cc: davem, linux.mdb, sparclinux
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
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 30/31] Add debugger entry points for SPARC
2016-01-28 19:47 ` Jeffrey Merkey
@ 2016-01-28 21:32 ` kbuild test robot
-1 siblings, 0 replies; 10+ messages in thread
From: kbuild test robot @ 2016-01-28 21:32 UTC (permalink / raw)
To: sparclinux
[-- Attachment #1: Type: text/plain, Size: 1068 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: 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
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 16661 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 30/31] Add debugger entry points for SPARC
@ 2016-01-28 21:32 ` kbuild test robot
0 siblings, 0 replies; 10+ messages in thread
From: kbuild test robot @ 2016-01-28 21:32 UTC (permalink / raw)
To: Jeffrey Merkey; +Cc: kbuild-all, linux-kernel, davem, linux.mdb, sparclinux
[-- Attachment #1: Type: text/plain, Size: 1068 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: 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
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 16661 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 30/31] Add debugger entry points for SPARC
2016-01-28 19:47 ` Jeffrey Merkey
@ 2016-01-28 21:33 ` Sam Ravnborg
-1 siblings, 0 replies; 10+ messages in thread
From: Sam Ravnborg @ 2016-01-28 21:33 UTC (permalink / raw)
To: Jeffrey Merkey; +Cc: linux-kernel, davem, linux.mdb, sparclinux
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
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 30/31] Add debugger entry points for SPARC
@ 2016-01-28 21:33 ` Sam Ravnborg
0 siblings, 0 replies; 10+ messages in thread
From: Sam Ravnborg @ 2016-01-28 21:33 UTC (permalink / raw)
To: Jeffrey Merkey; +Cc: linux-kernel, davem, linux.mdb, sparclinux
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
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 30/31] Add debugger entry points for SPARC
2016-01-28 21:33 ` Sam Ravnborg
@ 2016-01-28 21:35 ` Jeffrey Merkey
-1 siblings, 0 replies; 10+ messages in thread
From: Jeffrey Merkey @ 2016-01-28 21:35 UTC (permalink / raw)
To: Sam Ravnborg; +Cc: linux-kernel, davem, linux.mdb, sparclinux
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
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 30/31] Add debugger entry points for SPARC
@ 2016-01-28 21:35 ` Jeffrey Merkey
0 siblings, 0 replies; 10+ messages in thread
From: Jeffrey Merkey @ 2016-01-28 21:35 UTC (permalink / raw)
To: Sam Ravnborg; +Cc: linux-kernel, davem, linux.mdb, sparclinux
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
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 30/31] Add debugger entry points for SPARC
2016-01-28 19:47 ` Jeffrey Merkey
@ 2016-01-28 21:44 ` kbuild test robot
-1 siblings, 0 replies; 10+ messages in thread
From: kbuild test robot @ 2016-01-28 21:44 UTC (permalink / raw)
To: sparclinux
[-- Attachment #1: Type: text/plain, Size: 1557 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: 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
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 11165 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 30/31] Add debugger entry points for SPARC
@ 2016-01-28 21:44 ` kbuild test robot
0 siblings, 0 replies; 10+ messages in thread
From: kbuild test robot @ 2016-01-28 21:44 UTC (permalink / raw)
To: Jeffrey Merkey; +Cc: kbuild-all, linux-kernel, davem, linux.mdb, sparclinux
[-- Attachment #1: Type: text/plain, Size: 1557 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: 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
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 11165 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2016-01-28 21:45 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-28 19:47 [PATCH 30/31] Add debugger entry points for SPARC Jeffrey Merkey
2016-01-28 19:47 ` Jeffrey Merkey
2016-01-28 21:32 ` kbuild test robot
2016-01-28 21:32 ` kbuild test robot
2016-01-28 21:33 ` Sam Ravnborg
2016-01-28 21:33 ` Sam Ravnborg
2016-01-28 21:35 ` Jeffrey Merkey
2016-01-28 21:35 ` Jeffrey Merkey
2016-01-28 21:44 ` kbuild test robot
2016-01-28 21:44 ` kbuild test robot
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.