mirror of https://github.com/xemu-project/xemu.git
include/exec/memop: Rename get_alignment_bits
Rename to use "memop_" prefix, like other functions that operate on MemOp. Reviewed-by: Helge Deller <deller@gmx.de> 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
da335fe12a
commit
c5809eee45
|
@ -1709,7 +1709,7 @@ static bool mmu_lookup(CPUState *cpu, vaddr addr, MemOpIdx oi,
|
|||
tcg_debug_assert(l->mmu_idx < NB_MMU_MODES);
|
||||
|
||||
/* Handle CPU specific unaligned behaviour */
|
||||
a_bits = get_alignment_bits(l->memop);
|
||||
a_bits = memop_alignment_bits(l->memop);
|
||||
if (addr & ((1 << a_bits) - 1)) {
|
||||
cpu_unaligned_access(cpu, addr, type, l->mmu_idx, ra);
|
||||
}
|
||||
|
@ -1797,7 +1797,7 @@ static void *atomic_mmu_lookup(CPUState *cpu, vaddr addr, MemOpIdx oi,
|
|||
{
|
||||
uintptr_t mmu_idx = get_mmuidx(oi);
|
||||
MemOp mop = get_memop(oi);
|
||||
int a_bits = get_alignment_bits(mop);
|
||||
int a_bits = memop_alignment_bits(mop);
|
||||
uintptr_t index;
|
||||
CPUTLBEntry *tlbe;
|
||||
vaddr tlb_addr;
|
||||
|
|
|
@ -954,7 +954,7 @@ void page_reset_target_data(target_ulong start, target_ulong last) { }
|
|||
static void *cpu_mmu_lookup(CPUState *cpu, vaddr addr,
|
||||
MemOp mop, uintptr_t ra, MMUAccessType type)
|
||||
{
|
||||
int a_bits = get_alignment_bits(mop);
|
||||
int a_bits = memop_alignment_bits(mop);
|
||||
void *ret;
|
||||
|
||||
/* Enforce guest required alignment. */
|
||||
|
@ -1236,7 +1236,7 @@ static void *atomic_mmu_lookup(CPUState *cpu, vaddr addr, MemOpIdx oi,
|
|||
int size, uintptr_t retaddr)
|
||||
{
|
||||
MemOp mop = get_memop(oi);
|
||||
int a_bits = get_alignment_bits(mop);
|
||||
int a_bits = memop_alignment_bits(mop);
|
||||
void *ret;
|
||||
|
||||
/* Enforce guest required alignment. */
|
||||
|
|
|
@ -171,12 +171,12 @@ static inline bool memop_big_endian(MemOp op)
|
|||
}
|
||||
|
||||
/**
|
||||
* get_alignment_bits
|
||||
* memop_alignment_bits:
|
||||
* @memop: MemOp value
|
||||
*
|
||||
* Extract the alignment size from the memop.
|
||||
*/
|
||||
static inline unsigned get_alignment_bits(MemOp memop)
|
||||
static inline unsigned memop_alignment_bits(MemOp memop)
|
||||
{
|
||||
unsigned a = memop & MO_AMASK;
|
||||
|
||||
|
|
|
@ -294,7 +294,7 @@ static TCGv_i64 gen_mte_check1_mmuidx(DisasContext *s, TCGv_i64 addr,
|
|||
desc = FIELD_DP32(desc, MTEDESC, TBI, s->tbid);
|
||||
desc = FIELD_DP32(desc, MTEDESC, TCMA, s->tcma);
|
||||
desc = FIELD_DP32(desc, MTEDESC, WRITE, is_write);
|
||||
desc = FIELD_DP32(desc, MTEDESC, ALIGN, get_alignment_bits(memop));
|
||||
desc = FIELD_DP32(desc, MTEDESC, ALIGN, memop_alignment_bits(memop));
|
||||
desc = FIELD_DP32(desc, MTEDESC, SIZEM1, memop_size(memop) - 1);
|
||||
|
||||
ret = tcg_temp_new_i64();
|
||||
|
@ -326,7 +326,7 @@ TCGv_i64 gen_mte_checkN(DisasContext *s, TCGv_i64 addr, bool is_write,
|
|||
desc = FIELD_DP32(desc, MTEDESC, TBI, s->tbid);
|
||||
desc = FIELD_DP32(desc, MTEDESC, TCMA, s->tcma);
|
||||
desc = FIELD_DP32(desc, MTEDESC, WRITE, is_write);
|
||||
desc = FIELD_DP32(desc, MTEDESC, ALIGN, get_alignment_bits(single_mop));
|
||||
desc = FIELD_DP32(desc, MTEDESC, ALIGN, memop_alignment_bits(single_mop));
|
||||
desc = FIELD_DP32(desc, MTEDESC, SIZEM1, total_size - 1);
|
||||
|
||||
ret = tcg_temp_new_i64();
|
||||
|
|
|
@ -521,7 +521,7 @@ static MemOp gen_load_store_alignment(DisasContext *dc, MemOp mop,
|
|||
mop |= MO_ALIGN;
|
||||
}
|
||||
if (!option_enabled(dc, XTENSA_OPTION_UNALIGNED_EXCEPTION)) {
|
||||
tcg_gen_andi_i32(addr, addr, ~0 << get_alignment_bits(mop));
|
||||
tcg_gen_andi_i32(addr, addr, ~0 << memop_alignment_bits(mop));
|
||||
}
|
||||
return mop;
|
||||
}
|
||||
|
|
|
@ -1587,7 +1587,7 @@ static void tcg_out_qemu_ld_direct(TCGContext *s, MemOp opc, TCGReg datalo,
|
|||
tcg_debug_assert((datalo & 1) == 0);
|
||||
tcg_debug_assert(datahi == datalo + 1);
|
||||
/* LDRD requires alignment; double-check that. */
|
||||
if (get_alignment_bits(opc) >= MO_64) {
|
||||
if (memop_alignment_bits(opc) >= MO_64) {
|
||||
if (h.index < 0) {
|
||||
tcg_out_ldrd_8(s, h.cond, datalo, h.base, 0);
|
||||
break;
|
||||
|
@ -1691,7 +1691,7 @@ static void tcg_out_qemu_st_direct(TCGContext *s, MemOp opc, TCGReg datalo,
|
|||
tcg_debug_assert((datalo & 1) == 0);
|
||||
tcg_debug_assert(datahi == datalo + 1);
|
||||
/* STRD requires alignment; double-check that. */
|
||||
if (get_alignment_bits(opc) >= MO_64) {
|
||||
if (memop_alignment_bits(opc) >= MO_64) {
|
||||
if (h.index < 0) {
|
||||
tcg_out_strd_8(s, h.cond, datalo, h.base, 0);
|
||||
} else {
|
||||
|
|
|
@ -1133,7 +1133,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h,
|
|||
* Otherwise, test for at least natural alignment and defer
|
||||
* everything else to the helper functions.
|
||||
*/
|
||||
if (s_bits != get_alignment_bits(opc)) {
|
||||
if (s_bits != memop_alignment_bits(opc)) {
|
||||
tcg_debug_assert(check_fit_tl(a_mask, 13));
|
||||
tcg_out_arithi(s, TCG_REG_G0, addr_reg, a_mask, ARITH_ANDCC);
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ static void check_max_alignment(unsigned a_bits)
|
|||
|
||||
static MemOp tcg_canonicalize_memop(MemOp op, bool is64, bool st)
|
||||
{
|
||||
unsigned a_bits = get_alignment_bits(op);
|
||||
unsigned a_bits = memop_alignment_bits(op);
|
||||
|
||||
check_max_alignment(a_bits);
|
||||
|
||||
|
@ -559,7 +559,7 @@ static void tcg_gen_qemu_ld_i128_int(TCGv_i128 val, TCGTemp *addr,
|
|||
TCGv_i64 ext_addr = NULL;
|
||||
TCGOpcode opc;
|
||||
|
||||
check_max_alignment(get_alignment_bits(memop));
|
||||
check_max_alignment(memop_alignment_bits(memop));
|
||||
tcg_gen_req_mo(TCG_MO_LD_LD | TCG_MO_ST_LD);
|
||||
|
||||
/* In serial mode, reduce atomicity. */
|
||||
|
@ -676,7 +676,7 @@ static void tcg_gen_qemu_st_i128_int(TCGv_i128 val, TCGTemp *addr,
|
|||
TCGv_i64 ext_addr = NULL;
|
||||
TCGOpcode opc;
|
||||
|
||||
check_max_alignment(get_alignment_bits(memop));
|
||||
check_max_alignment(memop_alignment_bits(memop));
|
||||
tcg_gen_req_mo(TCG_MO_ST_LD | TCG_MO_ST_ST);
|
||||
|
||||
/* In serial mode, reduce atomicity. */
|
||||
|
|
|
@ -5506,7 +5506,7 @@ static void tcg_reg_alloc_call(TCGContext *s, TCGOp *op)
|
|||
static TCGAtomAlign atom_and_align_for_opc(TCGContext *s, MemOp opc,
|
||||
MemOp host_atom, bool allow_two_ops)
|
||||
{
|
||||
MemOp align = get_alignment_bits(opc);
|
||||
MemOp align = memop_alignment_bits(opc);
|
||||
MemOp size = opc & MO_SIZE;
|
||||
MemOp half = size ? size - 1 : 0;
|
||||
MemOp atom = opc & MO_ATOM_MASK;
|
||||
|
|
Loading…
Reference in New Issue