xref: /openbmc/qemu/linux-user/riscv/target_cpu.h (revision bbe16574)
1 #ifndef RISCV_TARGET_CPU_H
2 #define RISCV_TARGET_CPU_H
3 
cpu_clone_regs_child(CPURISCVState * env,target_ulong newsp,unsigned flags)4 static inline void cpu_clone_regs_child(CPURISCVState *env, target_ulong newsp,
5                                         unsigned flags)
6 {
7     if (newsp) {
8         env->gpr[xSP] = newsp;
9     }
10 
11     env->gpr[xA0] = 0;
12 }
13 
cpu_clone_regs_parent(CPURISCVState * env,unsigned flags)14 static inline void cpu_clone_regs_parent(CPURISCVState *env, unsigned flags)
15 {
16 }
17 
cpu_set_tls(CPURISCVState * env,target_ulong newtls)18 static inline void cpu_set_tls(CPURISCVState *env, target_ulong newtls)
19 {
20     env->gpr[xTP] = newtls;
21 }
22 
get_sp_from_cpustate(CPURISCVState * state)23 static inline abi_ulong get_sp_from_cpustate(CPURISCVState *state)
24 {
25    return state->gpr[xSP];
26 }
27 #endif
28