12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- /* 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 */
|