summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2008-06-08 07:42:23 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2008-06-08 07:42:23 +0000
commit7dd9e556e396a6c12a1d31e53ba98a2a90c4e73d (patch)
treedf094b8aa60addd17a2b1e1298f4a212d8fb6dec
parent29ddf27b72960d6e6b115cd69812c9c57b2a7b13 (diff)
downloadqemu-7dd9e556e396a6c12a1d31e53ba98a2a90c4e73d.tar.gz
Register helper functions.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4700 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--target-mips/helper.h20
-rw-r--r--target-mips/translate.c5
2 files changed, 18 insertions, 7 deletions
diff --git a/target-mips/helper.h b/target-mips/helper.h
index 98a97c9be2..cee92fc823 100644
--- a/target-mips/helper.h
+++ b/target-mips/helper.h
@@ -1,8 +1,14 @@
-void do_raise_exception_err(int excp, int err);
-void do_raise_exception(int excp);
-void do_interrupt_restart (void);
+#ifndef DEF_HELPER
+#define DEF_HELPER(ret, name, params) ret name params;
+#endif
-void do_clo (void);
-void do_clz (void);
-void do_dclo (void);
-void do_dclz (void);
+DEF_HELPER(void, do_raise_exception_err, (int excp, int err))
+DEF_HELPER(void, do_raise_exception, (int excp))
+DEF_HELPER(void, do_interrupt_restart, (void))
+
+DEF_HELPER(void, do_clo, (void))
+DEF_HELPER(void, do_clz, (void))
+#ifdef TARGET_MIPS64
+DEF_HELPER(void, do_dclo, (void))
+DEF_HELPER(void, do_dclz, (void))
+#endif
diff --git a/target-mips/translate.c b/target-mips/translate.c
index f0dc14d828..e6b3f547c5 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -7476,6 +7476,11 @@ static void mips_tcg_init(void)
cpu_T[1] = tcg_global_reg_new(TCG_TYPE_TL, TCG_AREG2, "T1");
#endif
+ /* register helpers */
+#undef DEF_HELPER
+#define DEF_HELPER(ret, name, params) tcg_register_helper(name, #name);
+#include "helper.h"
+
inited = 1;
}