mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 18:23:57 -06:00
tcg: Merge memop and mmu_idx parameters to qemu_ld/st
At the tcg opcode level, not at the tcg-op.h generator level. This requires minor changes through all of the tcg backends, but none of the cpu translators. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
1eeace9c23
commit
59227d5d45
15 changed files with 140 additions and 71 deletions
|
@ -1634,14 +1634,16 @@ static inline void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args)
|
|||
OPC_LD1_M1, OPC_LD2_M1, OPC_LD4_M1, OPC_LD8_M1
|
||||
};
|
||||
int addr_reg, data_reg, mem_index;
|
||||
TCGMemOpIdx oi;
|
||||
TCGMemOp opc, s_bits;
|
||||
uint64_t fin1, fin2;
|
||||
tcg_insn_unit *label_ptr;
|
||||
|
||||
data_reg = args[0];
|
||||
addr_reg = args[1];
|
||||
opc = args[2];
|
||||
mem_index = args[3];
|
||||
oi = args[2];
|
||||
opc = get_memop(oi);
|
||||
mem_index = get_mmuidx(oi);
|
||||
s_bits = opc & MO_SIZE;
|
||||
|
||||
/* Read the TLB entry */
|
||||
|
@ -1696,13 +1698,15 @@ static inline void tcg_out_qemu_st(TCGContext *s, const TCGArg *args)
|
|||
TCGReg addr_reg, data_reg;
|
||||
int mem_index;
|
||||
uint64_t pre1, pre2;
|
||||
TCGMemOpIdx oi;
|
||||
TCGMemOp opc, s_bits;
|
||||
tcg_insn_unit *label_ptr;
|
||||
|
||||
data_reg = args[0];
|
||||
addr_reg = args[1];
|
||||
opc = args[2];
|
||||
mem_index = args[3];
|
||||
oi = args[2];
|
||||
opc = get_memop(oi);
|
||||
mem_index = get_mmuidx(oi);
|
||||
s_bits = opc & MO_SIZE;
|
||||
|
||||
/* Note that we always use LE helper functions, so the bswap insns
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue