root/arch/alpha/include/uapi/asm/ptrace.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2 #ifndef _UAPI_ASMAXP_PTRACE_H
   3 #define _UAPI_ASMAXP_PTRACE_H
   4 
   5 
   6 /*
   7  * This struct defines the way the registers are stored on the
   8  * kernel stack during a system call or other kernel entry
   9  *
  10  * NOTE! I want to minimize the overhead of system calls, so this
  11  * struct has as little information as possible. It does not have
  12  *
  13  *  - floating point regs: the kernel doesn't change those
  14  *  - r9-15: saved by the C compiler
  15  *
  16  * This makes "fork()" and "exec()" a bit more complex, but should
  17  * give us low system call latency.
  18  */
  19 
  20 struct pt_regs {
  21         unsigned long r0;
  22         unsigned long r1;
  23         unsigned long r2;
  24         unsigned long r3;
  25         unsigned long r4;
  26         unsigned long r5;
  27         unsigned long r6;
  28         unsigned long r7;
  29         unsigned long r8;
  30         unsigned long r19;
  31         unsigned long r20;
  32         unsigned long r21;
  33         unsigned long r22;
  34         unsigned long r23;
  35         unsigned long r24;
  36         unsigned long r25;
  37         unsigned long r26;
  38         unsigned long r27;
  39         unsigned long r28;
  40         unsigned long hae;
  41 /* JRP - These are the values provided to a0-a2 by PALcode */
  42         unsigned long trap_a0;
  43         unsigned long trap_a1;
  44         unsigned long trap_a2;
  45 /* These are saved by PAL-code: */
  46         unsigned long ps;
  47         unsigned long pc;
  48         unsigned long gp;
  49         unsigned long r16;
  50         unsigned long r17;
  51         unsigned long r18;
  52 };
  53 
  54 /*
  55  * This is the extended stack used by signal handlers and the context
  56  * switcher: it's pushed after the normal "struct pt_regs".
  57  */
  58 struct switch_stack {
  59         unsigned long r9;
  60         unsigned long r10;
  61         unsigned long r11;
  62         unsigned long r12;
  63         unsigned long r13;
  64         unsigned long r14;
  65         unsigned long r15;
  66         unsigned long r26;
  67         unsigned long fp[32];   /* fp[31] is fpcr */
  68 };
  69 
  70 
  71 #endif /* _UAPI_ASMAXP_PTRACE_H */

/* [<][>][^][v][top][bottom][index][help] */