diff options
| author | Corey Minyard <minyard@acm.org> | 2005-01-03 04:38:48 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-01-03 04:38:48 -0800 |
| commit | a784ab71a34fe92cf470d1fb4c878261b41e2adb (patch) | |
| tree | 96d891d83e223272648f84aea039d7ada49d772b /arch/ppc/kernel/misc.S | |
| parent | a47ac38f85d31e47729abd91ffa1089cd7ac2d24 (diff) | |
[PATCH] PPC debug setcontext syscall implementation.
Add a debugging interface for PowerPC that allows signal handlers (or any
jump to a context, really) to perform debug functions. It allows the a
user program to turn on single-stepping, for instance, and the thread will
get a trap after executing the next instruction. It can also (on supported
PPC processors) turn on branch tracing and get a trap after the next branch
instruction is executed. This is useful for in-application debugging.
Note that you can enable single-stepping on x86 processors directly from
signal handlers. Newer x86 processors have the equivalent of a
branch-trace bit in the IA32_DEBUGCTL MSR and could have similar function
to this syscall. Most other processors could benefit from a similar
interface, except for ARM which is extraordinarily broken for debugging.
Future uses of this could be adding the ability to set the hardware
breakpoint registers from a signal handler.
Signed-off-by: Corey Minyard <minyard@mvista.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc/kernel/misc.S')
| -rw-r--r-- | arch/ppc/kernel/misc.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/ppc/kernel/misc.S b/arch/ppc/kernel/misc.S index 2e3a07675a10..2513cb15ea44 100644 --- a/arch/ppc/kernel/misc.S +++ b/arch/ppc/kernel/misc.S @@ -1434,7 +1434,7 @@ _GLOBAL(sys_call_table) .long sys_fstatfs64 .long ppc_fadvise64_64 .long sys_ni_syscall /* 255 - rtas (used on ppc64) */ - .long sys_ni_syscall /* 256 reserved for sys_debug_setcontext */ + .long sys_debug_setcontext .long sys_ni_syscall /* 257 reserved for vserver */ .long sys_ni_syscall /* 258 reserved for new sys_remap_file_pages */ .long sys_ni_syscall /* 259 reserved for new sys_mbind */ |
