/openbmc/qemu/tcg/ |
H A D | tcg-op-ldst.c | 187 orig_memop = memop = tcg_canonicalize_memop(memop, 0, 0); in tcg_gen_qemu_ld_i32_int() 240 memop = tcg_canonicalize_memop(memop, 0, 1); in tcg_gen_qemu_st_i32_int() 308 orig_memop = memop = tcg_canonicalize_memop(memop, 1, 0); in tcg_gen_qemu_ld_i64_int() 314 if ((memop & MO_SIGN) && (memop & MO_SIZE) < MO_64) { in tcg_gen_qemu_ld_i64_int() 370 memop = tcg_canonicalize_memop(memop, 1, 1); in tcg_gen_qemu_st_i64_int() 870 memop = tcg_canonicalize_memop(memop, 0, 0); in tcg_gen_atomic_cmpxchg_i32_int() 951 memop = tcg_canonicalize_memop(memop, 1, 0); in tcg_gen_atomic_cmpxchg_i64_int() 1111 memop = tcg_canonicalize_memop(memop, 0, 0); in do_nonatomic_op_i32() 1130 memop = tcg_canonicalize_memop(memop, 0, 0); in do_atomic_op_i32() 1152 memop = tcg_canonicalize_memop(memop, 1, 0); in do_nonatomic_op_i64() [all …]
|
H A D | tcg-internal.h | 84 bool tcg_target_has_memory_bswap(MemOp memop);
|
/openbmc/qemu/accel/tcg/ |
H A D | ldst_atomicity.c.inc | 31 MemOp atom = memop & MO_ATOM_MASK; 32 MemOp size = memop & MO_SIZE; 393 * @memop: the full memory op 413 atmax = required_atomicity(cpu, pi, memop); 435 * @memop: the full memory op 480 * @memop: the full memory op 531 * @memop: the full memory op 856 * @memop: the full memory op 907 * @memop: the full memory op 974 * @memop: the full memory op [all …]
|
H A D | cputlb.c | 1681 MemOp memop; member 1785 l->memop = get_memop(oi); in mmu_lookup() 1810 l->memop ^= MO_BSWAP; in mmu_lookup() 2323 if (memop & MO_BSWAP) { in do_ld_2() 2343 if (memop & MO_BSWAP) { in do_ld_4() 2363 if (memop & MO_BSWAP) { in do_ld_8() 2471 if (l.memop & MO_BSWAP) { in do_ld16_mmu() 2744 if (memop & MO_BSWAP) { in do_st_2() 2763 if (memop & MO_BSWAP) { in do_st_4() 2782 if (memop & MO_BSWAP) { in do_st_8() [all …]
|
/openbmc/qemu/target/arm/tcg/ |
H A D | translate-a32.h | 36 void read_neon_element32(TCGv_i32 dest, int reg, int ele, MemOp memop); 37 void read_neon_element64(TCGv_i64 dest, int reg, int ele, MemOp memop); 38 void write_neon_element32(TCGv_i32 src, int reg, int ele, MemOp memop); 39 void write_neon_element64(TCGv_i64 src, int reg, int ele, MemOp memop); 47 long neon_element_offset(int reg, int element, MemOp memop);
|
H A D | translate-a64.c | 2483 MemOp memop; in gen_store_exclusive() local 2520 memop = finalize_memop(s, memop); in gen_store_exclusive() 2588 MemOp memop; in gen_compare_and_swap() local 2608 MemOp memop; in gen_compare_and_swap_pair() local 2708 MemOp memop; in trans_STLR() local 2734 MemOp memop; in trans_LDAR() local 2817 MemOp memop; in trans_LD_lit_v() local 3173 MemOp memop; in trans_LDR() local 3191 MemOp memop; in trans_STR() local 3207 MemOp memop; in trans_LDR_v() local [all …]
|
H A D | translate-a64.h | 54 bool tag_checked, MemOp memop); 56 bool tag_checked, int total_size, MemOp memop);
|
H A D | translate.c | 196 int sas = memop & MO_SIZE; in disas_set_da_iss() 197 bool sse = memop & MO_SIGN; in disas_set_da_iss() 1165 int element_size = 1 << (memop & MO_SIZE); in neon_element_offset() 1191 long off = neon_element_offset(reg, ele, memop); in read_neon_element32() 1193 switch (memop) { in read_neon_element32() 1217 long off = neon_element_offset(reg, ele, memop); in read_neon_element64() 1219 switch (memop) { in read_neon_element64() 1236 long off = neon_element_offset(reg, ele, memop); in write_neon_element32() 1238 switch (memop) { in write_neon_element32() 1255 long off = neon_element_offset(reg, ele, memop); in write_neon_element64() [all …]
|
/openbmc/qemu/target/riscv/insn_trans/ |
H A D | trans_xthead.c.inc | 352 tcg_gen_qemu_ld_i64(rd, addr, ctx->mem_idx, memop); 353 if ((memop & MO_SIZE) == MO_32) { 372 tcg_gen_qemu_st_i64(rd, addr, ctx->mem_idx, memop); 571 tcg_gen_qemu_ld_tl(rd, addr, ctx->mem_idx, memop); 591 tcg_gen_qemu_st_tl(data, addr, ctx->mem_idx, memop); 736 * Load with memop from indexed address. 746 tcg_gen_qemu_ld_tl(rd, addr, ctx->mem_idx, memop); 753 * Store with memop to indexed address. 763 tcg_gen_qemu_st_tl(data, addr, ctx->mem_idx, memop); 923 tcg_gen_qemu_ld_tl(t1, addr1, ctx->mem_idx, memop); [all …]
|
H A D | trans_rvzce.c.inc | 178 MemOp memop = get_ol(ctx) == MXL_RV32 ? MO_TEUL : MO_TEUQ; 179 int reg_size = memop_size(memop); 191 tcg_gen_qemu_ld_tl(dest, addr, ctx->mem_idx, memop); 223 MemOp memop = get_ol(ctx) == MXL_RV32 ? MO_TEUL : MO_TEUQ; 224 int reg_size = memop_size(memop); 236 tcg_gen_qemu_st_tl(val, addr, ctx->mem_idx, memop);
|
H A D | trans_rvi.c.inc | 234 tcg_gen_qemu_ld_tl(dest, addr, ctx->mem_idx, memop); 249 if ((memop & MO_SIZE) <= MO_64) { 250 tcg_gen_qemu_ld_tl(destl, addrl, ctx->mem_idx, memop); 251 if (memop & MO_SIGN) { 271 return gen_load_i128(ctx, a, memop); 273 return gen_load_tl(ctx, a, memop); 331 tcg_gen_qemu_st_tl(data, addr, ctx->mem_idx, memop); 344 if ((memop & MO_SIZE) <= MO_64) { 345 tcg_gen_qemu_st_tl(src2l, addrl, ctx->mem_idx, memop); 359 return gen_store_i128(ctx, a, memop); [all …]
|
/openbmc/linux/drivers/net/ethernet/broadcom/bnx2x/ |
H A D | bnx2x_init_ops.h | 619 struct ilt_line *line, u32 size, u8 memop) in bnx2x_ilt_line_mem_op() argument 621 if (memop == ILT_MEMOP_FREE) { in bnx2x_ilt_line_mem_op() 634 u8 memop) in bnx2x_ilt_client_mem_op() argument 650 ilt_cli->page_size, memop); in bnx2x_ilt_client_mem_op() 655 static int bnx2x_ilt_mem_op_cnic(struct bnx2x *bp, u8 memop) in bnx2x_ilt_mem_op_cnic() argument 660 rc = bnx2x_ilt_client_mem_op(bp, ILT_CLIENT_SRC, memop); in bnx2x_ilt_mem_op_cnic() 662 rc = bnx2x_ilt_client_mem_op(bp, ILT_CLIENT_TM, memop); in bnx2x_ilt_mem_op_cnic() 667 static int bnx2x_ilt_mem_op(struct bnx2x *bp, u8 memop) in bnx2x_ilt_mem_op() argument 669 int rc = bnx2x_ilt_client_mem_op(bp, ILT_CLIENT_CDU, memop); in bnx2x_ilt_mem_op() 671 rc = bnx2x_ilt_client_mem_op(bp, ILT_CLIENT_QM, memop); in bnx2x_ilt_mem_op() [all …]
|
/openbmc/qemu/target/sparc/ |
H A D | ldst_helper.c | 586 int size = 1 << (memop & MO_SIZE); in helper_ld_asi() 587 int sign = memop & MO_SIGN; in helper_ld_asi() 823 int asi, uint32_t memop) in helper_st_asi() argument 825 int size = 1 << (memop & MO_SIZE); in helper_st_asi() 1176 int size = 1 << (memop & MO_SIZE); in helper_ld_asi() 1177 int sign = memop & MO_SIGN; in helper_ld_asi() 1263 int asi, uint32_t memop) in helper_st_asi() argument 1265 int size = 1 << (memop & MO_SIZE); in helper_st_asi() 1296 int size = 1 << (memop & MO_SIZE); in helper_ld_asi() 1297 int sign = memop & MO_SIGN; in helper_ld_asi() [all …]
|
H A D | translate.c | 1434 MemOp memop; member 1639 memop = MO_UB; in resolve_asi() 1646 memop = MO_TEUW; in resolve_asi() 1652 memop ^= MO_BSWAP; in resolve_asi() 1850 MemOp memop = da->memop; in gen_ldf_asi() local 1851 MemOp size = memop & MO_SIZE; in gen_ldf_asi() 1858 memop = (memop & ~MO_SIZE) | MO_64; in gen_ldf_asi() 1866 memop |= MO_ALIGN_4; in gen_ldf_asi() 1962 MemOp memop = da->memop; in gen_stf_asi() local 1969 memop = (memop & ~MO_SIZE) | MO_64; in gen_stf_asi() [all …]
|
/openbmc/qemu/target/ppc/ |
H A D | translate.c | 3588 #define LARX(name, memop) \ argument 3591 gen_load_locked(ctx, memop); \ 3606 tcg_gen_qemu_ld_tl(t, EA, ctx->mem_idx, memop); in LARX() 3607 tcg_gen_addi_tl(t2, EA, MEMOP_GET_SIZE(memop)); in LARX() 3608 tcg_gen_qemu_ld_tl(t2, t2, ctx->mem_idx, memop); in LARX() 3614 tcg_gen_qemu_st_tl(u, EA, ctx->mem_idx, memop); in LARX() 3621 static void gen_ld_atomic(DisasContext *ctx, MemOp memop) in gen_ld_atomic() argument 3634 memop |= MO_ALIGN; in gen_ld_atomic() 3740 memop |= MO_ALIGN; in gen_st_atomic() 3836 #define STCX(name, memop) \ argument [all …]
|
/openbmc/qemu/include/tcg/ |
H A D | tcg.h | 291 static inline unsigned get_alignment_bits(MemOp memop) in get_alignment_bits() argument 293 unsigned a = memop & MO_AMASK; in get_alignment_bits() 300 a = memop & MO_SIZE; in get_alignment_bits()
|
/openbmc/linux/arch/x86/kvm/ |
H A D | emulate.c | 1306 ctxt->memop.addr.mem.ea = (u32)ctxt->memop.addr.mem.ea; in decode_modrm() 4609 *op = ctxt->memop; in decode_operand() 4678 ctxt->memop.bytes = 1; in decode_operand() 4679 if (ctxt->memop.type == OP_REG) { in decode_operand() 4682 fetch_register_operand(&ctxt->memop); in decode_operand() 4686 ctxt->memop.bytes = 2; in decode_operand() 4689 ctxt->memop.bytes = 4; in decode_operand() 4723 ctxt->memop.bytes = ctxt->op_bytes + 2; in decode_operand() 4771 ctxt->memop.type = OP_NONE; in x86_decode_insn() 5015 rc = decode_modrm(ctxt, &ctxt->memop); in x86_decode_insn() [all …]
|
H A D | kvm_emulate.h | 359 struct operand memop; member
|
/openbmc/qemu/target/s390x/tcg/ |
H A D | translate_vx.c.inc | 66 MemOp memop) 68 const int offs = vec_reg_offset(reg, enr, memop & MO_SIZE); 70 switch ((unsigned)memop) { 99 MemOp memop) 101 const int offs = vec_reg_offset(reg, enr, memop & MO_SIZE); 103 switch (memop) { 126 MemOp memop) 128 const int offs = vec_reg_offset(reg, enr, memop & MO_SIZE); 130 switch (memop) { 149 MemOp memop) [all …]
|
/openbmc/linux/tools/testing/selftests/kvm/ |
H A D | Makefile | 167 TEST_GEN_PROGS_s390x = s390x/memop
|
/openbmc/qemu/target/hexagon/ |
H A D | attribs_def.h.inc | 97 DEF_ATTRIB(MEMOP, "memop", "", "")
|
/openbmc/qemu/tcg/i386/ |
H A D | tcg-target.c.inc | 1822 bool tcg_target_has_memory_bswap(MemOp memop) 1829 if ((memop & MO_SIZE) < MO_128) { 1834 * Reject 16-byte memop with 16-byte atomicity, i.e. VMOVDQA, 1837 aa = atom_and_align_for_opc(tcg_ctx, memop, MO_ATOM_IFALIGN, true); 2092 HostAddress h, TCGType type, MemOp memop) 2099 if (memop & MO_BSWAP) { 2105 switch (memop & MO_SSIZE) { 2271 HostAddress h, MemOp memop) 2280 if (memop & MO_BSWAP) { 2286 switch (memop & MO_SIZE) {
|
/openbmc/qemu/tcg/aarch64/ |
H A D | tcg-target.c.inc | 1602 bool tcg_target_has_memory_bswap(MemOp memop) 1761 static void tcg_out_qemu_ld_direct(TCGContext *s, MemOp memop, TCGType ext, 1764 switch (memop & MO_SSIZE) { 1793 static void tcg_out_qemu_st_direct(TCGContext *s, MemOp memop, 1796 switch (memop & MO_SIZE) {
|
/openbmc/qemu/tcg/tci/ |
H A D | tcg-target.c.inc | 963 bool tcg_target_has_memory_bswap(MemOp memop)
|
/openbmc/qemu/tcg/s390x/ |
H A D | tcg-target.c.inc | 1589 bool tcg_target_has_memory_bswap(MemOp memop) 1593 if ((memop & MO_SIZE) <= MO_64) { 1598 * Reject 16-byte memop with 16-byte atomicity, 1601 aa = atom_and_align_for_opc(tcg_ctx, memop, MO_ATOM_IFALIGN, true);
|