linux-user: Move get_ppc64_abi

The get_ppc64_abi is used to determine the ELF ABI (i.e. V1 or V2). This
routine is currently implemented in the linux-user/elfload.c file but
is useful in other scenarios.  Move the routine to a more generally
available location (linux-user/ppc/target_cpu.h).

Signed-off-by: Tom Musta <tommusta@gmail.com>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
This commit is contained in:
Tom Musta 2014-08-13 14:04:44 -05:00 committed by Riku Voipio
parent d4290c40a4
commit 67d6d829cd
2 changed files with 10 additions and 9 deletions

View File

@ -824,8 +824,6 @@ static uint32_t get_elf_hwcap2(void)
NEW_AUX_ENT(AT_IGNOREPPC, AT_IGNOREPPC); \ NEW_AUX_ENT(AT_IGNOREPPC, AT_IGNOREPPC); \
} while (0) } while (0)
static inline uint32_t get_ppc64_abi(struct image_info *infop);
static inline void init_thread(struct target_pt_regs *_regs, struct image_info *infop) static inline void init_thread(struct target_pt_regs *_regs, struct image_info *infop)
{ {
_regs->gpr[1] = infop->start_stack; _regs->gpr[1] = infop->start_stack;
@ -1205,13 +1203,6 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
#include "elf.h" #include "elf.h"
#ifdef TARGET_PPC
static inline uint32_t get_ppc64_abi(struct image_info *infop)
{
return infop->elf_flags & EF_PPC64_ABI;
}
#endif
struct exec struct exec
{ {
unsigned int a_info; /* Use macros N_MAGIC, etc for access */ unsigned int a_info; /* Use macros N_MAGIC, etc for access */

View File

@ -38,4 +38,14 @@ static inline void cpu_set_tls(CPUPPCState *env, target_ulong newtls)
#endif #endif
} }
#ifndef EF_PPC64_ABI
#define EF_PPC64_ABI 0x3
#endif
static inline uint32_t get_ppc64_abi(struct image_info *infop)
{
return infop->elf_flags & EF_PPC64_ABI;
}
#endif #endif