linux-user: Move cpu_clone_regs() and cpu_set_tls() into linux-user

The functions cpu_clone_regs() and cpu_set_tls() are not purely CPU
related -- they are specific to the TLS ABI for a a particular OS.
Move them into the linux-user/ tree where they belong.

target-lm32 had entirely unused implementations, since it has no
linux-user target; just drop them.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
Peter Maydell 2013-06-28 14:22:32 +01:00 committed by Andreas Färber
parent aa48dd9319
commit 6291ad77d7
31 changed files with 460 additions and 188 deletions

View file

@ -1188,15 +1188,6 @@ static inline int cpu_mmu_index (CPUPPCState *env)
return env->mmu_idx;
}
#if defined(CONFIG_USER_ONLY)
static inline void cpu_clone_regs(CPUPPCState *env, target_ulong newsp)
{
if (newsp)
env->gpr[1] = newsp;
env->gpr[3] = 0;
}
#endif
#include "exec/cpu-all.h"
/*****************************************************************************/
@ -2036,17 +2027,6 @@ static inline void cpu_get_tb_cpu_state(CPUPPCState *env, target_ulong *pc,
*flags = env->hflags;
}
static inline void cpu_set_tls(CPUPPCState *env, target_ulong newtls)
{
#if defined(TARGET_PPC64)
/* The kernel checks TIF_32BIT here; we don't support loading 32-bit
binaries on PPC64 yet. */
env->gpr[13] = newtls;
#else
env->gpr[2] = newtls;
#endif
}
#if !defined(CONFIG_USER_ONLY)
static inline int booke206_tlbm_id(CPUPPCState *env, ppcmas_tlb_t *tlbm)
{