/openbmc/qemu/target/loongarch/tcg/insn_trans/ |
H A D | trans_fmemory.c.inc | 6 static void maybe_nanbox_load(TCGv freg, MemOp mop) 8 if ((mop & MO_SIZE) == MO_32) { 13 static bool gen_fload_i(DisasContext *ctx, arg_fr_i *a, MemOp mop) 22 tcg_gen_qemu_ld_tl(dest, addr, ctx->mem_idx, mop); 23 maybe_nanbox_load(dest, mop); 29 static bool gen_fstore_i(DisasContext *ctx, arg_fr_i *a, MemOp mop) 38 tcg_gen_qemu_st_tl(src, addr, ctx->mem_idx, mop); 43 static bool gen_floadx(DisasContext *ctx, arg_frr *a, MemOp mop) 53 tcg_gen_qemu_ld_tl(dest, addr, ctx->mem_idx, mop); 54 maybe_nanbox_load(dest, mop); [all …]
|
H A D | trans_memory.c.inc | 6 static bool gen_load(DisasContext *ctx, arg_rr_i *a, MemOp mop) 13 tcg_gen_qemu_ld_tl(dest, addr, ctx->mem_idx, mop); 18 static bool gen_store(DisasContext *ctx, arg_rr_i *a, MemOp mop) 25 tcg_gen_qemu_st_tl(data, addr, ctx->mem_idx, mop); 29 static bool gen_loadx(DisasContext *ctx, arg_rrr *a, MemOp mop) 36 tcg_gen_qemu_ld_tl(dest, addr, ctx->mem_idx, mop); 42 static bool gen_storex(DisasContext *ctx, arg_rrr *a, MemOp mop) 49 tcg_gen_qemu_st_tl(data, addr, ctx->mem_idx, mop); 54 static bool gen_load_gt(DisasContext *ctx, arg_rrr *a, MemOp mop) 62 tcg_gen_qemu_ld_tl(dest, src1, ctx->mem_idx, mop); [all …]
|
H A D | trans_atomic.c.inc | 6 static bool gen_ll(DisasContext *ctx, arg_rr_i *a, MemOp mop) 12 tcg_gen_qemu_ld_i64(t1, t0, ctx->mem_idx, mop); 20 static bool gen_sc(DisasContext *ctx, arg_rr_i *a, MemOp mop) 40 val, ctx->mem_idx, mop); 50 MemOp mop) 66 func(dest, addr, val, ctx->mem_idx, mop);
|
H A D | trans_vec.c.inc | 228 uint32_t oprsz, MemOp mop, 240 func(mop, vd_ofs, vj_ofs, vk_ofs, oprsz, ctx->vl / 8); 244 static bool gvec_vvv(DisasContext *ctx, arg_vvv *a, MemOp mop, 248 return gvec_vvv_vl(ctx, a, 16, mop, func); 251 static bool gvec_xxx(DisasContext *ctx, arg_vvv *a, MemOp mop, 255 return gvec_vvv_vl(ctx, a, 32, mop, func); 259 uint32_t oprsz, MemOp mop, 270 func(mop, vd_ofs, vj_ofs, oprsz, ctx->vl / 8); 275 static bool gvec_vv(DisasContext *ctx, arg_vv *a, MemOp mop, 279 return gvec_vv_vl(ctx, a, 16, mop, fun [all...] |
/openbmc/qemu/accel/tcg/ |
H A D | trace-events | 17 load_atom2_fallback(uint32_t memop, uintptr_t ra) "mop:0x%"PRIx32", ra:0x%"PRIxPTR"" 18 load_atom4_fallback(uint32_t memop, uintptr_t ra) "mop:0x%"PRIx32", ra:0x%"PRIxPTR"" 20 load_atom8_fallback(uint32_t memop, uintptr_t ra) "mop:0x%"PRIx32", ra:0x%"PRIxPTR"" 21 load_atom16_fallback(uint32_t memop, uintptr_t ra) "mop:0x%"PRIx32", ra:0x%"PRIxPTR"" 23 store_atom2_fallback(uint32_t memop, uintptr_t ra) "mop:0x%"PRIx32", ra:0x%"PRIxPTR"" 24 store_atom4_fallback(uint32_t memop, uintptr_t ra) "mop:0x%"PRIx32", ra:0x%"PRIxPTR"" 25 store_atom8_fallback(uint32_t memop, uintptr_t ra) "mop:0x%"PRIx32", ra:0x%"PRIxPTR"" 26 store_atom16_fallback(uint32_t memop, uintptr_t ra) "mop:0x%"PRIx32", ra:0x%"PRIxPTR""
|
H A D | user-exec.c | 955 MemOp mop, uintptr_t ra, MMUAccessType type) in cpu_mmu_lookup() argument 957 int a_bits = memop_alignment_bits(mop); in cpu_mmu_lookup() 990 MemOp mop = get_memop(oi); in do_ld2_mmu() local 993 haddr = cpu_mmu_lookup(cpu, addr, mop, ra, access_type); in do_ld2_mmu() 994 ret = load_atom_2(cpu, ra, haddr, mop); in do_ld2_mmu() 997 if (mop & MO_BSWAP) { in do_ld2_mmu() 1008 MemOp mop = get_memop(oi); in do_ld4_mmu() local 1011 haddr = cpu_mmu_lookup(cpu, addr, mop, ra, access_type); in do_ld4_mmu() 1012 ret = load_atom_4(cpu, ra, haddr, mop); in do_ld4_mmu() 1015 if (mop & MO_BSWAP) { in do_ld4_mmu() [all …]
|
H A D | cputlb.c | 1801 MemOp mop = get_memop(oi); in atomic_mmu_lookup() local 1823 mop, size, false, retaddr); in atomic_mmu_lookup() 1849 if (!did_tlb_fill && (addr & ((1 << memop_alignment_bits(mop)) - 1))) { in atomic_mmu_lookup() 2147 MemOp mop, uintptr_t ra) in do_ld_beN() argument 2161 atom = mop & MO_ATOM_MASK; in do_ld_beN() 2168 tmp = mop & MO_SIZE; in do_ld_beN() 2196 uint64_t a, int mmu_idx, MemOp mop, uintptr_t ra) in do_ld16_beN() argument 2210 atom = mop & MO_ATOM_MASK; in do_ld16_beN() 2555 MemOp mop, uintptr_t ra) in do_st_leN() argument 2571 atom = mop & MO_ATOM_MASK; in do_st_leN() [all …]
|
/openbmc/linux/arch/s390/kvm/ |
H A D | kvm-s390.c | 2846 static int mem_op_validate_common(struct kvm_s390_mem_op *mop, u64 supported_flags) in mem_op_validate_common() argument 2848 if (mop->flags & ~supported_flags || !mop->size) in mem_op_validate_common() 2850 if (mop->size > MEM_OP_MAX_SIZE) in mem_op_validate_common() 2852 if (mop->flags & KVM_S390_MEMOP_F_SKEY_PROTECTION) { in mem_op_validate_common() 2853 if (mop->key > 0xf) in mem_op_validate_common() 2856 mop->key = 0; in mem_op_validate_common() 2861 static int kvm_s390_vm_mem_op_abs(struct kvm *kvm, struct kvm_s390_mem_op *mop) in kvm_s390_vm_mem_op_abs() argument 2863 void __user *uaddr = (void __user *)mop->buf; in kvm_s390_vm_mem_op_abs() 2868 r = mem_op_validate_common(mop, KVM_S390_MEMOP_F_SKEY_PROTECTION | in kvm_s390_vm_mem_op_abs() 2873 if (!(mop->flags & KVM_S390_MEMOP_F_CHECK_ONLY)) { in kvm_s390_vm_mem_op_abs() [all …]
|
/openbmc/qemu/target/arm/tcg/ |
H A D | translate-a64.c | 347 bool is_write, MemOp mop) in check_lse2_align() argument 359 tcg_gen_addi_i32(tmp, tmp, memop_size(mop)); in check_lse2_align() 377 static MemOp check_atomic_align(DisasContext *s, int rn, MemOp mop) in check_atomic_align() argument 379 MemOp size = mop & MO_SIZE; in check_atomic_align() 382 return mop; in check_atomic_align() 395 check_lse2_align(s, rn, 0, true, mop); in check_atomic_align() 397 mop |= MO_ALIGN; in check_atomic_align() 399 return finalize_memop(s, mop); in check_atomic_align() 404 bool is_write, MemOp mop) in check_ordered_align() argument 406 MemOp size = mop in check_ordered_align() 1026 do_fp_st(DisasContext * s,int srcidx,TCGv_i64 tcg_addr,MemOp mop) do_fp_st() argument 1049 do_fp_ld(DisasContext * s,int destidx,TCGv_i64 tcg_addr,MemOp mop) do_fp_ld() argument 1189 do_vec_st(DisasContext * s,int srcidx,int element,TCGv_i64 tcg_addr,MemOp mop) do_vec_st() argument 1199 do_vec_ld(DisasContext * s,int destidx,int element,TCGv_i64 tcg_addr,MemOp mop) do_vec_ld() argument 2432 MemOp mop = MO_64 | MO_ALIGN | MO_ATOM_IFALIGN; handle_sys() local 3091 op_addr_ldstpair_pre(DisasContext * s,arg_ldstpair * a,TCGv_i64 * clean_addr,TCGv_i64 * dirty_addr,uint64_t offset,bool is_store,MemOp mop) op_addr_ldstpair_pre() argument 3121 MemOp mop = finalize_memop(s, a->sz); trans_STP() local 3168 MemOp mop = finalize_memop(s, a->sz); trans_LDP() local 3222 MemOp mop; trans_STP_v() local 3242 MemOp mop; trans_LDP_v() local 3262 MemOp mop; trans_STGP() local 3316 op_addr_ldst_imm_pre(DisasContext * s,arg_ldst_imm * a,TCGv_i64 * clean_addr,TCGv_i64 * dirty_addr,uint64_t offset,bool is_store,MemOp mop) op_addr_ldst_imm_pre() argument 3350 MemOp mop = finalize_memop(s, a->sz + a->sign * MO_SIGN); trans_STR_i() local 3368 MemOp mop = finalize_memop(s, a->sz + a->sign * MO_SIGN); trans_LDR_i() local 3384 MemOp mop; trans_STR_v_i() local 3399 MemOp mop; trans_LDR_v_i() local 3506 MemOp mop = a->sz | sign; do_atomic_ld() local 3560 MemOp mop; TRANS_FEAT() local 3632 MemOp mop = a->sz | (a->sign ? MO_SIGN : 0); trans_LDAPR_i() local 3661 MemOp mop = a->sz; trans_STLR_i() local 3688 MemOp endian, align, mop; trans_LD_mult() local 3779 MemOp endian, align, mop; trans_ST_mult() local 3859 MemOp mop; trans_ST_single() local 3899 MemOp mop; trans_LD_single() local 3939 MemOp mop; trans_LD_single_repl() local 4166 MemOp mop = finalize_memop(s, MO_128 | MO_ALIGN); do_STG() local 9675 MemOp mop = size | (is_signed ? MO_SIGN : 0); handle_simd_intfp_conv() local [all...] |
H A D | translate-neon.c | 39 static void neon_load_element(TCGv_i32 var, int reg, int ele, MemOp mop) in neon_load_element() argument 41 long offset = neon_element_offset(reg, ele, mop & MO_SIZE); in neon_load_element() 43 switch (mop) { in neon_load_element() 58 static void neon_load_element64(TCGv_i64 var, int reg, int ele, MemOp mop) in neon_load_element64() argument 60 long offset = neon_element_offset(reg, ele, mop & MO_SIZE); in neon_load_element64() 62 switch (mop) { in neon_load_element64() 470 MemOp mop, align, endian; in trans_VLDST_multiple() local 542 mop = endian | size | align; in trans_VLDST_multiple() 550 gen_aa32_ld_internal_i64(s, tmp64, addr, mmu_idx, mop); in trans_VLDST_multiple() 554 gen_aa32_st_internal_i64(s, tmp64, addr, mmu_idx, mop); in trans_VLDST_multiple() [all …]
|
H A D | translate.c | 4962 MemOp mop, int mem_idx) in op_load_rr() argument 4970 gen_aa32_ld_i32(s, tmp, addr, mem_idx, mop); in op_load_rr() 4971 disas_set_da_iss(s, mop, issinfo); in op_load_rr() 4983 MemOp mop, int mem_idx) in op_store_rr() argument 4999 gen_aa32_st_i32(s, tmp, addr, mem_idx, mop); in op_store_rr() 5000 disas_set_da_iss(s, mop, issinfo); in op_store_rr() 5166 MemOp mop, int mem_idx) in op_ldrd_ri() 5174 gen_aa32_ld_i32(s, tmp, addr, mem_idx, mop); 5175 disas_set_da_iss(s, mop, issinfo); in trans_LDRD_ri_a32() 5187 MemOp mop, in in trans_LDRD_ri_t32() 5109 op_load_ri(DisasContext * s,arg_ldst_ri * a,MemOp mop,int mem_idx) op_load_ri() argument 5130 op_store_ri(DisasContext * s,arg_ldst_ri * a,MemOp mop,int mem_idx) op_store_ri() argument 5292 op_strex(DisasContext * s,arg_STREX * a,MemOp mop,bool rel) op_strex() argument 5411 op_stl(DisasContext * s,arg_STL * a,MemOp mop) op_stl() argument 5448 op_ldrex(DisasContext * s,arg_LDREX * a,MemOp mop,bool acq) op_ldrex() argument 5565 op_lda(DisasContext * s,arg_LDA * a,MemOp mop) op_lda() argument [all...] |
/openbmc/qemu/tcg/ |
H A D | tcg-op-ldst.c | 469 static bool use_two_i64_for_i128(MemOp mop) in use_two_i64_for_i128() argument 480 switch (mop & MO_ATOM_MASK) { in use_two_i64_for_i128() 600 MemOp mop[2]; in tcg_gen_qemu_ld_i128_int() local 605 canonicalize_memop_i128_as_i64(mop, memop); in tcg_gen_qemu_ld_i128_int() 606 need_bswap = (mop[0] ^ memop) & MO_BSWAP; in tcg_gen_qemu_ld_i128_int() 627 gen_ldst_i64(opc, x, addr, make_memop_idx(mop[0], idx)); in tcg_gen_qemu_ld_i128_int() 643 gen_ldst_i64(opc, y, addr_p8, make_memop_idx(mop[1], idx)); in tcg_gen_qemu_ld_i128_int() 720 MemOp mop[2]; in tcg_gen_qemu_st_i128_int() local 724 canonicalize_memop_i128_as_i64(mop, memop); in tcg_gen_qemu_st_i128_int() 740 if ((mop[0] ^ memop) & MO_BSWAP) { in tcg_gen_qemu_st_i128_int() [all …]
|
/openbmc/qemu/target/xtensa/ |
H A D | translate.c | 513 static MemOp gen_load_store_alignment(DisasContext *dc, MemOp mop, in gen_load_store_alignment() argument 516 if ((mop & MO_SIZE) == MO_8) { in gen_load_store_alignment() 517 return mop; in gen_load_store_alignment() 519 if ((mop & MO_AMASK) == MO_UNALN && in gen_load_store_alignment() 521 mop |= MO_ALIGN; in gen_load_store_alignment() 524 tcg_gen_andi_i32(addr, addr, ~0 << memop_alignment_bits(mop)); in gen_load_store_alignment() 526 return mop; in gen_load_store_alignment() 1624 MemOp mop; in translate_l32e() local 1627 mop = gen_load_store_alignment(dc, MO_TEUL, addr); in translate_l32e() 1628 tcg_gen_qemu_ld_tl(arg[0].out, addr, dc->ring, mop); in translate_l32e() [all …]
|
/openbmc/qemu/target/riscv/insn_trans/ |
H A D | trans_rva.c.inc | 33 static bool gen_lr(DisasContext *ctx, arg_atomic *a, MemOp mop) 42 tcg_gen_qemu_ld_tl(load_val, src1, ctx->mem_idx, mop); 58 static bool gen_sc(DisasContext *ctx, arg_atomic *a, MemOp mop) 75 ctx->mem_idx, mop);
|
H A D | trans_rvzacas.c.inc | 65 static bool gen_cmpxchg64(DisasContext *ctx, arg_atomic *a, MemOp mop) 80 tcg_gen_atomic_cmpxchg_i64(dest, src1, dest, src2, ctx->mem_idx, mop);
|
/openbmc/qemu/target/sparc/ |
H A D | ldst_helper.c | 1148 MemOp mop = get_memop(oi); in helper_ld_code() local 1152 switch (mop & MO_SIZE) { in helper_ld_code() 1155 if (mop & MO_SIGN) { in helper_ld_code() 1161 if ((mop & MO_BSWAP) != MO_TE) { in helper_ld_code() 1164 if (mop & MO_SIGN) { in helper_ld_code() 1170 if ((mop & MO_BSWAP) != MO_TE) { in helper_ld_code() 1173 if (mop & MO_SIGN) { in helper_ld_code() 1179 if ((mop & MO_BSWAP) != MO_TE) { in helper_ld_code()
|
H A D | translate.c | 1774 TCGv_i32 asi, TCGv_i32 mop) in gen_helper_ld_asi() argument 1780 TCGv_i32 asi, TCGv_i32 mop) in gen_helper_st_asi() argument 1872 MemOp mop = MO_128 | MO_ATOM_IFALIGN_PAIR; in gen_st_asi() local 1879 tcg_gen_qemu_ld_i128(tmp, saddr, da->mem_idx, mop); in gen_st_asi() 1880 tcg_gen_qemu_st_i128(tmp, daddr, da->mem_idx, mop); in gen_st_asi() 1883 tcg_gen_qemu_ld_i128(tmp, saddr, da->mem_idx, mop); in gen_st_asi() 1884 tcg_gen_qemu_st_i128(tmp, daddr, da->mem_idx, mop); in gen_st_asi() 2199 MemOp mop = (da->memop & MO_BSWAP) | MO_128 | MO_ALIGN_16; in gen_ldda_asi() local 2202 tcg_gen_qemu_ld_i128(t, addr, da->mem_idx, mop); in gen_ldda_asi() 2208 if ((mop & MO_BSWAP) == MO_TE) { in gen_ldda_asi() [all …]
|
/openbmc/qemu/target/microblaze/ |
H A D | translate.c | 710 static bool do_load(DisasContext *dc, int rd, TCGv addr, MemOp mop, in do_load() argument 713 MemOp size = mop & MO_SIZE; in do_load() 723 mop ^= MO_BSWAP; in do_load() 740 mop |= MO_ALIGN; in do_load() 744 tcg_gen_qemu_ld_i32(reg_for_write(dc, rd), addr, mem_index, mop); in do_load() 860 static bool do_store(DisasContext *dc, int rd, TCGv addr, MemOp mop, in do_store() argument 863 MemOp size = mop & MO_SIZE; in do_store() 873 mop ^= MO_BSWAP; in do_store() 890 mop |= MO_ALIGN; in do_store() 894 tcg_gen_qemu_st_i32(reg_for_read(dc, rd), addr, mem_index, mop); in do_store()
|
/openbmc/qemu/target/riscv/ |
H A D | translate.c | 1090 MemOp mop) in gen_amo() argument 1094 MemOp size = mop & MO_SIZE; in gen_amo() 1097 mop |= MO_ATOM_WITHIN16; in gen_amo() 1099 mop |= MO_ALIGN; in gen_amo() 1104 func(dest, src1, src2, ctx->mem_idx, mop); in gen_amo() 1110 static bool gen_cmpxchg(DisasContext *ctx, arg_atomic *a, MemOp mop) in gen_cmpxchg() argument 1117 tcg_gen_atomic_cmpxchg_tl(dest, src1, dest, src2, ctx->mem_idx, mop); in gen_cmpxchg()
|
/openbmc/qemu/target/loongarch/tcg/ |
H A D | translate.c | 40 static inline int vec_reg_offset(int regno, int index, MemOp mop) in vec_reg_offset() argument 42 const uint8_t size = 1 << mop; in vec_reg_offset()
|
/openbmc/qemu/target/ppc/translate/ |
H A D | fixedpoint-impl.c.inc | 25 bool store, MemOp mop) 36 mop ^= ctx->default_tcg_memop_mask; 38 tcg_gen_qemu_st_tl(cpu_gpr[rt], ea, ctx->mem_idx, mop); 40 tcg_gen_qemu_ld_tl(cpu_gpr[rt], ea, ctx->mem_idx, mop); 49 MemOp mop) 51 return do_ldst(ctx, a->rt, a->ra, tcg_constant_tl(a->si), update, store, mop); 55 bool store, MemOp mop) 61 return do_ldst_D(ctx, &d, update, store, mop); 65 bool store, MemOp mop) 67 return do_ldst(ctx, a->rt, a->ra, cpu_gpr[a->rb], update, store, mop);
|
H A D | vsx-impl.c.inc | 1446 #define GEN_VSX_HELPER_VSX_MADD(name, op1, aop, mop, inval, type) \ 2183 MemOp mop; 2188 mop = DEF_MEMOP(MO_128 | MO_ATOM_IFALIGN_PAIR); 2203 tcg_gen_qemu_st_i128(data, ea, ctx->mem_idx, mop); 2207 tcg_gen_qemu_st_i128(data, ea, ctx->mem_idx, mop); 2210 tcg_gen_qemu_ld_i128(data, ea, ctx->mem_idx, mop); 2214 tcg_gen_qemu_ld_i128(data, ea, ctx->mem_idx, mop); 2260 MemOp mop; 2269 mop = DEF_MEMOP(MO_UQ); 2276 tcg_gen_qemu_st_i64(xt, ea, ctx->mem_idx, mop); [all...] |
/openbmc/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | abilis,tb10x-iomux.txt | 30 - Parallel TS output port: mop
|
/openbmc/qemu/target/hppa/ |
H A D | translate.c | 1594 unsigned sp, int modify, MemOp mop) in do_load_32() argument 1604 tcg_gen_qemu_ld_i32(dest, addr, ctx->mmu_idx, mop | UNALIGN(ctx)); in do_load_32() 1612 unsigned sp, int modify, MemOp mop) in do_load_64() argument 1622 tcg_gen_qemu_ld_i64(dest, addr, ctx->mmu_idx, mop | UNALIGN(ctx)); in do_load_64() 1630 unsigned sp, int modify, MemOp mop) in do_store_32() argument 1640 tcg_gen_qemu_st_i32(src, addr, ctx->mmu_idx, mop | UNALIGN(ctx)); in do_store_32() 1648 unsigned sp, int modify, MemOp mop) in do_store_64() argument 1658 tcg_gen_qemu_st_i64(src, addr, ctx->mmu_idx, mop | UNALIGN(ctx)); in do_store_64() 1666 unsigned sp, int modify, MemOp mop) in do_load() argument 1679 do_load_64(ctx, dest, rb, rx, scale, disp, sp, modify, mop); in do_load() [all …]
|
/openbmc/qemu/target/i386/tcg/ |
H A D | translate.c | 2279 MemOp mop = MO_128 | MO_LE | atom | (align ? MO_ALIGN_16 : 0); in gen_ldo_env_A0() local 2283 tcg_gen_qemu_ld_i128(t, s->A0, mem_index, mop); in gen_ldo_env_A0() 2291 MemOp mop = MO_128 | MO_LE | atom | (align ? MO_ALIGN_16 : 0); in gen_sto_env_A0() local 2296 tcg_gen_qemu_st_i128(t, s->A0, mem_index, mop); in gen_sto_env_A0() 2301 MemOp mop = MO_128 | MO_LE | MO_ATOM_IFALIGN_PAIR; in gen_ldy_env_A0() local 2306 tcg_gen_qemu_ld_i128(t0, s->A0, mem_index, mop | (align ? MO_ALIGN_32 : 0)); in gen_ldy_env_A0() 2308 tcg_gen_qemu_ld_i128(t1, s->tmp0, mem_index, mop); in gen_ldy_env_A0() 2316 MemOp mop = MO_128 | MO_LE | MO_ATOM_IFALIGN_PAIR; in gen_sty_env_A0() local 2321 tcg_gen_qemu_st_i128(t, s->A0, mem_index, mop | (align ? MO_ALIGN_32 : 0)); in gen_sty_env_A0() 2324 tcg_gen_qemu_st_i128(t, s->tmp0, mem_index, mop); in gen_sty_env_A0()
|