aboutsummaryrefslogtreecommitdiff
path: root/cpu-exec.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2015-09-16 15:33:53 -0700
committerRichard Henderson <rth@twiddle.net>2015-10-19 11:04:39 -1000
commit89a82cd4b6a90fe117fa715e2abe51d5c607560c (patch)
tree8918e2af85a3241d228a299e5825a34a8ff20963 /cpu-exec.c
parent137d63902faf4960081856db9242cbaf234a23af (diff)
downloadqemu-arm-89a82cd4b6a90fe117fa715e2abe51d5c607560c.tar.gz
cpu-exec: Add "nochain" debug flag
Respect it to avoid linking TBs together. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'cpu-exec.c')
-rw-r--r--cpu-exec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/cpu-exec.c b/cpu-exec.c
index 8fd56a69e0..7eef0830fe 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -477,7 +477,8 @@ int cpu_exec(CPUState *cpu)
/* see if we can patch the calling TB. When the TB
spans two pages, we cannot safely do a direct
jump. */
- if (next_tb != 0 && tb->page_addr[1] == -1) {
+ if (next_tb != 0 && tb->page_addr[1] == -1
+ && !qemu_loglevel_mask(CPU_LOG_TB_NOCHAIN)) {
tb_add_jump((TranslationBlock *)(next_tb & ~TB_EXIT_MASK),
next_tb & TB_EXIT_MASK, tb);
}