Blame view

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