linux/arch/h8300/kernel/ptrace_s.c
<<
>>
Prefs
   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