target/alpha: Access CPUState::cpu_index via helper
CPUState::cpu_index is a target agnostic field, meant for common code (i.e. accel/ and system/ folders). Target specific code should use the CPUClass::get_arch_id() helper, even if there is a 1:1 mapping. In preparation of generic changes around CPU indexing, introduce the whoami helper to access the generic CPUState::cpu_index field. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Anton Johansson <anjo@rev.ng> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20250925010438.59755-1-philmd@linaro.org>
This commit is contained in:
parent
482869ca84
commit
a6a5f0b464
3 changed files with 7 additions and 2 deletions
|
|
@ -92,6 +92,7 @@ DEF_HELPER_FLAGS_1(tbia, TCG_CALL_NO_RWG, void, env)
|
|||
DEF_HELPER_FLAGS_2(tbis, TCG_CALL_NO_RWG, void, env, i64)
|
||||
|
||||
DEF_HELPER_1(halt, void, i64)
|
||||
DEF_HELPER_1(whami, i64, env)
|
||||
|
||||
DEF_HELPER_FLAGS_0(get_vmtime, TCG_CALL_NO_RWG, i64)
|
||||
DEF_HELPER_FLAGS_0(get_walltime, TCG_CALL_NO_RWG, i64)
|
||||
|
|
|
|||
|
|
@ -67,3 +67,8 @@ void helper_set_alarm(CPUAlphaState *env, uint64_t expire)
|
|||
timer_del(cpu->alarm_timer);
|
||||
}
|
||||
}
|
||||
|
||||
uint64_t HELPER(whami)(CPUAlphaState *env)
|
||||
{
|
||||
return env_cpu(env)->cpu_index;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1126,8 +1126,7 @@ static DisasJumpType gen_call_pal(DisasContext *ctx, int palcode)
|
|||
break;
|
||||
case 0x3C:
|
||||
/* WHAMI */
|
||||
tcg_gen_ld32s_i64(ctx->ir[IR_V0], tcg_env,
|
||||
-offsetof(AlphaCPU, env) + offsetof(CPUState, cpu_index));
|
||||
gen_helper_whami(ctx->ir[IR_V0], tcg_env);
|
||||
break;
|
||||
|
||||
case 0x3E:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue