mirror of https://gitlab.com/qemu-project/qemu
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
#include "qemu/osdep.h"
|
|
#include "qemu.h"
|
|
#include "loader.h"
|
|
#include "elf.h"
|
|
#include "target_elf.h"
|
|
|
|
|
|
const char *get_elf_cpu_model(uint32_t eflags)
|
|
{
|
|
if (eflags == 0 || (eflags & EF_M68K_M68000)) {
|
|
/* 680x0 */
|
|
return "m68040";
|
|
}
|
|
|
|
/* Coldfire */
|
|
return "any";
|
|
}
|
|
|
|
void elf_core_copy_regs(target_elf_gregset_t *r, const CPUM68KState *env)
|
|
{
|
|
r->d1 = tswapal(env->dregs[1]);
|
|
r->d2 = tswapal(env->dregs[2]);
|
|
r->d3 = tswapal(env->dregs[3]);
|
|
r->d4 = tswapal(env->dregs[4]);
|
|
r->d5 = tswapal(env->dregs[5]);
|
|
r->d6 = tswapal(env->dregs[6]);
|
|
r->d7 = tswapal(env->dregs[7]);
|
|
r->a0 = tswapal(env->aregs[0]);
|
|
r->a1 = tswapal(env->aregs[1]);
|
|
r->a2 = tswapal(env->aregs[2]);
|
|
r->a3 = tswapal(env->aregs[3]);
|
|
r->a4 = tswapal(env->aregs[4]);
|
|
r->a5 = tswapal(env->aregs[5]);
|
|
r->a6 = tswapal(env->aregs[6]);
|
|
r->d0 = tswapal(env->dregs[0]);
|
|
r->usp = tswapal(env->aregs[7]);
|
|
r->orig_d0 = tswapal(env->dregs[0]); /* FIXME */
|
|
r->sr = tswapal(env->sr);
|
|
r->pc = tswapal(env->pc);
|
|
/* FIXME: regs->format | regs->vector */
|
|
}
|