qemu/linux-user/riscv/target_syscall.h
<<
>>
Prefs
   1/*
   2 * This struct defines the way the registers are stored on the
   3 *  stack during a system call.
   4 *
   5 * Reference: linux/arch/riscv/include/uapi/asm/ptrace.h
   6 */
   7
   8struct target_pt_regs {
   9    abi_long sepc;
  10    abi_long ra;
  11    abi_long sp;
  12    abi_long gp;
  13    abi_long tp;
  14    abi_long t0;
  15    abi_long t1;
  16    abi_long t2;
  17    abi_long s0;
  18    abi_long s1;
  19    abi_long a0;
  20    abi_long a1;
  21    abi_long a2;
  22    abi_long a3;
  23    abi_long a4;
  24    abi_long a5;
  25    abi_long a6;
  26    abi_long a7;
  27    abi_long s2;
  28    abi_long s3;
  29    abi_long s4;
  30    abi_long s5;
  31    abi_long s6;
  32    abi_long s7;
  33    abi_long s8;
  34    abi_long s9;
  35    abi_long s10;
  36    abi_long s11;
  37    abi_long t3;
  38    abi_long t4;
  39    abi_long t5;
  40    abi_long t6;
  41};
  42
  43#ifdef TARGET_RISCV32
  44#define UNAME_MACHINE "riscv32"
  45#else
  46#define UNAME_MACHINE "riscv64"
  47#endif
  48#define UNAME_MINIMUM_RELEASE "4.15.0"
  49
  50#define TARGET_MINSIGSTKSZ 2048
  51#define TARGET_MLOCKALL_MCL_CURRENT 1
  52#define TARGET_MLOCKALL_MCL_FUTURE  2
  53
  54/* clone(flags, newsp, ptidptr, tls, ctidptr) for RISC-V */
  55/* This comes from linux/kernel/fork.c, CONFIG_CLONE_BACKWARDS */
  56#define TARGET_CLONE_BACKWARDS
  57