mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00

We will need a target-specific hook for adjusting registers in the parent during clone. To avoid confusion, rename the one we have to make it clear it affects the child. At the same time, pass in the flags from the clone syscall. We will need them for correct behaviour for Sparc. Reviewed-by: Laurent Vivier <laurent@vivier.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20191106113318.10226-10-richard.henderson@linaro.org> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
23 lines
484 B
C
23 lines
484 B
C
#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_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
|