1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_ASM_RISCV_PTRACE_H 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_ASM_RISCV_PTRACE_H 9*8d67ca89SAndroid Build Coastguard Worker #ifndef __ASSEMBLY__ 10*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 11*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_GETFDPIC 33 12*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_GETFDPIC_EXEC 0 13*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_GETFDPIC_INTERP 1 14*8d67ca89SAndroid Build Coastguard Worker struct user_regs_struct { 15*8d67ca89SAndroid Build Coastguard Worker unsigned long pc; 16*8d67ca89SAndroid Build Coastguard Worker unsigned long ra; 17*8d67ca89SAndroid Build Coastguard Worker unsigned long sp; 18*8d67ca89SAndroid Build Coastguard Worker unsigned long gp; 19*8d67ca89SAndroid Build Coastguard Worker unsigned long tp; 20*8d67ca89SAndroid Build Coastguard Worker unsigned long t0; 21*8d67ca89SAndroid Build Coastguard Worker unsigned long t1; 22*8d67ca89SAndroid Build Coastguard Worker unsigned long t2; 23*8d67ca89SAndroid Build Coastguard Worker unsigned long s0; 24*8d67ca89SAndroid Build Coastguard Worker unsigned long s1; 25*8d67ca89SAndroid Build Coastguard Worker unsigned long a0; 26*8d67ca89SAndroid Build Coastguard Worker unsigned long a1; 27*8d67ca89SAndroid Build Coastguard Worker unsigned long a2; 28*8d67ca89SAndroid Build Coastguard Worker unsigned long a3; 29*8d67ca89SAndroid Build Coastguard Worker unsigned long a4; 30*8d67ca89SAndroid Build Coastguard Worker unsigned long a5; 31*8d67ca89SAndroid Build Coastguard Worker unsigned long a6; 32*8d67ca89SAndroid Build Coastguard Worker unsigned long a7; 33*8d67ca89SAndroid Build Coastguard Worker unsigned long s2; 34*8d67ca89SAndroid Build Coastguard Worker unsigned long s3; 35*8d67ca89SAndroid Build Coastguard Worker unsigned long s4; 36*8d67ca89SAndroid Build Coastguard Worker unsigned long s5; 37*8d67ca89SAndroid Build Coastguard Worker unsigned long s6; 38*8d67ca89SAndroid Build Coastguard Worker unsigned long s7; 39*8d67ca89SAndroid Build Coastguard Worker unsigned long s8; 40*8d67ca89SAndroid Build Coastguard Worker unsigned long s9; 41*8d67ca89SAndroid Build Coastguard Worker unsigned long s10; 42*8d67ca89SAndroid Build Coastguard Worker unsigned long s11; 43*8d67ca89SAndroid Build Coastguard Worker unsigned long t3; 44*8d67ca89SAndroid Build Coastguard Worker unsigned long t4; 45*8d67ca89SAndroid Build Coastguard Worker unsigned long t5; 46*8d67ca89SAndroid Build Coastguard Worker unsigned long t6; 47*8d67ca89SAndroid Build Coastguard Worker }; 48*8d67ca89SAndroid Build Coastguard Worker struct __riscv_f_ext_state { 49*8d67ca89SAndroid Build Coastguard Worker __u32 f[32]; 50*8d67ca89SAndroid Build Coastguard Worker __u32 fcsr; 51*8d67ca89SAndroid Build Coastguard Worker }; 52*8d67ca89SAndroid Build Coastguard Worker struct __riscv_d_ext_state { 53*8d67ca89SAndroid Build Coastguard Worker __u64 f[32]; 54*8d67ca89SAndroid Build Coastguard Worker __u32 fcsr; 55*8d67ca89SAndroid Build Coastguard Worker }; 56*8d67ca89SAndroid Build Coastguard Worker struct __riscv_q_ext_state { 57*8d67ca89SAndroid Build Coastguard Worker __u64 f[64] __attribute__((aligned(16))); 58*8d67ca89SAndroid Build Coastguard Worker __u32 fcsr; 59*8d67ca89SAndroid Build Coastguard Worker __u32 reserved[3]; 60*8d67ca89SAndroid Build Coastguard Worker }; 61*8d67ca89SAndroid Build Coastguard Worker struct __riscv_ctx_hdr { 62*8d67ca89SAndroid Build Coastguard Worker __u32 magic; 63*8d67ca89SAndroid Build Coastguard Worker __u32 size; 64*8d67ca89SAndroid Build Coastguard Worker }; 65*8d67ca89SAndroid Build Coastguard Worker struct __riscv_extra_ext_header { 66*8d67ca89SAndroid Build Coastguard Worker __u32 __padding[129] __attribute__((aligned(16))); 67*8d67ca89SAndroid Build Coastguard Worker __u32 reserved; 68*8d67ca89SAndroid Build Coastguard Worker struct __riscv_ctx_hdr hdr; 69*8d67ca89SAndroid Build Coastguard Worker }; 70*8d67ca89SAndroid Build Coastguard Worker union __riscv_fp_state { 71*8d67ca89SAndroid Build Coastguard Worker struct __riscv_f_ext_state f; 72*8d67ca89SAndroid Build Coastguard Worker struct __riscv_d_ext_state d; 73*8d67ca89SAndroid Build Coastguard Worker struct __riscv_q_ext_state q; 74*8d67ca89SAndroid Build Coastguard Worker }; 75*8d67ca89SAndroid Build Coastguard Worker struct __riscv_v_ext_state { 76*8d67ca89SAndroid Build Coastguard Worker unsigned long vstart; 77*8d67ca89SAndroid Build Coastguard Worker unsigned long vl; 78*8d67ca89SAndroid Build Coastguard Worker unsigned long vtype; 79*8d67ca89SAndroid Build Coastguard Worker unsigned long vcsr; 80*8d67ca89SAndroid Build Coastguard Worker unsigned long vlenb; 81*8d67ca89SAndroid Build Coastguard Worker void * datap; 82*8d67ca89SAndroid Build Coastguard Worker }; 83*8d67ca89SAndroid Build Coastguard Worker struct __riscv_v_regset_state { 84*8d67ca89SAndroid Build Coastguard Worker unsigned long vstart; 85*8d67ca89SAndroid Build Coastguard Worker unsigned long vl; 86*8d67ca89SAndroid Build Coastguard Worker unsigned long vtype; 87*8d67ca89SAndroid Build Coastguard Worker unsigned long vcsr; 88*8d67ca89SAndroid Build Coastguard Worker unsigned long vlenb; 89*8d67ca89SAndroid Build Coastguard Worker char vreg[]; 90*8d67ca89SAndroid Build Coastguard Worker }; 91*8d67ca89SAndroid Build Coastguard Worker #define RISCV_MAX_VLENB (8192) 92*8d67ca89SAndroid Build Coastguard Worker #endif 93*8d67ca89SAndroid Build Coastguard Worker #endif 94