master
c 43 lines 1.13 KB
Raw
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2
3 #include "qemu/osdep.h"
4 #include "qemu.h"
5 #include "loader.h"
6 #include "elf.h"
7 #include "target_elf.h"
8
9
10 const char *get_elf_cpu_model(uint32_t eflags)
11 {
12 if (eflags == 0 || (eflags & EF_M68K_M68000)) {
13 /* 680x0 */
14 return "m68040";
15 }
16
17 /* Coldfire */
18 return "any";
19 }
20
21 void elf_core_copy_regs(target_elf_gregset_t *r, const CPUM68KState *env)
22 {
23 r->d1 = tswapal(env->dregs[1]);
24 r->d2 = tswapal(env->dregs[2]);
25 r->d3 = tswapal(env->dregs[3]);
26 r->d4 = tswapal(env->dregs[4]);
27 r->d5 = tswapal(env->dregs[5]);
28 r->d6 = tswapal(env->dregs[6]);
29 r->d7 = tswapal(env->dregs[7]);
30 r->a0 = tswapal(env->aregs[0]);
31 r->a1 = tswapal(env->aregs[1]);
32 r->a2 = tswapal(env->aregs[2]);
33 r->a3 = tswapal(env->aregs[3]);
34 r->a4 = tswapal(env->aregs[4]);
35 r->a5 = tswapal(env->aregs[5]);
36 r->a6 = tswapal(env->aregs[6]);
37 r->d0 = tswapal(env->dregs[0]);
38 r->usp = tswapal(env->aregs[7]);
39 r->orig_d0 = tswapal(env->dregs[0]); /* FIXME */
40 r->sr = tswapal(env->sr);
41 r->pc = tswapal(env->pc);
42 /* FIXME: regs->format | regs->vector */
43 }