Add a thread flag to activate system-wide syscall tracing.

Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
---
 arch/ia64/kernel/entry.S       |    6 ++++--
 include/asm-ia64/thread_info.h |   13 +++++++++----
 2 files changed, 13 insertions(+), 6 deletions(-)

Index: linux-2.6-lttng/include/asm-ia64/thread_info.h
===================================================================
--- linux-2.6-lttng.orig/include/asm-ia64/thread_info.h 2007-11-20 
10:43:04.000000000 -0500
+++ linux-2.6-lttng/include/asm-ia64/thread_info.h      2007-11-20 
10:43:28.000000000 -0500
@@ -86,6 +86,7 @@
 #define TIF_SINGLESTEP         4       /* restore singlestep on return to user 
mode */
 #define TIF_RESTORE_SIGMASK    5       /* restore signal mask in do_signal() */
 #define TIF_PERFMON_WORK       6       /* work for pfm_handle_work() */
+#define TIF_KERNEL_TRACE       7       /* kernel trace active */
 #define TIF_POLLING_NRFLAG     16      /* true if poll_idle() is polling 
TIF_NEED_RESCHED */
 #define TIF_MEMDIE             17
 #define TIF_MCA_INIT           18      /* this task is processing MCA or INIT 
*/
@@ -95,7 +96,8 @@
 #define _TIF_SYSCALL_TRACE     (1 << TIF_SYSCALL_TRACE)
 #define _TIF_SYSCALL_AUDIT     (1 << TIF_SYSCALL_AUDIT)
 #define _TIF_SINGLESTEP                (1 << TIF_SINGLESTEP)
-#define _TIF_SYSCALL_TRACEAUDIT        
(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP)
+#define _TIF_KERNEL_TRACE      (1 << TIF_KERNEL_TRACE)
+#define _TIF_SYSCALL_TRACEAUDIT        
(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP|_TIF_KERNEL_TRACE)
 #define _TIF_RESTORE_SIGMASK   (1 << TIF_RESTORE_SIGMASK)
 #define _TIF_PERFMON_WORK      (1 << TIF_PERFMON_WORK)
 #define _TIF_SIGPENDING                (1 << TIF_SIGPENDING)
@@ -108,9 +110,12 @@
 /* "work to do on user-return" bits */
 #define TIF_ALLWORK_MASK       
(_TIF_SIGPENDING|_TIF_PERFMON_WORK|_TIF_SYSCALL_AUDIT|\
                                 _TIF_NEED_RESCHED| _TIF_SYSCALL_TRACE|\
-                                _TIF_RESTORE_SIGMASK)
-/* like TIF_ALLWORK_BITS but sans TIF_SYSCALL_TRACE or TIF_SYSCALL_AUDIT */
-#define TIF_WORK_MASK          
(TIF_ALLWORK_MASK&~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT))
+                                _TIF_RESTORE_SIGMASK|_TIF_KERNEL_TRACE)
+/*
+ * like TIF_ALLWORK_BITS but sans TIF_SYSCALL_TRACE, TIF_KERNEL_TRACE
+ * or TIF_SYSCALL_AUDIT
+ */
+#define TIF_WORK_MASK          
(TIF_ALLWORK_MASK&~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_KERNEL_TRACE))
 
 #define TS_POLLING             1       /* true if in idle loop and not 
sleeping */
 
Index: linux-2.6-lttng/arch/ia64/kernel/entry.S
===================================================================
--- linux-2.6-lttng.orig/arch/ia64/kernel/entry.S       2007-11-20 
10:43:04.000000000 -0500
+++ linux-2.6-lttng/arch/ia64/kernel/entry.S    2007-11-20 10:50:48.000000000 
-0500
@@ -621,9 +621,11 @@
        ;;
        ld4 r2=[r2]
        ;;
+       movl r8=_TIF_SYSCALL_TRACEAUDIT
+       ;;                                      // added stop bits to prevent 
r8 dependency
+       and r2=r8,r2
        mov r8=0
-       and r2=_TIF_SYSCALL_TRACEAUDIT,r2
-       ;;
+       ;;                                      // added stop bits to prevent 
r2 dependency
        cmp.ne p6,p0=r2,r0
 (p6)   br.cond.spnt .strace_check_retval
        ;;                                      // added stop bits to prevent 
r8 dependency

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to