Add a thread flag to activate system-wide syscall tracing. Signed-off-by: Mathieu Desnoyers --- 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/