diff options
Diffstat (limited to 'linux-user/riscv/target_cpu.h')
-rw-r--r-- | linux-user/riscv/target_cpu.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/linux-user/riscv/target_cpu.h b/linux-user/riscv/target_cpu.h new file mode 100644 index 000000000..9c642367a --- /dev/null +++ b/linux-user/riscv/target_cpu.h @@ -0,0 +1,27 @@ +#ifndef RISCV_TARGET_CPU_H +#define RISCV_TARGET_CPU_H + +static inline void cpu_clone_regs_child(CPURISCVState *env, target_ulong newsp, + unsigned flags) +{ + if (newsp) { + env->gpr[xSP] = newsp; + } + + env->gpr[xA0] = 0; +} + +static inline void cpu_clone_regs_parent(CPURISCVState *env, unsigned flags) +{ +} + +static inline void cpu_set_tls(CPURISCVState *env, target_ulong newtls) +{ + env->gpr[xTP] = newtls; +} + +static inline abi_ulong get_sp_from_cpustate(CPURISCVState *state) +{ + return state->gpr[xSP]; +} +#endif |