diff options
author | Laurent Vivier <laurent@vivier.eu> | 2018-02-20 18:33:06 +0100 |
---|---|---|
committer | Laurent Vivier <laurent@vivier.eu> | 2018-02-25 17:29:21 +0100 |
commit | 33dff5ff909c54c6545aa818419caf8802156d55 (patch) | |
tree | 080794b435ac61f4062a5c90a39e1fc64aeba44d /linux-user | |
parent | 768fe76e92477870ab14399dbc6bb8d801621c5c (diff) | |
download | qemu-33dff5ff909c54c6545aa818419caf8802156d55.zip qemu-33dff5ff909c54c6545aa818419caf8802156d55.tar.gz qemu-33dff5ff909c54c6545aa818419caf8802156d55.tar.bz2 |
linux-user, m68k: select CPU according to ELF header values
M680x0 doesn't support the same set of instructions
as ColdFire, so we can't use "any" CPU type to execute
m68020 instructions.
We select CPU type ("m68040" or "any" for ColdFire)
according to the ELF header. If we can't, we
use by default the value used until now: "any".
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20180220173307.25125-4-laurent@vivier.eu>
Diffstat (limited to 'linux-user')
-rw-r--r-- | linux-user/m68k/target_elf.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/linux-user/m68k/target_elf.h b/linux-user/m68k/target_elf.h index df375ad..998fe0f 100644 --- a/linux-user/m68k/target_elf.h +++ b/linux-user/m68k/target_elf.h @@ -9,6 +9,12 @@ #define M68K_TARGET_ELF_H static inline const char *cpu_get_model(uint32_t eflags) { + if (eflags == 0 || (eflags & EF_M68K_M68000)) { + /* 680x0 */ + return "m68040"; + } + + /* Coldfire */ return "any"; } #endif |