In preparation of removing the cpu_ld*_data_ra() and cpu_st*_data_ra() calls, inline them. No logical change intended.
We note the page translation hash address is expected to be aligned, so the MO_UNALN flag is misleading. Next commit will remove it. Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- target/ppc/tcg-excp_helper.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/target/ppc/tcg-excp_helper.c b/target/ppc/tcg-excp_helper.c index edecfb85725..6f5d82af636 100644 --- a/target/ppc/tcg-excp_helper.c +++ b/target/ppc/tcg-excp_helper.c @@ -160,14 +160,18 @@ static void do_hash(CPUPPCState *env, target_ulong ea, target_ulong ra, target_ulong rb, uint64_t key, bool store) { uint64_t calculated_hash = hash_digest(ra, rb, key), loaded_hash; + unsigned mmu_idx = cpu_mmu_index(env_cpu(env), false); + MemOp op = MO_TE | MO_UQ | MO_UNALN; + MemOpIdx oi = make_memop_idx(op, mmu_idx); + uintptr_t retaddr = GETPC(); if (store) { - cpu_stq_data_ra(env, ea, calculated_hash, GETPC()); + cpu_stq_mmu(env, ea, calculated_hash, oi, retaddr); } else { - loaded_hash = cpu_ldq_data_ra(env, ea, GETPC()); + loaded_hash = cpu_ldq_mmu(env, ea, oi, retaddr); if (loaded_hash != calculated_hash) { raise_exception_err_ra(env, POWERPC_EXCP_PROGRAM, - POWERPC_EXCP_TRAP, GETPC()); + POWERPC_EXCP_TRAP, retaddr); } } } -- 2.52.0
