]>
Commit | Line | Data |
---|---|---|
e2be04c7 | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
e8ce15a6 DH |
2 | /* |
3 | * linux/arch/unicore32/include/asm/ptrace.h | |
4 | * | |
5 | * Code specific to PKUnity SoC and UniCore ISA | |
6 | * | |
7 | * Copyright (C) 2001-2010 GUAN Xue-tao | |
8 | * | |
9 | * This program is free software; you can redistribute it and/or modify | |
10 | * it under the terms of the GNU General Public License version 2 as | |
11 | * published by the Free Software Foundation. | |
12 | */ | |
13 | #ifndef _UAPI__UNICORE_PTRACE_H__ | |
14 | #define _UAPI__UNICORE_PTRACE_H__ | |
15 | ||
16 | #define PTRACE_GET_THREAD_AREA 22 | |
17 | ||
18 | /* | |
19 | * PSR bits | |
20 | */ | |
21 | #define USER_MODE 0x00000010 | |
22 | #define REAL_MODE 0x00000011 | |
23 | #define INTR_MODE 0x00000012 | |
24 | #define PRIV_MODE 0x00000013 | |
25 | #define ABRT_MODE 0x00000017 | |
26 | #define EXTN_MODE 0x0000001b | |
27 | #define SUSR_MODE 0x0000001f | |
28 | #define MODE_MASK 0x0000001f | |
29 | #define PSR_R_BIT 0x00000040 | |
30 | #define PSR_I_BIT 0x00000080 | |
31 | #define PSR_V_BIT 0x10000000 | |
32 | #define PSR_C_BIT 0x20000000 | |
33 | #define PSR_Z_BIT 0x40000000 | |
34 | #define PSR_S_BIT 0x80000000 | |
35 | ||
36 | /* | |
37 | * Groups of PSR bits | |
38 | */ | |
39 | #define PSR_f 0xff000000 /* Flags */ | |
40 | #define PSR_c 0x000000ff /* Control */ | |
41 | ||
42 | #ifndef __ASSEMBLY__ | |
43 | ||
44 | /* | |
45 | * This struct defines the way the registers are stored on the | |
46 | * stack during a system call. Note that sizeof(struct pt_regs) | |
47 | * has to be a multiple of 8. | |
48 | */ | |
49 | struct pt_regs { | |
50 | unsigned long uregs[34]; | |
51 | }; | |
52 | ||
53 | #define UCreg_asr uregs[32] | |
54 | #define UCreg_pc uregs[31] | |
55 | #define UCreg_lr uregs[30] | |
56 | #define UCreg_sp uregs[29] | |
57 | #define UCreg_ip uregs[28] | |
58 | #define UCreg_fp uregs[27] | |
59 | #define UCreg_26 uregs[26] | |
60 | #define UCreg_25 uregs[25] | |
61 | #define UCreg_24 uregs[24] | |
62 | #define UCreg_23 uregs[23] | |
63 | #define UCreg_22 uregs[22] | |
64 | #define UCreg_21 uregs[21] | |
65 | #define UCreg_20 uregs[20] | |
66 | #define UCreg_19 uregs[19] | |
67 | #define UCreg_18 uregs[18] | |
68 | #define UCreg_17 uregs[17] | |
69 | #define UCreg_16 uregs[16] | |
70 | #define UCreg_15 uregs[15] | |
71 | #define UCreg_14 uregs[14] | |
72 | #define UCreg_13 uregs[13] | |
73 | #define UCreg_12 uregs[12] | |
74 | #define UCreg_11 uregs[11] | |
75 | #define UCreg_10 uregs[10] | |
76 | #define UCreg_09 uregs[9] | |
77 | #define UCreg_08 uregs[8] | |
78 | #define UCreg_07 uregs[7] | |
79 | #define UCreg_06 uregs[6] | |
80 | #define UCreg_05 uregs[5] | |
81 | #define UCreg_04 uregs[4] | |
82 | #define UCreg_03 uregs[3] | |
83 | #define UCreg_02 uregs[2] | |
84 | #define UCreg_01 uregs[1] | |
85 | #define UCreg_00 uregs[0] | |
86 | #define UCreg_ORIG_00 uregs[33] | |
87 | ||
88 | ||
89 | #endif /* __ASSEMBLY__ */ | |
90 | ||
91 | #endif /* _UAPI__UNICORE_PTRACE_H__ */ |