1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 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__ */ 92