1/* 2 * linux/arch/h8300/kernel/ptrace_h8s.c 3 * ptrace cpu depend helper functions 4 * 5 * Yoshinori Sato <ysato@users.sourceforge.jp> 6 * 7 * This file is subject to the terms and conditions of the GNU General 8 * Public License. See the file COPYING in the main directory of 9 * this archive for more details. 10 */ 11 12#include <linux/linkage.h> 13#include <linux/sched/signal.h> 14#include <linux/errno.h> 15#include <asm/ptrace.h> 16 17#define CCR_MASK 0x6f 18#define EXR_TRACE 0x80 19 20/* disable singlestep */ 21void user_disable_single_step(struct task_struct *child) 22{ 23 unsigned char exr; 24 25 exr = h8300_get_reg(child, PT_EXR); 26 exr &= ~EXR_TRACE; 27 h8300_put_reg(child, PT_EXR, exr); 28} 29 30/* enable singlestep */ 31void user_enable_single_step(struct task_struct *child) 32{ 33 unsigned char exr; 34 35 exr = h8300_get_reg(child, PT_EXR); 36 exr |= EXR_TRACE; 37 h8300_put_reg(child, PT_EXR, exr); 38} 39 40asmlinkage void trace_trap(unsigned long bp) 41{ 42 (void)bp; 43 force_sig(SIGTRAP); 44} 45