This is fixing #404 ("windows xp boot takes much longer...") and several other similar reports.
Changes for v3: * Map CF_COUNT_MASK == 0 -> TCG_MAX_INSNS. * Split out *_breakpoint_check fixes for avr, mips, riscv. Changes for v2: * All prerequisites and 7 of the patches from v1 with are merged. Patches lacking review: 08-target-avr-Advance-pc-in-avr_tr_breakpoint_check.patch 09-target-mips-Reduce-mips_tr_breakpoint_check-pc-ad.patch 10-target-riscv-Reduce-riscv_tr_breakpoint_check-pc-.patch 13-accel-tcg-Encode-breakpoint-info-into-tb-cflags.patch r~ Richard Henderson (13): accel/tcg: Reduce CF_COUNT_MASK to match TCG_MAX_INSNS accel/tcg: Move curr_cflags into cpu-exec.c accel/tcg: Add CF_NO_GOTO_TB and CF_NO_GOTO_PTR accel/tcg: Drop CF_NO_GOTO_PTR from -d nochain accel/tcg: Handle -singlestep in curr_cflags accel/tcg: Use CF_NO_GOTO_{TB,PTR} in cpu_exec_step_atomic accel/tcg: Move cflags lookup into tb_find target/avr: Advance pc in avr_tr_breakpoint_check target/mips: Reduce mips_tr_breakpoint_check pc advance to 2 target/riscv: Reduce riscv_tr_breakpoint_check pc advance to 2 accel/tcg: Adjust interface of TranslatorOps.breakpoint_check accel/tcg: Hoist tb_cflags to a local in translator_loop accel/tcg: Encode breakpoint info into tb->cflags include/exec/exec-all.h | 30 +++++--- include/exec/translator.h | 17 +++-- accel/tcg/cpu-exec.c | 130 ++++++++++++++++++++++++++++------ accel/tcg/translate-all.c | 7 +- accel/tcg/translator.c | 79 ++++++++++++++------- cpu.c | 24 ------- target/alpha/translate.c | 12 +--- target/arm/translate-a64.c | 14 ++-- target/arm/translate.c | 20 +++--- target/avr/translate.c | 6 +- target/cris/translate.c | 14 ++-- target/hexagon/translate.c | 13 +--- target/hppa/translate.c | 7 +- target/i386/tcg/translate.c | 15 ++-- target/m68k/translate.c | 14 +--- target/microblaze/translate.c | 14 +--- target/mips/tcg/translate.c | 14 ++-- target/nios2/translate.c | 13 +--- target/openrisc/translate.c | 11 +-- target/ppc/translate.c | 13 +--- target/riscv/translate.c | 11 +-- target/rx/translate.c | 8 +-- target/s390x/tcg/translate.c | 12 ++-- target/sh4/translate.c | 12 ++-- target/sparc/translate.c | 9 ++- target/tricore/translate.c | 13 +--- target/xtensa/translate.c | 12 ++-- tcg/tcg-op.c | 28 ++++---- 28 files changed, 280 insertions(+), 292 deletions(-) -- 2.25.1