Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / arch / avr32 / include / asm / ptrace.h
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
26 static __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 */