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