#define VDSO_HEADER "vdso.c.inc"
-static inline void init_thread(struct target_pt_regs *regs,
- struct image_info *infop)
-{
- regs->iaoq[0] = infop->entry | PRIV_USER;
- regs->iaoq[1] = regs->iaoq[0] + 4;
- regs->gr[23] = 0;
- regs->gr[24] = infop->argv;
- regs->gr[25] = infop->argc;
- /* The top-of-stack contains a linkage buffer. */
- regs->gr[30] = infop->start_stack + 64;
- regs->gr[31] = infop->entry;
-}
+#define HAVE_INIT_MAIN_THREAD
#define LO_COMMPAGE 0
}
}
-void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs)
+void init_main_thread(CPUState *cs, struct image_info *info)
{
- int i;
- for (i = 1; i < 32; i++) {
- env->gr[i] = regs->gr[i];
- }
- env->iaoq_f = regs->iaoq[0];
- env->iaoq_b = regs->iaoq[1];
+ CPUArchState *env = cpu_env(cs);
+
+ env->iaoq_f = info->entry | PRIV_USER;
+ env->iaoq_b = env->iaoq_f + 4;
+ env->gr[23] = 0;
+ env->gr[24] = info->argv;
+ env->gr[25] = info->argc;
+ /* The top-of-stack contains a linkage buffer. */
+ env->gr[30] = info->start_stack + 64;
+ env->gr[31] = info->entry;
}