blob: a2db278a5def69c4a6ac4745c3685e45600df156 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* written by Philipp Rumpf, Copyright (C) 1999 SuSE GmbH Nuernberg
2** Copyright (C) 2000 Grant Grundler, Hewlett-Packard
3*/
David Howells70c16742012-10-16 21:28:05 +01004#ifndef _PARISC_PTRACE_H
5#define _PARISC_PTRACE_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07006
David Howells70c16742012-10-16 21:28:05 +01007#include <uapi/asm/ptrace.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -07008
Linus Torvalds1da177e2005-04-16 15:20:36 -07009
Adrian Bunkf22ab812008-07-25 01:47:34 -070010#define task_regs(task) ((struct pt_regs *) ((char *)(task) + TASK_REGS))
11
Helge Deller81e192d2008-10-17 18:48:36 +000012#define arch_has_single_step() 1
Helge Deller81e192d2008-10-17 18:48:36 +000013#define arch_has_block_step() 1
Helge Deller81e192d2008-10-17 18:48:36 +000014
Linus Torvalds1da177e2005-04-16 15:20:36 -070015/* XXX should we use iaoq[1] or iaoq[0] ? */
16#define user_mode(regs) (((regs)->iaoq[0] & 3) ? 1 : 0)
17#define user_space(regs) (((regs)->iasq[1] != 0) ? 1 : 0)
18#define instruction_pointer(regs) ((regs)->iaoq[0] & ~3)
Kyle McMartin40e03b62009-07-05 15:59:56 -040019#define user_stack_pointer(regs) ((regs)->gr[30])
Randolph Chung5cd55b02005-10-21 22:42:18 -040020unsigned long profile_pc(struct pt_regs *);
Kyle McMartin40e03b62009-07-05 15:59:56 -040021
22
Linus Torvalds1da177e2005-04-16 15:20:36 -070023#endif