This allows to get rid of sizeof(target_ulong) for riscv, without changing the semantic.
Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> --- target/arm/common-semi-target.h | 5 ----- target/riscv/common-semi-target.h | 5 ----- semihosting/arm-compat-semi.c | 4 +++- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/target/arm/common-semi-target.h b/target/arm/common-semi-target.h index da51f2d7f54..7ebd2136d93 100644 --- a/target/arm/common-semi-target.h +++ b/target/arm/common-semi-target.h @@ -34,11 +34,6 @@ static inline void common_semi_set_ret(CPUState *cs, target_ulong ret) } } -static inline bool common_semi_sys_exit_extended(CPUState *cs, int nr) -{ - return nr == TARGET_SYS_EXIT_EXTENDED || is_a64(cpu_env(cs)); -} - static inline bool is_64bit_semihosting(CPUArchState *env) { return is_a64(env); diff --git a/target/riscv/common-semi-target.h b/target/riscv/common-semi-target.h index 7c8a59e0cc3..63bbcd2d5fa 100644 --- a/target/riscv/common-semi-target.h +++ b/target/riscv/common-semi-target.h @@ -25,11 +25,6 @@ static inline void common_semi_set_ret(CPUState *cs, target_ulong ret) env->gpr[xA0] = ret; } -static inline bool common_semi_sys_exit_extended(CPUState *cs, int nr) -{ - return (nr == TARGET_SYS_EXIT_EXTENDED || sizeof(target_ulong) == 8); -} - static inline bool is_64bit_semihosting(CPUArchState *env) { return riscv_cpu_mxl(env) != MXL_RV32; diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c index 3f653c6e7a9..ef57d7205c8 100644 --- a/semihosting/arm-compat-semi.c +++ b/semihosting/arm-compat-semi.c @@ -755,7 +755,9 @@ void do_common_semihosting(CPUState *cs) { uint32_t ret; - if (common_semi_sys_exit_extended(cs, nr)) { + bool extended = (nr == TARGET_SYS_EXIT_EXTENDED || + is_64bit_semihosting(cpu_env(cs))); + if (extended) { /* * The A64 version of SYS_EXIT takes a parameter block, * so the application-exit type can return a subcode which -- 2.47.2