blob: c424f80e3ae05ad4b3ecc5e2f7dabeafae2acfe7 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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 */
19struct 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 Mundt21264132006-09-12 14:36:46 +090031#define profile_pc(regs) ((unsigned long)instruction_pointer(regs))
Linus Torvalds1da177e2005-04-16 15:20:36 -070032extern void show_regs(struct pt_regs *);
33#endif
34
Linus Torvalds1da177e2005-04-16 15:20:36 -070035#endif /* __ASM_SH64_PTRACE_H */