aboutsummaryrefslogtreecommitdiff
path: root/target-ppc
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-08-24 19:05:26 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-08-24 19:05:26 +0000
commitc0692e3c65ee4811390e22d2996f6d8b53fcd2c1 (patch)
treee542a8a117d69099c73a67b8a44756999f8a85e4 /target-ppc
parent543952ca93b3065eaf261a76769f66259eead870 (diff)
PPC: Init TCG variables
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5082 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;
}