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