| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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) | 
| Paul Mundt | 2126413 | 2006-09-12 14:36:46 +0900 | [diff] [blame] | 31 | #define profile_pc(regs) ((unsigned long)instruction_pointer(regs)) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | extern void show_regs(struct pt_regs *); | 
 | 33 | #endif | 
 | 34 |  | 
 | 35 | #define PTRACE_O_TRACESYSGOOD     0x00000001 | 
 | 36 |  | 
 | 37 | #endif /* __ASM_SH64_PTRACE_H */ |