| /* 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 */ | |
| } |