aboutsummaryrefslogtreecommitdiff
path: root/target-ppc
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-08-28 21:01:36 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-08-28 21:01:36 +0000
commit1c73fe5bba1d66864b54a037875deb2de2603210 (patch)
tree44e54d880f2d591b0ea2e461c3f5b07ca4cf0299 /target-ppc
parentf441b28b8d10c18d9ca751c3bed2d80b7d607019 (diff)
PPC: Init TCG variables
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5093 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc')
-rw-r--r--target-ppc/translate.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index df73ed9716..a7064f3032 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -43,7 +43,7 @@
/*****************************************************************************/
/* Code translation helpers */
-static TCGv cpu_env;
+static TCGv cpu_env, cpu_T[3];
#include "gen-icount.h"
@@ -53,6 +53,18 @@ void ppc_translate_init(void)
if (done_init)
return;
cpu_env = tcg_global_reg_new(TCG_TYPE_PTR, TCG_AREG0, "env");
+#if TARGET_LONG_BITS > HOST_LONG_BITS
+ cpu_T[0] = tcg_global_mem_new(TCG_TYPE_TL,
+ TCG_AREG0, offsetof(CPUState, t0), "T0");
+ cpu_T[1] = tcg_global_mem_new(TCG_TYPE_TL,
+ TCG_AREG0, offsetof(CPUState, t1), "T1");
+ cpu_T[2] = tcg_global_mem_new(TCG_TYPE_TL,
+ TCG_AREG0, offsetof(CPUState, t2), "T2");
+#else
+ cpu_T[0] = tcg_global_reg_new(TCG_TYPE_TL, TCG_AREG1, "T0");
+ cpu_T[1] = tcg_global_reg_new(TCG_TYPE_TL, TCG_AREG2, "T1");
+ cpu_T[2] = tcg_global_reg_new(TCG_TYPE_TL, TCG_AREG3, "T2");
+#endif
done_init = 1;
}