linux/arch/avr32/include/asm/ptrace.h
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2004-2006 Atmel Corporation
   3 *
   4 * This program is free software; you can redistribute it and/or modify
   5 * it under the terms of the GNU General Public License version 2 as
   6 * published by the Free Software Foundation.
   7 */
   8#ifndef __ASM_AVR32_PTRACE_H
   9#define __ASM_AVR32_PTRACE_H
  10
  11#include <uapi/asm/ptrace.h>
  12
  13#ifndef __ASSEMBLY__
  14
  15#include <asm/ocd.h>
  16
  17#define arch_has_single_step()          (1)
  18
  19#define arch_ptrace_attach(child)       ocd_enable(child)
  20
  21#define user_mode(regs)                 (((regs)->sr & MODE_MASK) == MODE_USER)
  22#define instruction_pointer(regs)       ((regs)->pc)
  23#define profile_pc(regs)                instruction_pointer(regs)
  24#define user_stack_pointer(regs)        ((regs)->sp)
  25
  26static __inline__ int valid_user_regs(struct pt_regs *regs)
  27{
  28        /*
  29         * Some of the Java bits might be acceptable if/when we
  30         * implement some support for that stuff...
  31         */
  32        if ((regs->sr & 0xffff0000) == 0)
  33                return 1;
  34
  35        /*
  36         * Force status register flags to be sane and report this
  37         * illegal behaviour...
  38         */
  39        regs->sr &= 0x0000ffff;
  40        return 0;
  41}
  42
  43
  44#endif /* ! __ASSEMBLY__ */
  45#endif /* __ASM_AVR32_PTRACE_H */
  46