]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - arch/unicore32/include/uapi/asm/ptrace.h
License cleanup: add SPDX license identifier to uapi header files with a license
[mirror_ubuntu-eoan-kernel.git] / arch / unicore32 / include / uapi / asm / ptrace.h
CommitLineData
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 */
49struct 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__ */