|
@@ -174,6 +174,15 @@ int die(const char *str, struct pt_regs *regs, long err)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+void user_single_step_siginfo(struct task_struct *tsk,
|
|
|
+ struct pt_regs *regs, siginfo_t *info)
|
|
|
+{
|
|
|
+ memset(info, 0, sizeof(*info));
|
|
|
+ info->si_signo = SIGTRAP;
|
|
|
+ info->si_code = TRAP_TRACE;
|
|
|
+ info->si_addr = (void __user *)regs->nip;
|
|
|
+}
|
|
|
+
|
|
|
void _exception(int signr, struct pt_regs *regs, int code, unsigned long addr)
|
|
|
{
|
|
|
siginfo_t info;
|