aboutsummaryrefslogtreecommitdiff
path: root/tcg/tcg.h
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2011-05-15 16:03:25 +0000
committerBlue Swirl <blauwirbel@gmail.com>2011-06-26 18:25:38 +0000
commitcea5f9a28faa528b6b1b117c9ab2d8828f473fef (patch)
treeabf539721ee3427a35c8b60194cd2b73b57ce254 /tcg/tcg.h
parent2b41f10e186ccb4f0058815161586f8d6d006ea3 (diff)
downloadqemu-cea5f9a28faa528b6b1b117c9ab2d8828f473fef.zip
qemu-cea5f9a28faa528b6b1b117c9ab2d8828f473fef.tar.gz
qemu-cea5f9a28faa528b6b1b117c9ab2d8828f473fef.tar.bz2
cpu-exec.c: avoid AREG0 use
Make functions take a parameter for CPUState instead of relying on global env. Pass CPUState pointer to TCG prologue, which moves it to AREG0. Thanks to Peter Maydell and Laurent Desnogues for the ARM prologue change. Revert the hacks to avoid AREG0 use on Sparc hosts. Move cpu_has_work() and cpu_pc_from_tb() from exec.h to cpu.h. Compile the file without HELPER_CFLAGS. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'tcg/tcg.h')
-rw-r--r--tcg/tcg.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/tcg/tcg.h b/tcg/tcg.h
index 3647390..a2dd8b8 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -515,8 +515,9 @@ TCGv_i64 tcg_const_local_i64(int64_t val);
extern uint8_t code_gen_prologue[];
#if defined(_ARCH_PPC) && !defined(_ARCH_PPC64)
-#define tcg_qemu_tb_exec(tb_ptr) \
- ((long REGPARM __attribute__ ((longcall)) (*)(void *))code_gen_prologue)(tb_ptr)
+#define tcg_qemu_tb_exec(env, tb_ptr) \
+ ((long REGPARM __attribute__ ((longcall)) (*)(void *, void *))code_gen_prologue)(env, tb_ptr)
#else
-#define tcg_qemu_tb_exec(tb_ptr) ((long REGPARM (*)(void *))code_gen_prologue)(tb_ptr)
+#define tcg_qemu_tb_exec(env, tb_ptr) \
+ ((long REGPARM (*)(void *, void *))code_gen_prologue)(env, tb_ptr)
#endif