/linux-master/arch/arm64/include/asm/ |
H A D | insn-def.h | 6 #include <asm/brk-imm.h>
|
/linux-master/arch/arm/net/ |
H A D | bpf_jit_32.h | 167 #define _AL3_I(op, rd, rn, imm) ((op ## _I) | (rd) << 12 | (rn) << 16 | (imm)) 173 #define ARM_ADD_I(rd, rn, imm) _AL3_I(ARM_INST_ADD, rd, rn, imm) 174 #define ARM_ADDS_I(rd, rn, imm) _AL3_I(ARM_INST_ADDS, rd, rn, imm) 176 #define ARM_ADC_I(rd, rn, imm) _AL3_I(ARM_INST_ADC, rd, rn, imm) 180 #define ARM_AND_I(rd, rn, imm) _AL3_I(ARM_INST_AND, rd, rn, imm) [all...] |
/linux-master/arch/loongarch/kernel/ |
H A D | inst.c | 17 unsigned int imm = insn.reg1i20_format.immediate; local 26 regs->regs[rd] = pc + sign_extend64(imm << 2, 21); 29 regs->regs[rd] = pc + sign_extend64(imm << 12, 31); 32 regs->regs[rd] = pc + sign_extend64(imm << 18, 37); 35 regs->regs[rd] = pc + sign_extend64(imm << 12, 31); 48 unsigned int imm, imm_l, imm_h, rd, rj; local 86 imm = insn.reg2i16_format.immediate; 92 regs->csr_era = pc + sign_extend64(imm << 2, 17); 98 regs->csr_era = pc + sign_extend64(imm << 2, 17); 104 regs->csr_era = pc + sign_extend64(imm << 256 larch_insn_gen_break(int imm) argument 284 larch_insn_gen_lu12iw(enum loongarch_gpr rd, int imm) argument 298 larch_insn_gen_lu32id(enum loongarch_gpr rd, int imm) argument 312 larch_insn_gen_lu52id(enum loongarch_gpr rd, enum loongarch_gpr rj, int imm) argument 326 larch_insn_gen_jirl(enum loongarch_gpr rd, enum loongarch_gpr rj, int imm) argument [all...] |
/linux-master/arch/powerpc/net/ |
H A D | bpf_jit_comp32.c | 306 s32 imm = insn[i].imm; local 316 insn[i - 1].dst_reg == insn[i].dst_reg && insn[i - 1].imm != 1) { 367 case BPF_ALU | BPF_SUB | BPF_K: /* (u32) dst -= (u32) imm */ 368 imm = -imm; 370 case BPF_ALU | BPF_ADD | BPF_K: /* (u32) dst += (u32) imm */ 371 if (!imm) { 373 } else if (IMM_HA(imm) & 0xffff) { 374 EMIT(PPC_RAW_ADDIS(dst_reg, src2_reg, IMM_HA(imm))); [all...] |
H A D | bpf_jit_comp64.c | 427 s32 imm = insn[i].imm; local 469 case BPF_ALU | BPF_ADD | BPF_K: /* (u32) dst += (u32) imm */ 470 case BPF_ALU64 | BPF_ADD | BPF_K: /* dst += imm */ 471 if (!imm) { 473 } else if (imm >= -32768 && imm < 32768) { 474 EMIT(PPC_RAW_ADDI(dst_reg, dst_reg, IMM_L(imm))); 476 PPC_LI32(tmp1_reg, imm); 480 case BPF_ALU | BPF_SUB | BPF_K: /* (u32) dst -= (u32) imm */ [all...] |
/linux-master/arch/arm/probes/kprobes/ |
H A D | checkers-common.c | 34 int imm = insn & 0xff; local 35 asi->stack_space = imm; 47 int imm = insn & 0xff; local 48 asi->stack_space = imm << 2; 56 int imm = ((insn & 0xf00) >> 4) + (insn & 0xf); local 57 asi->stack_space = imm; 66 int imm = insn & 0xfff; local 67 asi->stack_space = imm;
|
/linux-master/tools/include/linux/ |
H A D | filter.h | 40 .imm = 0 }) 48 .imm = 0 }) 58 .imm = IMM }) 66 .imm = IMM }) 76 .imm = LEN }) 86 .imm = 0 }) 94 .imm = 0 }) 104 .imm = IMM }) 112 .imm = IMM }) 122 .imm [all...] |
/linux-master/samples/bpf/ |
H A D | bpf_insn.h | 16 .imm = 0 }) 24 .imm = 0 }) 34 .imm = IMM }) 42 .imm = IMM }) 52 .imm = 0 }) 60 .imm = 0 }) 70 .imm = IMM }) 78 .imm = IMM }) 90 .imm = (__u32) (IMM) }), \ 96 .imm [all...] |
/linux-master/kernel/bpf/ |
H A D | disasm.c | 23 insn->imm >= 0 && insn->imm < __BPF_FUNC_MAX_ID && 24 func_id_str[insn->imm]) 25 return func_id_str[insn->imm]; 36 snprintf(buff, len, "%+d", insn->imm); 145 insn->imm, insn->dst_reg); 154 insn->imm, insn->dst_reg); 207 insn->src_reg, ((u32)insn->imm) >> 16, (u16)insn->imm); 226 insn->imm); 312 u64 imm = ((u64)(insn + 1)->imm << 32) | (u32)insn->imm; local [all...] |
/linux-master/tools/testing/selftests/bpf/ |
H A D | disasm.c | 23 insn->imm >= 0 && insn->imm < __BPF_FUNC_MAX_ID && 24 func_id_str[insn->imm]) 25 return func_id_str[insn->imm]; 36 snprintf(buff, len, "%+d", insn->imm); 145 insn->imm, insn->dst_reg); 154 insn->imm, insn->dst_reg); 207 insn->src_reg, ((u32)insn->imm) >> 16, (u16)insn->imm); 226 insn->imm); 312 u64 imm = ((u64)(insn + 1)->imm << 32) | (u32)insn->imm; local [all...] |
/linux-master/tools/objtool/arch/powerpc/ |
H A D | decode.c | 48 unsigned long imm; local 54 imm = 0; 61 imm = ins & 0x3fffffc; 62 if (imm & 0x2000000) 63 imm -= 0x4000000; 73 insn->immediate = imm;
|
/linux-master/arch/arc/net/ |
H A D | bpf_jit.h | 45 u8 mov_r32_i32(u8 *buf, u8 reg, s32 imm); 47 u8 mov_r64_i32(u8 *buf, u8 reg, s32 imm); 52 u8 store_i(u8 *buf, s32 imm, u8 rd, s16 off, u8 size); 55 u8 add_r32_i32(u8 *buf, u8 rd, s32 imm); 57 u8 add_r64_i32(u8 *buf, u8 rd, s32 imm); 60 u8 sub_r32_i32(u8 *buf, u8 rd, s32 imm); 62 u8 sub_r64_i32(u8 *buf, u8 rd, s32 imm); 65 u8 mul_r32_i32(u8 *buf, u8 rd, s32 imm); 67 u8 mul_r64_i32(u8 *buf, u8 rd, s32 imm); 70 u8 div_r32_i32(u8 *buf, u8 rd, s32 imm, boo [all...] |
H A D | bpf_jit_arcv2.c | 659 static u8 arc_movi_r(u8 *buf, u8 reg, s16 imm) argument 661 const u32 insn = OPC_MOVI | OP_B(reg) | MOVI_S12(imm); 678 /* The emitted code may have different sizes based on "imm". */ 679 static u8 arc_mov_i(u8 *buf, u8 rd, s32 imm) argument 683 if (IN_S12_RANGE(imm)) 684 return arc_movi_r(buf, rd, imm); 688 emit_4_bytes(buf + INSN_len_normal, imm); 694 static u8 arc_mov_i_fixed(u8 *buf, u8 rd, s32 imm) argument 700 emit_4_bytes(buf + INSN_len_normal, imm); 716 static u8 arc_movu_cc_r(u8 *buf, u8 cc, u8 rd, u8 imm) argument 839 arc_add_i(u8 *buf, u8 ra, u8 rb, s32 imm) argument 901 arc_sub_i(u8 *buf, u8 ra, s32 imm) argument 970 arc_mpy_i(u8 *buf, u8 ra, u8 rb, s32 imm) argument 992 arc_mpydu_i(u8 *buf, u8 ra, s32 imm) argument 1014 arc_divu_i(u8 *buf, u8 rd, s32 imm) argument 1036 arc_divs_i(u8 *buf, u8 rd, s32 imm) argument 1058 arc_remu_i(u8 *buf, u8 rd, s32 imm) argument 1080 arc_rems_i(u8 *buf, u8 rd, s32 imm) argument 1102 arc_and_i(u8 *buf, u8 rd, s32 imm) argument 1147 arc_or_i(u8 *buf, u8 rd, s32 imm) argument 1167 arc_xor_i(u8 *buf, u8 rd, s32 imm) argument 1187 arc_btst_i(u8 *buf, u8 rs, u8 imm) argument 1205 arc_asli_r(u8 *buf, u8 rd, u8 rs, u8 imm) argument 1223 arc_asri_r(u8 *buf, u8 rd, u8 rs, u8 imm) argument 1241 arc_lsri_r(u8 *buf, u8 rd, u8 rs, u8 imm) argument 1336 mov_r32_i32(u8 *buf, u8 reg, s32 imm) argument 1375 mov_r64_i32(u8 *buf, u8 reg, s32 imm) argument 1491 store_i(u8 *buf, s32 imm, u8 rd, s16 off, u8 size) argument 1600 add_r32_i32(u8 *buf, u8 rd, s32 imm) argument 1617 add_r64_i32(u8 *buf, u8 rd, s32 imm) argument 1636 sub_r32_i32(u8 *buf, u8 rd, s32 imm) argument 1653 sub_r64_i32(u8 *buf, u8 rd, s32 imm) argument 1688 mul_r32_i32(u8 *buf, u8 rd, s32 imm) argument 1748 mul_r64_i32(u8 *buf, u8 rd, s32 imm) argument 1782 div_r32_i32(u8 *buf, u8 rd, s32 imm, bool sign_ext) argument 1801 mod_r32_i32(u8 *buf, u8 rd, s32 imm, bool sign_ext) argument 1817 and_r32_i32(u8 *buf, u8 rd, s32 imm) argument 1831 and_r64_i32(u8 *buf, u8 rd, s32 imm) argument 1850 or_r32_i32(u8 *buf, u8 rd, s32 imm) argument 1864 or_r64_i32(u8 *buf, u8 rd, s32 imm) argument 1878 xor_r32_i32(u8 *buf, u8 rd, s32 imm) argument 1892 xor_r64_i32(u8 *buf, u8 rd, s32 imm) argument 1907 lsh_r32_i32(u8 *buf, u8 rd, u8 imm) argument 1981 lsh_r64_i32(u8 *buf, u8 rd, s32 imm) argument 2011 rsh_r32_i32(u8 *buf, u8 rd, u8 imm) argument 2076 rsh_r64_i32(u8 *buf, u8 rd, s32 imm) argument 2106 arsh_r32_i32(u8 *buf, u8 rd, u8 imm) argument 2174 arsh_r64_i32(u8 *buf, u8 rd, s32 imm) argument [all...] |
/linux-master/arch/riscv/kernel/ |
H A D | alternative.c | 76 s32 imm; local 79 imm = riscv_insn_extract_utype_itype_imm(auipc_insn, jalr_insn); 80 imm -= patch_offset; 83 riscv_insn_insert_utype_itype_imm(&call[0], &call[1], imm); 91 s32 imm; local 94 imm = riscv_insn_extract_jtype_imm(jal_insn); 95 imm -= patch_offset; 98 riscv_insn_insert_jtype_imm(&jal_insn, imm); 134 s32 imm = riscv_insn_extract_jtype_imm(insn); local 137 if ((alt_ptr + i * sizeof(u32) + imm) > [all...] |
/linux-master/arch/mips/net/ |
H A D | bpf_jit_comp.c | 191 /* dst = imm (register width) */ 192 void emit_mov_i(struct jit_context *ctx, u8 dst, s32 imm) argument 194 if (imm >= -0x8000 && imm <= 0x7fff) { 195 emit(ctx, addiu, dst, MIPS_R_ZERO, imm); 197 emit(ctx, lui, dst, (s16)((u32)imm >> 16)); 198 emit(ctx, ori, dst, dst, (u16)(imm & 0xffff)); 211 bool valid_alu_i(u8 op, s32 imm) argument 223 /* imm must be 16 bits */ 224 return imm > 247 rewrite_alu_i(u8 op, s32 imm, u8 *alu, s32 *val) argument 298 emit_alu_i(struct jit_context *ctx, u8 dst, s32 imm, u8 op) argument 502 valid_jmp_i(u8 op, s32 imm) argument 605 setup_jmp_i(struct jit_context *ctx, s32 imm, u8 width, u8 bpf_op, s16 bpf_off, u8 *jit_op, s32 *jit_off) argument 698 emit_jmp_i(struct jit_context *ctx, u8 dst, s32 imm, s32 off, u8 op) argument [all...] |
H A D | bpf_jit_comp.h | 159 /* dst = imm (32-bit) */ 160 void emit_mov_i(struct jit_context *ctx, u8 dst, s32 imm); 166 bool valid_alu_i(u8 op, s32 imm); 169 bool rewrite_alu_i(u8 op, s32 imm, u8 *alu, s32 *val); 172 void emit_alu_i(struct jit_context *ctx, u8 dst, s32 imm, u8 op); 187 bool valid_jmp_i(u8 op, s32 imm); 190 void setup_jmp_i(struct jit_context *ctx, s32 imm, u8 width, 201 void emit_jmp_i(struct jit_context *ctx, u8 dst, s32 imm, s32 off, u8 op);
|
H A D | bpf_jit_comp64.c | 123 /* dst = imm (64-bit) */ 158 static void emit_alu_i64(struct jit_context *ctx, u8 dst, s32 imm, u8 op) argument 161 /* dst = dst | imm */ 163 emit(ctx, ori, dst, dst, (u16)imm); 165 /* dst = dst ^ imm */ 167 emit(ctx, xori, dst, dst, (u16)imm); 173 /* dst = dst << imm */ 175 emit(ctx, dsll_safe, dst, dst, imm); 177 /* dst = dst >> imm */ 179 emit(ctx, dsrl_safe, dst, dst, imm); 642 s32 imm = insn->imm; local [all...] |
H A D | bpf_jit_comp32.c | 173 /* dst = imm (sign-extended) */ 174 static void emit_mov_se_i64(struct jit_context *ctx, const u8 dst[], s32 imm) argument 176 emit_mov_i(ctx, lo(dst), imm); 177 if (imm < 0) 202 const u8 dst[], s32 imm, u8 op) 207 * ADD/SUB with all but the max negative imm can be handled by 208 * inverting the operation and the imm value, saving one insn. 210 if (imm > S32_MIN && imm < 0) 214 imm 201 emit_alu_i64(struct jit_context *ctx, const u8 dst[], s32 imm, u8 op) argument 321 emit_shift_i64(struct jit_context *ctx, const u8 dst[], u32 imm, u8 op) argument 423 emit_mul_i64(struct jit_context *ctx, const u8 dst[], s32 imm) argument 990 emit_sltiu_r64(struct jit_context *ctx, u8 rd, const u8 rs[], s64 imm) argument 1025 emit_slti_r64(struct jit_context *ctx, u8 rd, const u8 rs[], s64 imm) argument 1092 emit_jmp_i64(struct jit_context *ctx, const u8 dst[], s32 imm, s32 off, u8 op) argument 1471 s32 imm = insn->imm; local [all...] |
/linux-master/arch/arm64/net/ |
H A D | bpf_jit.h | 73 #define A64_LS_IMM(Rt, Rn, imm, size, type) \ 74 aarch64_insn_gen_load_store_imm(Rt, Rn, imm, \ 77 #define A64_STRBI(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 8, STORE) 78 #define A64_LDRBI(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 8, LOAD) 79 #define A64_LDRSBI(Xt, Xn, imm) A64_LS_IMM(Xt, Xn, imm, 8, SIGNED_LOAD) 80 #define A64_STRHI(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 1 [all...] |
/linux-master/arch/loongarch/net/ |
H A D | bpf_jit.h | 106 static inline void move_imm(struct jit_ctx *ctx, enum loongarch_gpr rd, long imm, bool is32) argument 111 if (imm == 0) { 117 if (is_signed_imm12(imm)) { 118 emit_insn(ctx, addiw, rd, LOONGARCH_GPR_ZERO, imm); 123 if (is_unsigned_imm12(imm)) { 124 emit_insn(ctx, ori, rd, LOONGARCH_GPR_ZERO, imm); 129 imm_63_52 = (imm >> 52) & 0xfff; 130 imm_51_0 = imm & 0xfffffffffffff; 137 imm_31_12 = (imm >> 12) & 0xfffff; 141 imm_11_0 = imm [all...] |
/linux-master/tools/testing/selftests/arm64/fp/ |
H A D | sme-inst.h | 9 * RDSVL X\nx, #\imm 11 .macro rdsvl nx, imm 13 | (\imm << 5) \
|
/linux-master/arch/riscv/net/ |
H A D | bpf_jit_comp32.c | 111 static void emit_imm(const s8 rd, s32 imm, struct rv_jit_context *ctx) argument 113 u32 upper = (imm + (1 << 11)) >> 12; 114 u32 lower = imm & 0xfff; 124 static void emit_imm32(const s8 *rd, s32 imm, struct rv_jit_context *ctx) argument 127 emit_imm(lo(rd), imm, ctx); local 130 if (imm >= 0) 243 static void emit_alu_i64(const s8 *dst, s32 imm, argument 251 emit_imm32(rd, imm, ctx); 254 if (is_12b_int(imm)) { 255 emit(rv_andi(lo(rd), lo(rd), imm), ct local 265 emit(rv_ori(lo(rd), lo(rd), imm), ctx); local 275 emit(rv_xori(lo(rd), lo(rd), imm), ctx); local 291 emit(rv_slli(hi(rd), hi(rd), imm), ctx); local 293 emit(rv_slli(lo(rd), lo(rd), imm), ctx); local 304 emit(rv_srli(lo(rd), lo(rd), imm), ctx); local 306 emit(rv_srli(hi(rd), hi(rd), imm), ctx); local 317 emit(rv_srli(lo(rd), lo(rd), imm), ctx); local 319 emit(rv_srai(hi(rd), hi(rd), imm), ctx); local 327 emit_alu_i32(const s8 *dst, s32 imm, struct rv_jit_context *ctx, const u8 op) argument 335 emit_imm(lo(rd), imm, ctx); local 339 emit(rv_addi(lo(rd), lo(rd), imm), ctx); local 355 emit(rv_andi(lo(rd), lo(rd), imm), ctx); local 363 emit(rv_ori(lo(rd), lo(rd), imm), ctx); local 371 emit(rv_xori(lo(rd), lo(rd), imm), ctx); local 379 emit(rv_slli(lo(rd), lo(rd), imm), ctx); local 387 emit(rv_srli(lo(rd), lo(rd), imm), ctx); local 395 emit(rv_srai(lo(rd), lo(rd), imm), ctx); local 962 s32 imm = insn->imm; local [all...] |
H A D | bpf_jit.h | 273 u32 imm; local 275 imm = (imm20_1 & 0x80000) | ((imm20_1 & 0x3ff) << 9) | 278 return (imm << 12) | (rd << 7) | opcode; 298 u32 imm; local 300 imm = ((imm6 & 0x20) << 7) | ((imm6 & 0x1f) << 2); 301 return (funct3 << 13) | (rd << 7) | op | imm; 336 u32 imm; local 338 imm = ((imm6 & 0x20) << 7) | ((imm6 & 0x1f) << 2); 339 return (funct3 << 13) | (funct2 << 10) | ((rd & 0x7) << 7) | op | imm; 615 u32 imm; local 652 u32 imm; local 706 u32 imm; local 734 u32 imm; local 928 u32 imm; local 936 u32 imm; local 946 emit_jalr(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 972 emit_addi(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 985 emit_li(u8 rd, s32 imm, struct rv_jit_context *ctx) argument 993 emit_lui(u8 rd, s32 imm, struct rv_jit_context *ctx) argument 1001 emit_slli(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 1009 emit_andi(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 1017 emit_srli(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 1025 emit_srai(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 1088 emit_addiw(u8 rd, u8 rs, s32 imm, struct rv_jit_context *ctx) argument 1168 emit_bswap(u8 rd, s32 imm, struct rv_jit_context *ctx) argument [all...] |
/linux-master/arch/microblaze/kernel/ |
H A D | ftrace.c | 103 static unsigned int imm; /* saving whole imm instruction */ variable 116 * b000c000 imm -16384 135 imm = *(unsigned int *)rec->ip; 136 pr_debug("%s: imm:0x%x\n", __func__, imm); 156 pr_debug("%s: addr:0x%x, rec->ip: 0x%x, imm:0x%x\n", 157 __func__, (unsigned int)addr, (unsigned int)rec->ip, imm); 158 ret = ftrace_modify_code(rec->ip, imm); 174 upper = 0xb0000000 + (upper >> 16); /* imm func_uppe [all...] |
/linux-master/arch/arm64/lib/ |
H A D | insn.c | 113 u32 insn, u64 imm) 124 immlo = (imm & ADR_IMM_LOMASK) << ADR_IMM_LOSHIFT; 125 imm >>= ADR_IMM_HILOSPLIT; 126 immhi = (imm & ADR_IMM_HIMASK) << ADR_IMM_HISHIFT; 127 imm = immlo | immhi; 141 insn |= (imm & mask) << shift; 412 unsigned int imm, 425 if (imm & ~(BIT(12 + shift) - BIT(shift))) { 426 pr_err("%s: invalid imm: %d\n", __func__, imm); 112 aarch64_insn_encode_immediate(enum aarch64_insn_imm_type type, u32 insn, u64 imm) argument 410 aarch64_insn_gen_load_store_imm(enum aarch64_insn_register reg, enum aarch64_insn_register base, unsigned int imm, enum aarch64_insn_size_type size, enum aarch64_insn_ldst_type type) argument 730 aarch64_insn_gen_add_sub_imm(enum aarch64_insn_register dst, enum aarch64_insn_register src, int imm, enum aarch64_insn_variant variant, enum aarch64_insn_adsb_type type) argument 846 aarch64_insn_gen_movewide(enum aarch64_insn_register dst, int imm, int shift, enum aarch64_insn_variant variant, enum aarch64_insn_movewide_type type) argument 1214 s32 imm; local 1315 aarch64_encode_immediate(u64 imm, enum aarch64_insn_variant variant, u32 insn) argument 1411 aarch64_insn_gen_logical_immediate(enum aarch64_insn_logic_type type, enum aarch64_insn_variant variant, enum aarch64_insn_register Rn, enum aarch64_insn_register Rd, u64 imm) argument [all...] |