1 /*
2  * Copyright (C) 2006 Atmark Techno, Inc.
3  *
4  * This file is subject to the terms and conditions of the GNU General Public
5  * License. See the file "COPYING" in the main directory of this archive
6  * for more details.
7  */
8 #ifndef _ASM_MICROBLAZE_PTRACE_H
9 #define _ASM_MICROBLAZE_PTRACE_H
10 
11 #include <uapi/asm/ptrace.h>
12 
13 #ifndef __ASSEMBLY__
14 #define kernel_mode(regs)		((regs)->pt_mode)
15 #define user_mode(regs)			(!kernel_mode(regs))
16 
17 #define instruction_pointer(regs)	((regs)->pc)
18 #define profile_pc(regs)		instruction_pointer(regs)
19 #define user_stack_pointer(regs)	((regs)->r1)
20 
21 static inline long regs_return_value(struct pt_regs *regs)
22 {
23 	return regs->r3;
24 }
25 
26 #endif /* __ASSEMBLY__ */
27 #endif /* _ASM_MICROBLAZE_PTRACE_H */
28