Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/sh/include/uapi/asm/ptrace_32.h
26516 views
1
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2
#ifndef _UAPI__ASM_SH_PTRACE_32_H
3
#define _UAPI__ASM_SH_PTRACE_32_H
4
5
/*
6
* GCC defines register number like this:
7
* -----------------------------
8
* 0 - 15 are integer registers
9
* 17 - 22 are control/special registers
10
* 24 - 39 fp registers
11
* 40 - 47 xd registers
12
* 48 - fpscr register
13
* -----------------------------
14
*
15
* We follows above, except:
16
* 16 --- program counter (PC)
17
* 22 --- syscall #
18
* 23 --- floating point communication register
19
*/
20
#define REG_REG0 0
21
#define REG_REG15 15
22
23
#define REG_PC 16
24
25
#define REG_PR 17
26
#define REG_SR 18
27
#define REG_GBR 19
28
#define REG_MACH 20
29
#define REG_MACL 21
30
31
#define REG_SYSCALL 22
32
33
#define REG_FPREG0 23
34
#define REG_FPREG15 38
35
#define REG_XFREG0 39
36
#define REG_XFREG15 54
37
38
#define REG_FPSCR 55
39
#define REG_FPUL 56
40
41
/*
42
* This struct defines the way the registers are stored on the
43
* kernel stack during a system call or other kernel entry.
44
*/
45
struct pt_regs {
46
unsigned long regs[16];
47
unsigned long pc;
48
unsigned long pr;
49
unsigned long sr;
50
unsigned long gbr;
51
unsigned long mach;
52
unsigned long macl;
53
long tra;
54
};
55
56
/*
57
* This struct defines the way the DSP registers are stored on the
58
* kernel stack during a system call or other kernel entry.
59
*/
60
struct pt_dspregs {
61
unsigned long a1;
62
unsigned long a0g;
63
unsigned long a1g;
64
unsigned long m0;
65
unsigned long m1;
66
unsigned long a0;
67
unsigned long x0;
68
unsigned long x1;
69
unsigned long y0;
70
unsigned long y1;
71
unsigned long dsr;
72
unsigned long rs;
73
unsigned long re;
74
unsigned long mod;
75
};
76
77
78
#endif /* _UAPI__ASM_SH_PTRACE_32_H */
79
80