qemu-e2k/target/microblaze
Richard Henderson 88e74b6122 target/microblaze: Collected fixes for env->iflags
There are several problems here that can result in soft lockup,
depending on exactly where an interrupt or exception is delivered:

Include BIMM_FLAG in IFLAGS_TB_MASK, since it needs to follow D_FLAG.
Ensure that iflags is 0 when entering an interrupt/exception handler.
Add mb_cpu_synchronize_from_tb to restore iflags from tb->flags.
The change to t_sync_flags is cosmetic, but makes the code clearer.

This fixes the reported regression in acceptance/replay_kernel.py.

Fixes: 683a247ed7 ("target/microblaze: Store "current" iflags in insn_start")
Tested-by: Thomas Huth <thuth@redhat.com>
Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200904190842.2282109-2-richard.henderson@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2020-09-07 12:34:17 +02:00
..
cpu-param.h target/microblaze: Reduce linux-user address space to 32-bit 2020-09-01 07:43:35 -07:00
cpu-qom.h
cpu.c target/microblaze: Collected fixes for env->iflags 2020-09-07 12:34:17 +02:00
cpu.h target/microblaze: Collected fixes for env->iflags 2020-09-07 12:34:17 +02:00
gdbstub.c
helper.c target/microblaze: Collected fixes for env->iflags 2020-09-07 12:34:17 +02:00
helper.h target/microblaze: Add flags markup to some helpers 2020-09-01 07:43:35 -07:00
insns.decode target/microblaze: Convert dec_stream to decodetree 2020-09-01 07:43:35 -07:00
meson.build
mmu.c
mmu.h
op_helper.c
translate.c target/microblaze: Collected fixes for env->iflags 2020-09-07 12:34:17 +02:00