2 * Tracing hooks, s390/s390x support.
5 #ifndef _ASM_TRACEHOOK_H
6 #define _ASM_TRACEHOOK_H 1
8 #include <linux/sched.h>
9 #include <asm/ptrace.h>
12 * See linux/tracehook.h for the descriptions of what these need to do.
15 #define ARCH_HAS_SINGLE_STEP (1)
17 /* These three are defined in arch/s390/kernel/ptrace.c. */
18 void tracehook_enable_single_step(struct task_struct *tsk);
19 void tracehook_disable_single_step(struct task_struct *tsk);
20 int tracehook_single_step_enabled(struct task_struct *tsk);
23 static inline void tracehook_enable_syscall_trace(struct task_struct *tsk)
25 set_tsk_thread_flag(tsk, TIF_SYSCALL_TRACE);
28 static inline void tracehook_disable_syscall_trace(struct task_struct *tsk)
30 clear_tsk_thread_flag(tsk, TIF_SYSCALL_TRACE);
33 static inline void tracehook_abort_syscall(struct pt_regs *regs)
39 extern const struct utrace_regset_view utrace_s390_native_view;
40 static inline const struct utrace_regset_view *
41 utrace_native_view(struct task_struct *tsk)
44 extern const struct utrace_regset_view utrace_s390_compat_view;
46 if (test_tsk_thread_flag(tsk, TIF_31BIT))
47 return &utrace_s390_compat_view;
49 return &utrace_s390_native_view;