target: e2k: Fix getsp src2 size.
This commit is contained in:
parent
a410422f9a
commit
0ac9e690a2
|
@ -10,7 +10,7 @@ DEF_HELPER_2(state_reg_read_i64, i64, env, int)
|
|||
DEF_HELPER_2(state_reg_read_i32, i32, env, int)
|
||||
DEF_HELPER_3(state_reg_write_i64, void, env, int, i64)
|
||||
DEF_HELPER_3(state_reg_write_i32, void, env, int, i32)
|
||||
DEF_HELPER_2(getsp, i64, env, i64) /* FIXME: return tl? */
|
||||
DEF_HELPER_2(getsp, i64, env, i32) /* FIXME: return tl? */
|
||||
DEF_HELPER_1(break_restore_state, void, env)
|
||||
DEF_HELPER_2(setwd, void, env, i32)
|
||||
DEF_HELPER_2(probe_read_access, int, env, tl)
|
||||
|
|
|
@ -92,10 +92,10 @@ void helper_state_reg_write_i32(CPUE2KState *env, int idx, uint32_t val)
|
|||
}
|
||||
}
|
||||
|
||||
uint64_t helper_getsp(CPUE2KState *env, uint64_t src2) {
|
||||
uint64_t helper_getsp(CPUE2KState *env, uint32_t src2) {
|
||||
uint64_t base = GET_FIELD(env->usd_lo, USD_LO_BASE_OFF, USD_LO_BASE_LEN);
|
||||
|
||||
base += src2;
|
||||
base += (int32_t) src2;
|
||||
|
||||
/* TODO: stack overflow */
|
||||
env->usd_lo = SET_FIELD(env->usd_lo, base, USD_LO_BASE_OFF,
|
||||
|
|
|
@ -1024,7 +1024,7 @@ static inline void gen_rw_i32(DisasContext *ctx, int chan)
|
|||
|
||||
static void gen_getsp(DisasContext *ctx, int chan)
|
||||
{
|
||||
Src64 s2 = get_src2_i64(ctx, chan);
|
||||
Src32 s2 = get_src2_i32(ctx, chan);
|
||||
TCGv_i64 dst = e2k_get_temp_i64(ctx);
|
||||
|
||||
// TODO: check tags
|
||||
|
|
Loading…
Reference in New Issue