Pull thinkpad-2.6.24 into release branch
[sfrench/cifs-2.6.git] / include / asm-sh64 / ptrace.h
1 #ifndef __ASM_SH64_PTRACE_H
2 #define __ASM_SH64_PTRACE_H
3
4 /*
5  * This file is subject to the terms and conditions of the GNU General Public
6  * License.  See the file "COPYING" in the main directory of this archive
7  * for more details.
8  *
9  * include/asm-sh64/ptrace.h
10  *
11  * Copyright (C) 2000, 2001  Paolo Alberelli
12  *
13  */
14
15 /*
16  * This struct defines the way the registers are stored on the
17  * kernel stack during a system call or other kernel entry.
18  */
19 struct pt_regs {
20         unsigned long long pc;
21         unsigned long long sr;
22         unsigned long long syscall_nr;
23         unsigned long long regs[63];
24         unsigned long long tregs[8];
25         unsigned long long pad[2];
26 };
27
28 #ifdef __KERNEL__
29 #define user_mode(regs) (((regs)->sr & 0x40000000)==0)
30 #define instruction_pointer(regs) ((regs)->pc)
31 #define profile_pc(regs) ((unsigned long)instruction_pointer(regs))
32 extern void show_regs(struct pt_regs *);
33 #endif
34
35 #endif /* __ASM_SH64_PTRACE_H */