Commit 8579095b81e985fdcdba923d7b3ad75ddf69cb87
1 parent
ecbb5ea1
target-alpha: remove helper_load_implver
There is no need to use an helper. Directly load the value with tcg code. Signed-off-by: Tristan Gingold <gingold@adacore.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7074 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
3 changed files
with
3 additions
and
7 deletions
target-alpha/helper.h
| @@ -5,7 +5,6 @@ DEF_HELPER_0(tb_flush, void) | @@ -5,7 +5,6 @@ DEF_HELPER_0(tb_flush, void) | ||
| 5 | DEF_HELPER_2(excp, void, int, int) | 5 | DEF_HELPER_2(excp, void, int, int) |
| 6 | DEF_HELPER_1(amask, i64, i64) | 6 | DEF_HELPER_1(amask, i64, i64) |
| 7 | DEF_HELPER_0(load_pcc, i64) | 7 | DEF_HELPER_0(load_pcc, i64) |
| 8 | -DEF_HELPER_0(load_implver, i64) | ||
| 9 | DEF_HELPER_0(rc, i64) | 8 | DEF_HELPER_0(rc, i64) |
| 10 | DEF_HELPER_0(rs, i64) | 9 | DEF_HELPER_0(rs, i64) |
| 11 | 10 |
target-alpha/op_helper.c
| @@ -58,11 +58,6 @@ uint64_t helper_load_pcc (void) | @@ -58,11 +58,6 @@ uint64_t helper_load_pcc (void) | ||
| 58 | return 0; | 58 | return 0; |
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | -uint64_t helper_load_implver (void) | ||
| 62 | -{ | ||
| 63 | - return env->implver; | ||
| 64 | -} | ||
| 65 | - | ||
| 66 | uint64_t helper_load_fpcr (void) | 61 | uint64_t helper_load_fpcr (void) |
| 67 | { | 62 | { |
| 68 | uint64_t ret = 0; | 63 | uint64_t ret = 0; |
target-alpha/translate.c
| @@ -51,6 +51,7 @@ struct DisasContext { | @@ -51,6 +51,7 @@ struct DisasContext { | ||
| 51 | #if !defined (CONFIG_USER_ONLY) | 51 | #if !defined (CONFIG_USER_ONLY) |
| 52 | int pal_mode; | 52 | int pal_mode; |
| 53 | #endif | 53 | #endif |
| 54 | + CPUAlphaState *env; | ||
| 54 | uint32_t amask; | 55 | uint32_t amask; |
| 55 | }; | 56 | }; |
| 56 | 57 | ||
| @@ -1175,7 +1176,7 @@ static always_inline int translate_one (DisasContext *ctx, uint32_t insn) | @@ -1175,7 +1176,7 @@ static always_inline int translate_one (DisasContext *ctx, uint32_t insn) | ||
| 1175 | case 0x6C: | 1176 | case 0x6C: |
| 1176 | /* IMPLVER */ | 1177 | /* IMPLVER */ |
| 1177 | if (rc != 31) | 1178 | if (rc != 31) |
| 1178 | - gen_helper_load_implver(cpu_ir[rc]); | 1179 | + tcg_gen_movi_i64(cpu_ir[rc], ctx->env->implver); |
| 1179 | break; | 1180 | break; |
| 1180 | default: | 1181 | default: |
| 1181 | goto invalid_opc; | 1182 | goto invalid_opc; |
| @@ -2352,6 +2353,7 @@ static always_inline void gen_intermediate_code_internal (CPUState *env, | @@ -2352,6 +2353,7 @@ static always_inline void gen_intermediate_code_internal (CPUState *env, | ||
| 2352 | gen_opc_end = gen_opc_buf + OPC_MAX_SIZE; | 2353 | gen_opc_end = gen_opc_buf + OPC_MAX_SIZE; |
| 2353 | ctx.pc = pc_start; | 2354 | ctx.pc = pc_start; |
| 2354 | ctx.amask = env->amask; | 2355 | ctx.amask = env->amask; |
| 2356 | + ctx.env = env; | ||
| 2355 | #if defined (CONFIG_USER_ONLY) | 2357 | #if defined (CONFIG_USER_ONLY) |
| 2356 | ctx.mem_idx = 0; | 2358 | ctx.mem_idx = 0; |
| 2357 | #else | 2359 | #else |