Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/alpha/include/uapi/asm/ptrace.h
26498 views
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
/* This makes the stack 16-byte aligned as GCC expects */
46
unsigned long __pad0;
47
/* These are saved by PAL-code: */
48
unsigned long ps;
49
unsigned long pc;
50
unsigned long gp;
51
unsigned long r16;
52
unsigned long r17;
53
unsigned long r18;
54
};
55
56
/*
57
* This is the extended stack used by signal handlers and the context
58
* switcher: it's pushed after the normal "struct pt_regs".
59
*/
60
struct switch_stack {
61
unsigned long r9;
62
unsigned long r10;
63
unsigned long r11;
64
unsigned long r12;
65
unsigned long r13;
66
unsigned long r14;
67
unsigned long r15;
68
unsigned long r26;
69
#ifndef __KERNEL__
70
unsigned long fp[32]; /* fp[31] is fpcr */
71
#endif
72
};
73
74
75
#endif /* _UAPI_ASMAXP_PTRACE_H */
76
77