qemu/target/m68k
Daniel Palmer f3c6376c84 target/m68k: Fix exception frame format for 68010
From the 68010 a word with the frame format and exception vector
are placed on the stack before the PC and SR.

M68K_FEATURE_QUAD_MULDIV is currently checked to workout if to do
this or not for the configured CPU but that flag isn't set for
68010 so currently the exception stack when 68010 is configured
is incorrect.

It seems like checking M68K_FEATURE_MOVEFROMSR_PRIV would do but
adding a new flag that shows exactly what is going on here is
maybe clearer.

Add a new flag for the behaviour, M68K_FEATURE_EXCEPTION_FORMAT_VEC,
and set it for 68010 and above, and then use it to control if the
format and vector word are pushed/pop during exception entry/exit.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2164
Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Message-ID: <20240115101643.2165387-1-daniel@0x0f.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2024-02-23 08:12:27 +01:00
..
cpu-param.h target/m68k: Remove NB_MMU_MODES define 2023-03-13 06:44:37 -07:00
cpu-qom.h target: Move ArchCPUClass definition to 'cpu.h' 2023-11-07 13:08:48 +01:00
cpu.c target/m68k: Fix exception frame format for 68010 2024-02-23 08:12:27 +01:00
cpu.h target/m68k: Fix exception frame format for 68010 2024-02-23 08:12:27 +01:00
fpu_helper.c target/m68k/fpu_helper: Use FloatRelation enum to hold comparison result 2023-06-09 23:38:16 +03:00
gdbstub.c gdbstub: move register helpers into standalone include 2023-03-07 20:44:08 +00:00
helper.c target/m68k: Use generic cpu_list() 2024-01-05 16:20:14 +01:00
helper.h target/m68k: Check for USER_ONLY definition instead of SOFTMMU one 2023-06-20 10:01:30 +02:00
Kconfig kconfig: use "select" to enable semihosting 2024-02-09 17:52:30 +00:00
m68k-semi.c semihosting: Rename softmmu_FOO_user() -> uaccess_FOO_user() 2023-10-07 19:02:59 +02:00
meson.build meson: Rename target_softmmu_arch -> target_system_arch 2023-10-07 19:03:07 +02:00
monitor.c hmp: Pass monitor to mon_get_cpu_env() 2020-11-13 12:45:51 +00:00
op_helper.c target/m68k: Fix exception frame format for 68010 2024-02-23 08:12:27 +01:00
qregs.h.inc target/m68k: Rename qregs.def -> qregs.h.inc 2022-11-05 20:35:45 +01:00
softfloat_fpsp_tables.h m68k comments break patch submission due to being incorrectly formatted 2019-06-26 17:14:39 +02:00
softfloat.c softfloat: Introduce Floatx80RoundPrec 2021-06-03 14:04:02 -07:00
softfloat.h softfloat: merge floatx80_mod and floatx80_rem 2020-06-26 09:39:37 -04:00
translate.c target/m68k: Use TCG_COND_TST{EQ,NE} in gen_fcc_cond 2024-02-03 23:43:50 +00:00