linux/arch/alpha/include/uapi/asm/ptrace.h
<<
>>
Prefs
   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
  20struct 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 */
  58struct 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 */
  72