Version 2 includes fixes for iflags that could cause lockups. It seems it was easier to do so with icount=7, which is what we do during the replay acceptance tests. This causes TBs to contain no more than 7 insns, and often less to make up for an incomplete count elsewhere. Which stressed the iflags bits around delay slots and imm in ways that pure single-step doesn't.
In addition, cpu vmstate is filled in and interrupt logging is tidied. r~ Richard Henderson (12): target/microblaze: Collected fixes for env->iflags target/microblaze: Renumber D_FLAG target/microblaze: Cleanup mb_cpu_do_interrupt target/microblaze: Rename mmu structs target/microblaze: Fill in VMStateDescription for cpu target/microblaze: Rename DISAS_UPDATE to DISAS_EXIT target/microblaze: Introduce DISAS_EXIT_NEXT, DISAS_EXIT_JUMP target/microblaze: Replace cpustate_changed with DISAS_EXIT_NEXT target/microblaze: Handle DISAS_EXIT_NEXT in delay slot target/microblaze: Force rtid, rted, rtbd to exit target/microblaze: Use tcg_gen_lookup_and_goto_ptr target/microblaze: Diagnose invalid insns in delay slots target/microblaze/cpu.h | 11 +- target/microblaze/mmu.h | 15 +-- target/microblaze/cpu.c | 19 +-- target/microblaze/helper.c | 216 +++++++++++++++------------------- target/microblaze/machine.c | 112 ++++++++++++++++++ target/microblaze/mmu.c | 11 +- target/microblaze/translate.c | 166 ++++++++++++++++++-------- target/microblaze/meson.build | 5 +- 8 files changed, 362 insertions(+), 193 deletions(-) create mode 100644 target/microblaze/machine.c -- 2.25.1
