blob: 59ad7de977112f96942bbd1bf242d8f37231d028 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
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 */
Elliott Hughes5e7f8f12022-10-01 15:10:58 +00007#ifndef _UAPI_ASM_RISCV_PTRACE_H
8#define _UAPI_ASM_RISCV_PTRACE_H
9#ifndef __ASSEMBLY__
10#include <linux/types.h>
Christopher Ferris67d1e5e2023-10-31 13:36:37 -070011#define PTRACE_GETFDPIC 33
12#define PTRACE_GETFDPIC_EXEC 0
13#define PTRACE_GETFDPIC_INTERP 1
Elliott Hughes5e7f8f12022-10-01 15:10:58 +000014struct 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};
48struct __riscv_f_ext_state {
49 __u32 f[32];
50 __u32 fcsr;
51};
52struct __riscv_d_ext_state {
53 __u64 f[32];
54 __u32 fcsr;
55};
56struct __riscv_q_ext_state {
57 __u64 f[64] __attribute__((aligned(16)));
58 __u32 fcsr;
59 __u32 reserved[3];
60};
Christopher Ferris8666d042023-09-06 14:55:31 -070061struct __riscv_ctx_hdr {
62 __u32 magic;
63 __u32 size;
64};
65struct __riscv_extra_ext_header {
66 __u32 __padding[129] __attribute__((aligned(16)));
67 __u32 reserved;
68 struct __riscv_ctx_hdr hdr;
69};
Elliott Hughes5e7f8f12022-10-01 15:10:58 +000070union __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};
Christopher Ferris8666d042023-09-06 14:55:31 -070075struct __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};
Christopher Ferris67d1e5e2023-10-31 13:36:37 -070083struct __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};
Christopher Ferris8666d042023-09-06 14:55:31 -070091#define RISCV_MAX_VLENB (8192)
Elliott Hughes5e7f8f12022-10-01 15:10:58 +000092#endif
93#endif