On 1/27/25 15:56, Philippe Mathieu-Daudé wrote:
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> target/ppc/excp_helper.c | 21 ---------------------
> target/ppc/tcg-excp_helper.c | 18 ++++++++++++++++++
> 2 files changed, 18 insertions(+), 21 deletions(-)
>
This patch also needs to remove the function declaration introduced in
internal.h in patch 3.
Otherwise,
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
> diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c
> index b05eb7f5aec..8956466db1d 100644
> --- a/target/ppc/excp_helper.c
> +++ b/target/ppc/excp_helper.c
> @@ -136,27 +136,6 @@ static void dump_hcall(CPUPPCState *env)
> env->nip);
> }
>
> -#ifdef CONFIG_TCG
> -/* Return true iff byteswap is needed to load instruction */
> -static inline bool insn_need_byteswap(CPUArchState *env)
> -{
> - /* SYSTEM builds TARGET_BIG_ENDIAN. Need to swap when MSR[LE] is set */
> - return !!(env->msr & ((target_ulong)1 << MSR_LE));
> -}
> -
> -uint32_t ppc_ldl_code(CPUArchState *env, target_ulong addr)
> -{
> - uint32_t insn = cpu_ldl_code(env, addr);
> -
> - if (insn_need_byteswap(env)) {
> - insn = bswap32(insn);
> - }
> -
> - return insn;
> -}
> -
> -#endif
> -
> static void ppc_excp_debug_sw_tlb(CPUPPCState *env, int excp)
> {
> const char *es;
> diff --git a/target/ppc/tcg-excp_helper.c b/target/ppc/tcg-excp_helper.c
> index 3402dbe05ee..6950b78774d 100644
> --- a/target/ppc/tcg-excp_helper.c
> +++ b/target/ppc/tcg-excp_helper.c
> @@ -199,4 +199,22 @@ bool ppc_cpu_debug_check_watchpoint(CPUState *cs, CPUWatchpoint *wp)
> return false;
> }
>
> +/* Return true iff byteswap is needed to load instruction */
> +static inline bool insn_need_byteswap(CPUArchState *env)
> +{
> + /* SYSTEM builds TARGET_BIG_ENDIAN. Need to swap when MSR[LE] is set */
> + return !!(env->msr & ((target_ulong)1 << MSR_LE));
> +}
> +
> +uint32_t ppc_ldl_code(CPUArchState *env, target_ulong addr)
> +{
> + uint32_t insn = cpu_ldl_code(env, addr);
> +
> + if (insn_need_byteswap(env)) {
> + insn = bswap32(insn);
> + }
> +
> + return insn;
> +}
> +
> #endif /* !CONFIG_USER_ONLY */