1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef _UAPI_ASM_RISCV_PTRACE_H 20 #define _UAPI_ASM_RISCV_PTRACE_H 21 #ifndef __ASSEMBLY__ 22 #include <linux/types.h> 23 struct user_regs_struct { 24 unsigned long pc; 25 unsigned long ra; 26 unsigned long sp; 27 unsigned long gp; 28 unsigned long tp; 29 unsigned long t0; 30 unsigned long t1; 31 unsigned long t2; 32 unsigned long s0; 33 unsigned long s1; 34 unsigned long a0; 35 unsigned long a1; 36 unsigned long a2; 37 unsigned long a3; 38 unsigned long a4; 39 unsigned long a5; 40 unsigned long a6; 41 unsigned long a7; 42 unsigned long s2; 43 unsigned long s3; 44 unsigned long s4; 45 unsigned long s5; 46 unsigned long s6; 47 unsigned long s7; 48 unsigned long s8; 49 unsigned long s9; 50 unsigned long s10; 51 unsigned long s11; 52 unsigned long t3; 53 unsigned long t4; 54 unsigned long t5; 55 unsigned long t6; 56 }; 57 struct __riscv_f_ext_state { 58 __u32 f[32]; 59 __u32 fcsr; 60 }; 61 struct __riscv_d_ext_state { 62 __u64 f[32]; 63 __u32 fcsr; 64 }; 65 struct __riscv_q_ext_state { 66 __u64 f[64] __attribute__((aligned(16))); 67 __u32 fcsr; 68 __u32 reserved[3]; 69 }; 70 union __riscv_fp_state { 71 struct __riscv_f_ext_state f; 72 struct __riscv_d_ext_state d; 73 struct __riscv_q_ext_state q; 74 }; 75 #endif 76 #endif 77