mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
tcg: Unify helper_{be,le}_{ld,st}*
With the current structure of cputlb.c, there is no difference between the little-endian and big-endian entry points, aside from the assert. Unify the pairs of functions. Hoist the qemu_{ld,st}_helpers arrays to tcg.c. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
5b36f2684c
commit
0cadc1eda1
14 changed files with 146 additions and 511 deletions
21
tcg/tcg.c
21
tcg/tcg.c
|
@ -197,6 +197,27 @@ static void tcg_out_st_helper_args(TCGContext *s, const TCGLabelQemuLdst *l,
|
|||
const TCGLdstHelperParam *p)
|
||||
__attribute__((unused));
|
||||
|
||||
#ifdef CONFIG_SOFTMMU
|
||||
static void * const qemu_ld_helpers[MO_SSIZE + 1] = {
|
||||
[MO_UB] = helper_ldub_mmu,
|
||||
[MO_SB] = helper_ldsb_mmu,
|
||||
[MO_UW] = helper_lduw_mmu,
|
||||
[MO_SW] = helper_ldsw_mmu,
|
||||
[MO_UL] = helper_ldul_mmu,
|
||||
[MO_UQ] = helper_ldq_mmu,
|
||||
#if TCG_TARGET_REG_BITS == 64
|
||||
[MO_SL] = helper_ldsl_mmu,
|
||||
#endif
|
||||
};
|
||||
|
||||
static void * const qemu_st_helpers[MO_SIZE + 1] = {
|
||||
[MO_8] = helper_stb_mmu,
|
||||
[MO_16] = helper_stw_mmu,
|
||||
[MO_32] = helper_stl_mmu,
|
||||
[MO_64] = helper_stq_mmu,
|
||||
};
|
||||
#endif
|
||||
|
||||
TCGContext tcg_init_ctx;
|
||||
__thread TCGContext *tcg_ctx;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue