linux/arch/mn10300/include/uapi/asm/ptrace.h
<<
>>
Prefs
   1/* MN10300 Exception frame layout and ptrace constants
   2 *
   3 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
   4 * Written by David Howells (dhowells@redhat.com)
   5 *
   6 * This program is free software; you can redistribute it and/or
   7 * modify it under the terms of the GNU General Public Licence
   8 * as published by the Free Software Foundation; either version
   9 * 2 of the Licence, or (at your option) any later version.
  10 */
  11#ifndef _UAPI_ASM_PTRACE_H
  12#define _UAPI_ASM_PTRACE_H
  13
  14#define PT_A3           0
  15#define PT_A2           1
  16#define PT_D3           2
  17#define PT_D2           3
  18#define PT_MCVF         4
  19#define PT_MCRL         5
  20#define PT_MCRH         6
  21#define PT_MDRQ         7
  22#define PT_E1           8
  23#define PT_E0           9
  24#define PT_E7           10
  25#define PT_E6           11
  26#define PT_E5           12
  27#define PT_E4           13
  28#define PT_E3           14
  29#define PT_E2           15
  30#define PT_SP           16
  31#define PT_LAR          17
  32#define PT_LIR          18
  33#define PT_MDR          19
  34#define PT_A1           20
  35#define PT_A0           21
  36#define PT_D1           22
  37#define PT_D0           23
  38#define PT_ORIG_D0      24
  39#define PT_EPSW         25
  40#define PT_PC           26
  41#define NR_PTREGS       27
  42
  43/*
  44 * This defines the way registers are stored in the event of an exception
  45 * - the strange order is due to the MOVM instruction
  46 */
  47struct pt_regs {
  48        unsigned long           a3;             /* syscall arg 3 */
  49        unsigned long           a2;             /* syscall arg 4 */
  50        unsigned long           d3;             /* syscall arg 5 */
  51        unsigned long           d2;             /* syscall arg 6 */
  52        unsigned long           mcvf;
  53        unsigned long           mcrl;
  54        unsigned long           mcrh;
  55        unsigned long           mdrq;
  56        unsigned long           e1;
  57        unsigned long           e0;
  58        unsigned long           e7;
  59        unsigned long           e6;
  60        unsigned long           e5;
  61        unsigned long           e4;
  62        unsigned long           e3;
  63        unsigned long           e2;
  64        unsigned long           sp;
  65        unsigned long           lar;
  66        unsigned long           lir;
  67        unsigned long           mdr;
  68        unsigned long           a1;
  69        unsigned long           a0;             /* syscall arg 1 */
  70        unsigned long           d1;             /* syscall arg 2 */
  71        unsigned long           d0;             /* syscall ret */
  72        struct pt_regs          *next;          /* next frame pointer */
  73        unsigned long           orig_d0;        /* syscall number */
  74        unsigned long           epsw;
  75        unsigned long           pc;
  76};
  77
  78/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
  79#define PTRACE_GETREGS            12
  80#define PTRACE_SETREGS            13
  81#define PTRACE_GETFPREGS          14
  82#define PTRACE_SETFPREGS          15
  83
  84#endif /* _UAPI_ASM_PTRACE_H */
  85