Skip to content

Commit

Permalink
cputlb: Do unaligned store recursion to outermost function
Browse files Browse the repository at this point in the history
This is less tricky than for loads, because we always fall
back to single byte stores to implement unaligned stores.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  • Loading branch information
rth7680 authored and stsquad committed May 10, 2019
1 parent 2dd9260 commit 4601f8d
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions accel/tcg/cputlb.c
Expand Up @@ -1413,9 +1413,9 @@ tcg_target_ulong helper_be_ldsl_mmu(CPUArchState *env, target_ulong addr,
* Store Helpers
*/

static void store_helper(CPUArchState *env, target_ulong addr, uint64_t val,
TCGMemOpIdx oi, uintptr_t retaddr, size_t size,
bool big_endian)
static inline void __attribute__((always_inline))
store_helper(CPUArchState *env, target_ulong addr, uint64_t val,
TCGMemOpIdx oi, uintptr_t retaddr, size_t size, bool big_endian)
{
uintptr_t mmu_idx = get_mmuidx(oi);
uintptr_t index = tlb_index(env, mmu_idx, addr);
Expand Down Expand Up @@ -1514,7 +1514,7 @@ static void store_helper(CPUArchState *env, target_ulong addr, uint64_t val,
/* Little-endian extract. */
val8 = val >> (i * 8);
}
store_helper(env, addr + i, val8, oi, retaddr, 1, big_endian);
helper_ret_stb_mmu(env, addr + i, val8, oi, retaddr);
}
return;
}
Expand Down

0 comments on commit 4601f8d

Please sign in to comment.