summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMarkus Metzger <markus.t.metzger@intel.com>2008-01-30 13:32:04 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-30 13:32:04 +0100
commitc6334593c61c71ab2e666c015eef13995736f49a (patch)
tree49ea09756335b1be671bb7fc4fee4ba0abb7c0ac /include
parentcba4b65d359268c40679ca75ac92c0b93cecf6de (diff)
downloadlinux-c6334593c61c71ab2e666c015eef13995736f49a.tar.bz2
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>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/ptrace-abi.h4
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 {
unsigned int size;
/* bitmask of below flags */
unsigned int flags;
+ /* buffer overflow signal */
+ unsigned int signal;
};
#define PTRACE_BTS_O_TRACE 0x1 /* branch trace */
#define PTRACE_BTS_O_SCHED 0x2 /* scheduling events w/ jiffies */
-#define PTRACE_BTS_O_SIGNAL 0x4 /* send SIG? on buffer overflow
+#define PTRACE_BTS_O_SIGNAL 0x4 /* send SIG<signal> on buffer overflow
instead of wrapping around */
#define PTRACE_BTS_O_CUT_SIZE 0x8 /* cut requested size to max available
instead of failing */