diff options
Diffstat (limited to 'target-arm/helpers.h')
-rw-r--r-- | target-arm/helpers.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/target-arm/helpers.h b/target-arm/helpers.h index bd9962ef1f..12c9343f98 100644 --- a/target-arm/helpers.h +++ b/target-arm/helpers.h @@ -19,6 +19,13 @@ static inline void gen_helper_##name(TCGv arg1, TCGv arg2) \ { \ tcg_gen_helper_0_2(helper_##name, arg1, arg2); \ } +#define DEF_HELPER_0_3(name, ret, args) \ +DEF_HELPER(name, ret, args) \ +static inline void gen_helper_##name( \ + TCGv arg1, TCGv arg2, TCGv arg3) \ +{ \ + tcg_gen_helper_0_3(helper_##name, arg1, arg2, arg3); \ +} #define DEF_HELPER_1_0(name, ret, args) \ DEF_HELPER(name, ret, args) \ static inline void gen_helper_##name(TCGv ret) \ @@ -48,6 +55,7 @@ static inline void gen_helper_##name(TCGv ret, \ #define DEF_HELPER_0_0 DEF_HELPER #define DEF_HELPER_0_1 DEF_HELPER #define DEF_HELPER_0_2 DEF_HELPER +#define DEF_HELPER_0_3 DEF_HELPER #define DEF_HELPER_1_0 DEF_HELPER #define DEF_HELPER_1_1 DEF_HELPER #define DEF_HELPER_1_2 DEF_HELPER @@ -108,6 +116,12 @@ DEF_HELPER_0_0(wfi, void, (void)) DEF_HELPER_0_2(cpsr_write, void, (uint32_t, uint32_t)) DEF_HELPER_1_0(cpsr_read, uint32_t, (void)) +DEF_HELPER_1_2(get_r13_banked, uint32_t, (CPUState *, uint32_t)) +DEF_HELPER_0_3(set_r13_banked, void, (CPUState *, uint32_t, uint32_t)) + +DEF_HELPER_1_1(get_user_reg, uint32_t, (uint32_t)) +DEF_HELPER_0_2(set_user_reg, void, (uint32_t, uint32_t)) + #undef DEF_HELPER #undef DEF_HELPER_0_0 #undef DEF_HELPER_0_1 |