summaryrefslogtreecommitdiffstats
path: root/include/exec
diff options
context:
space:
mode:
authorRichard Henderson2021-01-24 21:57:01 +0100
committerRichard Henderson2021-02-05 21:24:14 +0100
commit13e71f08bf66646d9818f6430f337c965b241746 (patch)
tree063f44f3bffe4e2711ee683d23cb0a83b7892b9e /include/exec
parentconfigure: Fix --enable-tcg-interpreter (diff)
downloadqemu-13e71f08bf66646d9818f6430f337c965b241746.tar.gz
qemu-13e71f08bf66646d9818f6430f337c965b241746.tar.xz
qemu-13e71f08bf66646d9818f6430f337c965b241746.zip
tcg/tci: Make tci_tb_ptr thread-local
Each thread must have its own pc, even under TCI. Remove the GETPC ifdef, because GETPC is always available for helpers, and thus is always required. Move the assignment under INDEX_op_call, because the value is only visible when we make a call to a helper function. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20210204014509.882821-6-richard.henderson@linaro.org>
Diffstat (limited to 'include/exec')
-rw-r--r--include/exec/exec-all.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index 125000bcf7..f933c74c44 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -544,7 +544,7 @@ void tb_set_jmp_target(TranslationBlock *tb, int n, uintptr_t addr);
/* GETPC is the true target of the return instruction that we'll execute. */
#if defined(CONFIG_TCG_INTERPRETER)
-extern uintptr_t tci_tb_ptr;
+extern __thread uintptr_t tci_tb_ptr;
# define GETPC() tci_tb_ptr
#else
# define GETPC() \