122851890Sopenharmony_ci/****************************************************************************
222851890Sopenharmony_ci ****************************************************************************
322851890Sopenharmony_ci ***
422851890Sopenharmony_ci ***   This header was automatically generated from a Linux kernel header
522851890Sopenharmony_ci ***   of the same name, to make information necessary for userspace to
622851890Sopenharmony_ci ***   call into the kernel available to libc.  It contains only constants,
722851890Sopenharmony_ci ***   structures, and macros generated from the original header, and thus,
822851890Sopenharmony_ci ***   contains no copyrightable information.
922851890Sopenharmony_ci ***
1022851890Sopenharmony_ci ***   To edit the content of this header, modify the corresponding
1122851890Sopenharmony_ci ***   source file (e.g. under external/kernel-headers/original/) then
1222851890Sopenharmony_ci ***   run bionic/libc/kernel/tools/update_all.py
1322851890Sopenharmony_ci ***
1422851890Sopenharmony_ci ***   Any manual change here will be lost the next time this script will
1522851890Sopenharmony_ci ***   be run. You've been warned!
1622851890Sopenharmony_ci ***
1722851890Sopenharmony_ci ****************************************************************************
1822851890Sopenharmony_ci ****************************************************************************/
1922851890Sopenharmony_ci#ifndef _ASM_RISCV_PTRACE_H
2022851890Sopenharmony_ci#define _ASM_RISCV_PTRACE_H
2122851890Sopenharmony_ci#ifndef __ASSEMBLY__
2222851890Sopenharmony_ci#include <linux/types.h>
2322851890Sopenharmony_cistruct user_regs_struct {
2422851890Sopenharmony_ci  unsigned long pc;
2522851890Sopenharmony_ci  unsigned long ra;
2622851890Sopenharmony_ci  unsigned long sp;
2722851890Sopenharmony_ci  unsigned long gp;
2822851890Sopenharmony_ci  unsigned long tp;
2922851890Sopenharmony_ci  unsigned long t0;
3022851890Sopenharmony_ci  unsigned long t1;
3122851890Sopenharmony_ci  unsigned long t2;
3222851890Sopenharmony_ci  unsigned long s0;
3322851890Sopenharmony_ci  unsigned long s1;
3422851890Sopenharmony_ci  unsigned long a0;
3522851890Sopenharmony_ci  unsigned long a1;
3622851890Sopenharmony_ci  unsigned long a2;
3722851890Sopenharmony_ci  unsigned long a3;
3822851890Sopenharmony_ci  unsigned long a4;
3922851890Sopenharmony_ci  unsigned long a5;
4022851890Sopenharmony_ci  unsigned long a6;
4122851890Sopenharmony_ci  unsigned long a7;
4222851890Sopenharmony_ci  unsigned long s2;
4322851890Sopenharmony_ci  unsigned long s3;
4422851890Sopenharmony_ci  unsigned long s4;
4522851890Sopenharmony_ci  unsigned long s5;
4622851890Sopenharmony_ci  unsigned long s6;
4722851890Sopenharmony_ci  unsigned long s7;
4822851890Sopenharmony_ci  unsigned long s8;
4922851890Sopenharmony_ci  unsigned long s9;
5022851890Sopenharmony_ci  unsigned long s10;
5122851890Sopenharmony_ci  unsigned long s11;
5222851890Sopenharmony_ci  unsigned long t3;
5322851890Sopenharmony_ci  unsigned long t4;
5422851890Sopenharmony_ci  unsigned long t5;
5522851890Sopenharmony_ci  unsigned long t6;
5622851890Sopenharmony_ci};
5722851890Sopenharmony_cistruct __riscv_f_ext_state {
5822851890Sopenharmony_ci  __u32 f[32];
5922851890Sopenharmony_ci  __u32 fcsr;
6022851890Sopenharmony_ci};
6122851890Sopenharmony_cistruct __riscv_d_ext_state {
6222851890Sopenharmony_ci  __u64 f[32];
6322851890Sopenharmony_ci  __u32 fcsr;
6422851890Sopenharmony_ci};
6522851890Sopenharmony_cistruct __riscv_q_ext_state {
6622851890Sopenharmony_ci  __u64 f[64] __attribute__((aligned(16)));
6722851890Sopenharmony_ci  __u32 fcsr;
6822851890Sopenharmony_ci  __u32 reserved[3];
6922851890Sopenharmony_ci};
7022851890Sopenharmony_ciunion __riscv_fp_state {
7122851890Sopenharmony_ci  struct __riscv_f_ext_state f;
7222851890Sopenharmony_ci  struct __riscv_d_ext_state d;
7322851890Sopenharmony_ci  struct __riscv_q_ext_state q;
7422851890Sopenharmony_ci};
7522851890Sopenharmony_ci#endif
7622851890Sopenharmony_ci#endif
77