diff options
author | Markus Metzger <markus.t.metzger@intel.com> | 2008-01-30 07:32:04 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:32:04 -0500 |
commit | c6334593c61c71ab2e666c015eef13995736f49a (patch) | |
tree | 49ea09756335b1be671bb7fc4fee4ba0abb7c0ac | |
parent | cba4b65d359268c40679ca75ac92c0b93cecf6de (diff) |
x86, ptrace: overflow signal API
Establish the user API for sending a user-defined signal to the traced task on a BTS buffer overflow.
This should complete the user API for the BTS ptrace extension.
The patches so far implement wrap-around overflow handling as is needed for debugging.
The remaining open is another overflow handling mechanism that sends a signal to the traced task on a buffer overflow.
This will take some more time from my side.
Since, from a user perspective, this occurs behind the scenes, the patch set should already be useful. More features may/will be added on top of it (overflow signal, pageable back-up buffers, kernel tracing, core file support, profiling, ...).
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | include/asm-x86/ptrace-abi.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/asm-x86/ptrace-abi.h b/include/asm-x86/ptrace-abi.h index bcf67044754c..b3b9e023afce 100644 --- a/include/asm-x86/ptrace-abi.h +++ b/include/asm-x86/ptrace-abi.h | |||
@@ -88,11 +88,13 @@ struct ptrace_bts_config { | |||
88 | unsigned int size; | 88 | unsigned int size; |
89 | /* bitmask of below flags */ | 89 | /* bitmask of below flags */ |
90 | unsigned int flags; | 90 | unsigned int flags; |
91 | /* buffer overflow signal */ | ||
92 | unsigned int signal; | ||
91 | }; | 93 | }; |
92 | 94 | ||
93 | #define PTRACE_BTS_O_TRACE 0x1 /* branch trace */ | 95 | #define PTRACE_BTS_O_TRACE 0x1 /* branch trace */ |
94 | #define PTRACE_BTS_O_SCHED 0x2 /* scheduling events w/ jiffies */ | 96 | #define PTRACE_BTS_O_SCHED 0x2 /* scheduling events w/ jiffies */ |
95 | #define PTRACE_BTS_O_SIGNAL 0x4 /* send SIG? on buffer overflow | 97 | #define PTRACE_BTS_O_SIGNAL 0x4 /* send SIG<signal> on buffer overflow |
96 | instead of wrapping around */ | 98 | instead of wrapping around */ |
97 | #define PTRACE_BTS_O_CUT_SIZE 0x8 /* cut requested size to max available | 99 | #define PTRACE_BTS_O_CUT_SIZE 0x8 /* cut requested size to max available |
98 | instead of failing */ | 100 | instead of failing */ |