diff options
-rw-r--r-- | target-mips/helper.h | 20 | ||||
-rw-r--r-- | target-mips/translate.c | 5 |
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; } |