diff options
Diffstat (limited to 'arch/mn10300/include/uapi/asm/ptrace.h')
| -rw-r--r-- | arch/mn10300/include/uapi/asm/ptrace.h | 84 | 
1 files changed, 84 insertions, 0 deletions
diff --git a/arch/mn10300/include/uapi/asm/ptrace.h b/arch/mn10300/include/uapi/asm/ptrace.h new file mode 100644 index 00000000000..71b2251b7bf --- /dev/null +++ b/arch/mn10300/include/uapi/asm/ptrace.h @@ -0,0 +1,84 @@ +/* MN10300 Exception frame layout and ptrace constants + * + * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. + * Written by David Howells (dhowells@redhat.com) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public Licence + * as published by the Free Software Foundation; either version + * 2 of the Licence, or (at your option) any later version. + */ +#ifndef _UAPI_ASM_PTRACE_H +#define _UAPI_ASM_PTRACE_H + +#define PT_A3		0 +#define PT_A2		1 +#define PT_D3		2 +#define	PT_D2		3 +#define PT_MCVF		4 +#define	PT_MCRL		5 +#define PT_MCRH		6 +#define	PT_MDRQ		7 +#define	PT_E1		8 +#define	PT_E0		9 +#define	PT_E7		10 +#define	PT_E6		11 +#define	PT_E5		12 +#define	PT_E4		13 +#define	PT_E3		14 +#define	PT_E2		15 +#define	PT_SP		16 +#define	PT_LAR		17 +#define	PT_LIR		18 +#define	PT_MDR		19 +#define	PT_A1		20 +#define	PT_A0		21 +#define	PT_D1		22 +#define	PT_D0		23 +#define PT_ORIG_D0	24 +#define	PT_EPSW		25 +#define	PT_PC		26 +#define NR_PTREGS	27 + +/* + * This defines the way registers are stored in the event of an exception + * - the strange order is due to the MOVM instruction + */ +struct pt_regs { +	unsigned long		a3;		/* syscall arg 3 */ +	unsigned long		a2;		/* syscall arg 4 */ +	unsigned long		d3;		/* syscall arg 5 */ +	unsigned long		d2;		/* syscall arg 6 */ +	unsigned long		mcvf; +	unsigned long		mcrl; +	unsigned long		mcrh; +	unsigned long		mdrq; +	unsigned long		e1; +	unsigned long		e0; +	unsigned long		e7; +	unsigned long		e6; +	unsigned long		e5; +	unsigned long		e4; +	unsigned long		e3; +	unsigned long		e2; +	unsigned long		sp; +	unsigned long		lar; +	unsigned long		lir; +	unsigned long		mdr; +	unsigned long		a1; +	unsigned long		a0;		/* syscall arg 1 */ +	unsigned long		d1;		/* syscall arg 2 */ +	unsigned long		d0;		/* syscall ret */ +	struct pt_regs		*next;		/* next frame pointer */ +	unsigned long		orig_d0;	/* syscall number */ +	unsigned long		epsw; +	unsigned long		pc; +}; + +/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ +#define PTRACE_GETREGS            12 +#define PTRACE_SETREGS            13 +#define PTRACE_GETFPREGS          14 +#define PTRACE_SETFPREGS          15 + +#endif /* _UAPI_ASM_PTRACE_H */  | 
