#ifdef TARGET_I386
-#define HAVE_INIT_MAIN_THREAD
-
#ifdef TARGET_X86_64
#define ELF_CLASS ELFCLASS64
#define ELF_ARCH EM_X86_64
#define ELF_CLASS ELFCLASS32
#define EXSTACK_DEFAULT true
-#define HAVE_INIT_MAIN_THREAD
-
#define ELF_NREG 18
typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG];
#define ELF_ARCH EM_AARCH64
#define ELF_CLASS ELFCLASS64
-#define HAVE_INIT_MAIN_THREAD
-
#define ELF_NREG 34
typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG];
# define ELF_ARCH EM_SPARCV9
#endif
-#define HAVE_INIT_MAIN_THREAD
-
#endif /* TARGET_SPARC */
#ifdef TARGET_PPC
NEW_AUX_ENT(AT_UCACHEBSIZE, 0); \
} while (0)
-#define HAVE_INIT_MAIN_THREAD
-
/* See linux kernel: arch/powerpc/include/asm/elf.h. */
#define ELF_NREG 48
typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG];
#define VDSO_HEADER "vdso.c.inc"
-#define HAVE_INIT_MAIN_THREAD
-
/* See linux kernel: arch/loongarch/include/asm/elf.h */
#define ELF_NREG 45
typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG];
#define elf_check_abi(x) (!((x) & EF_MIPS_ABI2))
#endif
-#define HAVE_INIT_MAIN_THREAD
-
/* See linux kernel: arch/mips/include/asm/elf.h. */
#define ELF_NREG 45
typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG];
#define ELF_CLASS ELFCLASS32
#define ELF_ARCH EM_MICROBLAZE
-#define HAVE_INIT_MAIN_THREAD
-
#define ELF_EXEC_PAGESIZE 4096
#define USE_ELF_CORE_DUMP
#define ELF_CLASS ELFCLASS32
#define ELF_DATA ELFDATA2MSB
-#define HAVE_INIT_MAIN_THREAD
-
#define USE_ELF_CORE_DUMP
#define ELF_EXEC_PAGESIZE 8192
#define ELF_CLASS ELFCLASS32
#define ELF_ARCH EM_SH
-#define HAVE_INIT_MAIN_THREAD
-
/* See linux kernel: arch/sh/include/asm/elf.h. */
#define ELF_NREG 23
typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG];
#define ELF_CLASS ELFCLASS32
#define ELF_ARCH EM_68K
-#define HAVE_INIT_MAIN_THREAD
-
/* See linux kernel: arch/m68k/include/asm/elf.h. */
#define ELF_NREG 20
typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG];
#define ELF_CLASS ELFCLASS64
#define ELF_ARCH EM_ALPHA
-#define HAVE_INIT_MAIN_THREAD
-
#define ELF_EXEC_PAGESIZE 8192
#endif /* TARGET_ALPHA */
#define ELF_DATA ELFDATA2MSB
#define ELF_ARCH EM_S390
-#define HAVE_INIT_MAIN_THREAD
-
/* See linux kernel: arch/s390/include/uapi/asm/ptrace.h (s390_regs). */
#define ELF_NREG 27
typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG];
#define VDSO_HEADER "vdso-64.c.inc"
#endif
-#define HAVE_INIT_MAIN_THREAD
-
#define ELF_EXEC_PAGESIZE 4096
#endif /* TARGET_RISCV */
#define VDSO_HEADER "vdso.c.inc"
-#define HAVE_INIT_MAIN_THREAD
-
#define LO_COMMPAGE 0
static bool init_guest_commpage(void)
#define ELF_CLASS ELFCLASS32
#define ELF_ARCH EM_XTENSA
-#define HAVE_INIT_MAIN_THREAD
-
/* See linux kernel: arch/xtensa/include/asm/elf.h. */
#define ELF_NREG 128
typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG];
#define ELF_CLASS ELFCLASS32
#define ELF_ARCH EM_HEXAGON
-#define HAVE_INIT_MAIN_THREAD
-
#endif /* TARGET_HEXAGON */
#ifndef ELF_MACHINE
return ret;
}
#endif /* USE_ELF_CORE_DUMP */
-
-void do_init_main_thread(CPUState *cs, struct image_info *infop)
-{
-#ifdef HAVE_INIT_MAIN_THREAD
- init_main_thread(cs, infop);
-#else
- target_pt_regs regs = { };
-
- init_thread(®s, infop);
- target_cpu_copy_regs(cpu_env(cs), ®s);
-#endif
-}