qemu/accel/tcg
Alex Bennée 277aed998a accel/tcg: avoid re-translating one-shot instructions
By definition a single instruction is capable of being an IO
instruction. This avoids a problem of triggering a cpu_io_recompile on
a non-recorded translation which then fails because it expects
tcg_tb_lookup() to succeed unconditionally. The normal use case
requires a TB to be able to resolve machine state.

The other users of tcg_tb_lookup() are able to tolerate a missing TB
if the machine state has been resolved by other means - which in the
single-shot case is always true because machine state is synced at the
start of a block.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210415162454.22056-1-alex.bennee@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2021-04-17 18:51:14 +01:00
..
atomic_common.c.inc meson: rename included C source files to .c.inc 2020-08-21 06:18:30 -04:00
atomic_template.h qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
cpu-exec-common.c qemu-common: Move tcg_enabled() etc. to sysemu/tcg.h 2019-06-11 20:22:09 +02:00
cpu-exec.c * Add some missing gitlab-CI job dependencies 2021-03-10 17:22:45 +00:00
cputlb.c cpu: tcg_ops: move to tcg-cpu-ops.h, keep a pointer in CPUClass 2021-02-05 10:24:15 -10:00
internal.h accel/tcg: Restrict cpu_io_recompile() from other accelerators 2021-01-23 12:13:00 -10:00
meson.build accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
plugin-gen.c accel/tcg: allow plugin instrumentation to be disable via cflags 2021-02-18 08:19:23 +00:00
plugin-helpers.h plugin-gen: add module for TCG-related code 2019-10-28 15:12:38 +00:00
tcg-accel-ops-icount.c replay: fix replay of the interrupts 2021-02-08 14:43:55 +01:00
tcg-accel-ops-icount.h accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-accel-ops-mttcg.c accel/tcg: Precompute curr_cflags into cpu->tcg_cflags 2021-03-06 11:53:57 -08:00
tcg-accel-ops-mttcg.h accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-accel-ops-rr.c accel/tcg: Precompute curr_cflags into cpu->tcg_cflags 2021-03-06 11:53:57 -08:00
tcg-accel-ops-rr.h accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-accel-ops.c accel/tcg: Precompute curr_cflags into cpu->tcg_cflags 2021-03-06 11:53:57 -08:00
tcg-accel-ops.h accel/tcg: Precompute curr_cflags into cpu->tcg_cflags 2021-03-06 11:53:57 -08:00
tcg-all.c accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
tcg-runtime-gvec.c tcg: Implement gvec support for rotate by vector 2020-06-02 08:42:37 -07:00
tcg-runtime.c accel/tcg: drop the use of CF_HASH_MASK and rename params 2021-03-06 11:52:06 -08:00
tcg-runtime.h tcg: Introduce tcg_splitwx_to_{rx,rw} 2021-01-07 05:09:41 -10:00
trace-events tcg: Introduce tcg_splitwx_to_{rx,rw} 2021-01-07 05:09:41 -10:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
translate-all.c accel/tcg: avoid re-translating one-shot instructions 2021-04-17 18:51:14 +01:00
translator.c accel/tcg: allow plugin instrumentation to be disable via cflags 2021-02-18 08:19:23 +00:00
user-exec-stub.c spapr: Unrealize vCPUs with qdev_unrealize() 2020-10-28 01:08:53 +11:00
user-exec.c exec: Rename guest_{addr,range}_valid to *_untagged 2021-02-16 11:04:53 +00:00