/linux-6.3-rc2/arch/powerpc/net/ |
A D | bpf_jit_comp32.c | 305 s32 imm = insn[i].imm; in bpf_jit_build_body() local 367 imm = -imm; in bpf_jit_build_body() 380 imm = -imm; in bpf_jit_build_body() 436 imm = ilog2(imm); in bpf_jit_build_body() 488 imm = ilog2((u32)imm); in bpf_jit_build_body() 496 imm = -imm; in bpf_jit_build_body() 514 imm = -imm; in bpf_jit_build_body() 521 imm = ilog2(imm); in bpf_jit_build_body() 1186 if (imm >= 0 && imm < 32768) { in bpf_jit_build_body() 1205 if (imm >= 0 && imm < 65536) { in bpf_jit_build_body() [all …]
|
A D | bpf_jit_comp64.c | 366 s32 imm = insn[i].imm; in bpf_jit_build_body() local 410 if (!imm) { in bpf_jit_build_body() 412 } else if (imm >= -32768 && imm < 32768) { in bpf_jit_build_body() 421 if (!imm) { in bpf_jit_build_body() 423 } else if (imm > -32768 && imm <= 32768) { in bpf_jit_build_body() 439 if (imm >= -32768 && imm < 32768) in bpf_jit_build_body() 471 if (imm == 0) in bpf_jit_build_body() 624 if (imm < 0) in bpf_jit_build_body() 1117 if (imm >= 0 && imm < 32768) { in bpf_jit_build_body() 1148 if (imm >= -32768 && imm < 32768) { in bpf_jit_build_body() [all …]
|
/linux-6.3-rc2/arch/arm/net/ |
A D | bpf_jit_32.h | 170 #define ARM_ADD_I(rd, rn, imm) _AL3_I(ARM_INST_ADD, rd, rn, imm) argument 173 #define ARM_ADC_I(rd, rn, imm) _AL3_I(ARM_INST_ADC, rd, rn, imm) argument 177 #define ARM_AND_I(rd, rn, imm) _AL3_I(ARM_INST_AND, rd, rn, imm) argument 180 #define ARM_BIC_I(rd, rn, imm) _AL3_I(ARM_INST_BIC, rd, rn, imm) argument 187 #define ARM_CMP_I(rn, imm) _AL3_I(ARM_INST_CMP, 0, rn, imm) argument 190 #define ARM_EOR_I(rd, rn, imm) _AL3_I(ARM_INST_EOR, rd, rn, imm) argument 219 #define ARM_MOV_I(rd, imm) _AL3_I(ARM_INST_MOV, rd, 0, imm) argument 237 #define ARM_ORR_I(rd, rn, imm) _AL3_I(ARM_INST_ORR, rd, rn, imm) argument 251 #define ARM_RSB_I(rd, rn, imm) _AL3_I(ARM_INST_RSB, rd, rn, imm) argument 253 #define ARM_RSC_I(rd, rn, imm) _AL3_I(ARM_INST_RSC, rd, rn, imm) argument [all …]
|
/linux-6.3-rc2/tools/include/linux/ |
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 }) 160 .imm = 0 }) 170 .imm = 0 }) 216 .imm = 0 }) [all …]
|
/linux-6.3-rc2/arch/mips/net/ |
A D | bpf_jit_comp.c | 194 if (imm >= -0x8000 && imm <= 0x7fff) { in emit_mov_i() 222 return imm >= -0x8000 && imm <= 0x7fff; in valid_alu_i() 225 return imm >= -0x7fff && imm <= 0x8000; in valid_alu_i() 230 return imm >= 0 && imm <= 0xffff; in valid_alu_i() 233 return imm == 0 || (imm > 0 && is_power_of_2(imm)); in valid_alu_i() 268 imm = ilog2(abs(imm)); in rewrite_alu_i() 278 imm = ilog2(imm); in rewrite_alu_i() 284 imm--; in rewrite_alu_i() 511 return imm >= 0 && imm <= 0xffff; in valid_jmp_i() 517 return imm >= -0x8000 && imm <= 0x7fff; in valid_jmp_i() [all …]
|
A D | bpf_jit_comp32.c | 177 if (imm < 0) in emit_mov_se_i64() 210 if (imm > S32_MIN && imm < 0) in emit_alu_i64() 214 imm = -imm; in emit_alu_i64() 218 imm = -imm; in emit_alu_i64() 231 if (imm < 0) in emit_alu_i64() 239 if (imm < 0) in emit_alu_i64() 245 if (imm < 0) in emit_alu_i64() 1105 if (imm >= -0x7fff && imm <= 0x8000) { in emit_jmp_i64() 1471 s32 imm = insn->imm; in build_insn() local 1577 if (imm) in build_insn() [all …]
|
A D | bpf_jit_comp64.c | 187 emit(ctx, daddiu, dst, dst, imm); in emit_alu_i64() 195 emit_alu_i(ctx, dst, imm, op); in emit_alu_i64() 639 s32 imm = insn->imm; in build_insn() local 647 emit_mov_i(ctx, dst, imm); in build_insn() 652 if (imm == 1) { in build_insn() 738 emit_mov_i(ctx, dst, imm); in build_insn() 818 emit_mov_i64(ctx, dst, (u32)imm | ((u64)insn[1].imm << 32)); in build_insn() 848 switch (imm) { in build_insn() 860 } else if (imm & BPF_FETCH) { in build_insn() 952 if (valid_jmp_i(jmp, imm)) { in build_insn() [all …]
|
/linux-6.3-rc2/samples/bpf/ |
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 }) 125 .imm = 0 }) 135 .imm = 0 }) 181 .imm = 0 }) [all …]
|
/linux-6.3-rc2/kernel/bpf/ |
A D | disasm.c | 23 insn->imm >= 0 && insn->imm < __BPF_FUNC_MAX_ID && in __func_get_name() 24 func_id_str[insn->imm]) in __func_get_name() 128 insn->imm, insn->dst_reg); in print_bpf_end_insn() 161 insn->imm); in print_bpf_insn() 171 (insn->imm == BPF_ADD || insn->imm == BPF_AND || in print_bpf_insn() 172 insn->imm == BPF_OR || insn->imm == BPF_XOR)) { in print_bpf_insn() 214 insn->off, insn->imm); in print_bpf_insn() 234 insn->imm); in print_bpf_insn() 245 u64 imm = ((u64)(insn + 1)->imm << 32) | (u32)insn->imm; in print_bpf_insn() local 251 imm = 0; in print_bpf_insn() [all …]
|
/linux-6.3-rc2/arch/loongarch/kernel/ |
A D | inst.c | 17 unsigned int imm = insn.reg1i20_format.immediate; in simu_pc() local 26 regs->regs[rd] = pc + sign_extend64(imm << 2, 21); in simu_pc() 29 regs->regs[rd] = pc + sign_extend64(imm << 12, 31); in simu_pc() 32 regs->regs[rd] = pc + sign_extend64(imm << 18, 37); in simu_pc() 35 regs->regs[rd] = pc + sign_extend64(imm << 12, 31); in simu_pc() 48 unsigned int imm, imm_l, imm_h, rd, rj; in simu_branch() local 86 imm = insn.reg2i16_format.immediate; in simu_branch() 92 regs->csr_era = pc + sign_extend64(imm << 2, 17); in simu_branch() 229 emit_lu12iw(&insn, rd, imm); in larch_insn_gen_lu12iw() 238 emit_lu32id(&insn, rd, imm); in larch_insn_gen_lu32id() [all …]
|
/linux-6.3-rc2/arch/riscv/net/ |
A D | bpf_jit.h | 263 u32 imm; in rv_j_insn() local 288 u32 imm; in rv_ci_insn() local 326 u32 imm; in rv_cb_insn() local 585 u32 imm; in rvc_addi4spn() local 622 u32 imm; in rvc_addi16sp() local 676 u32 imm; in rvc_lwsp() local 704 u32 imm; in rvc_swsp() local 861 u32 imm; in rvc_ldsp() local 869 u32 imm; in rvc_sdsp() local 907 if (rvc_enabled() && rd == RV_REG_SP && rd == rs && is_10b_int(imm) && imm && !(imm & 0xf)) in emit_addi() [all …]
|
A D | bpf_jit_comp32.c | 130 if (imm >= 0) in emit_imm32() 260 if (imm >= 0) in emit_alu_i64() 270 if (imm < 0) in emit_alu_i64() 280 if (imm < 0) in emit_alu_i64() 284 if (imm >= 32) { in emit_alu_i64() 297 if (imm >= 32) { in emit_alu_i64() 310 if (imm >= 32) { in emit_alu_i64() 962 s32 imm = insn->imm; in bpf_jit_emit_insn() local 1076 switch (imm) { in bpf_jit_emit_insn() 1101 switch (imm) { in bpf_jit_emit_insn() [all …]
|
/linux-6.3-rc2/arch/arm64/net/ |
A D | bpf_jit.h | 74 #define A64_STRBI(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 8, STORE) argument 75 #define A64_LDRBI(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 8, LOAD) argument 76 #define A64_STRHI(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 16, STORE) argument 77 #define A64_LDRHI(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 16, LOAD) argument 78 #define A64_STR32I(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 32, STORE) argument 79 #define A64_LDR32I(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 32, LOAD) argument 80 #define A64_STR64I(Xt, Xn, imm) A64_LS_IMM(Xt, Xn, imm, 64, STORE) argument 81 #define A64_LDR64I(Xt, Xn, imm) A64_LS_IMM(Xt, Xn, imm, 64, LOAD) argument 257 u64 imm64 = (sf) ? (u64)imm : (u64)(u32)imm; \ 262 #define A64_AND_I(sf, Rd, Rn, imm) A64_LOGIC_IMM(sf, Rd, Rn, imm, AND) argument [all …]
|
A D | bpf_jit_comp.c | 34 if ((((imm) > 0) && ((imm) >> (bits))) || \ 35 (((imm) < 0) && (~(imm) >> (bits)))) { \ 37 i, imm, imm); \ 41 #define check_imm19(imm) check_imm(19, imm) argument 42 #define check_imm26(imm) check_imm(26, imm) argument 219 return !(imm & ~0xfff) || !(imm & ~0xfff000); in is_addsub_imm() 519 const s32 imm = insn->imm; in emit_ll_sc_atomic() local 533 if (imm == BPF_ADD || imm == BPF_AND || in emit_ll_sc_atomic() 534 imm == BPF_OR || imm == BPF_XOR) { in emit_ll_sc_atomic() 765 const s32 imm = insn->imm; in build_insn() local [all …]
|
/linux-6.3-rc2/arch/arm/probes/kprobes/ |
A D | checkers-common.c | 34 int imm = insn & 0xff; in checker_stack_use_imm_0xx() local 35 asi->stack_space = imm; in checker_stack_use_imm_0xx() 47 int imm = insn & 0xff; in checker_stack_use_t32strd() local 48 asi->stack_space = imm << 2; in checker_stack_use_t32strd() 56 int imm = ((insn & 0xf00) >> 4) + (insn & 0xf); in checker_stack_use_imm_x0x() local 57 asi->stack_space = imm; in checker_stack_use_imm_x0x() 66 int imm = insn & 0xfff; in checker_stack_use_imm_xxx() local 67 asi->stack_space = imm; in checker_stack_use_imm_xxx()
|
/linux-6.3-rc2/arch/riscv/kernel/ |
A D | alternative.c | 71 s32 imm; in riscv_alternative_fix_auipc_jalr() local 74 imm = riscv_insn_extract_utype_itype_imm(auipc_insn, jalr_insn); in riscv_alternative_fix_auipc_jalr() 75 imm -= patch_offset; in riscv_alternative_fix_auipc_jalr() 78 riscv_insn_insert_utype_itype_imm(&call[0], &call[1], imm); in riscv_alternative_fix_auipc_jalr() 86 s32 imm; in riscv_alternative_fix_jal() local 89 imm = riscv_insn_extract_jtype_imm(jal_insn); in riscv_alternative_fix_jal() 90 imm -= patch_offset; in riscv_alternative_fix_jal() 93 riscv_insn_insert_jtype_imm(&jal_insn, imm); in riscv_alternative_fix_jal() 129 s32 imm = riscv_insn_extract_jtype_imm(insn); in riscv_alternative_fix_offsets() local 132 if ((alt_ptr + i * sizeof(u32) + imm) >= alt_ptr && in riscv_alternative_fix_offsets() [all …]
|
/linux-6.3-rc2/arch/arm64/lib/ |
A D | insn.c | 113 u32 insn, u64 imm) in aarch64_insn_encode_immediate() argument 127 imm = immlo | immhi; in aarch64_insn_encode_immediate() 427 imm >>= shift; in aarch64_insn_gen_load_store_imm() 770 imm >>= 12; in aarch64_insn_gen_add_sub_imm() 1208 s32 imm; in aarch64_get_branch_offset() local 1332 if (!imm || imm == mask || imm & ~mask) in aarch64_encode_immediate() 1342 if ((imm & emask) != ((imm >> tmp) & emask)) in aarch64_encode_immediate() 1353 imm &= mask; in aarch64_encode_immediate() 1382 imm |= ~mask; in aarch64_encode_immediate() 1390 ror = fls64(~imm); in aarch64_encode_immediate() [all …]
|
/linux-6.3-rc2/arch/loongarch/net/ |
A D | bpf_jit.h | 111 if (imm == 0) { in move_imm() 117 if (is_signed_imm12(imm)) { in move_imm() 123 if (is_unsigned_imm12(imm)) { in move_imm() 129 imm_63_52 = (imm >> 52) & 0xfff; in move_imm() 130 imm_51_0 = imm & 0xfffffffffffff; in move_imm() 137 imm_31_12 = (imm >> 12) & 0xfffff; in move_imm() 141 imm_11_0 = imm & 0xfff; in move_imm() 145 if (!is_signed_imm32(imm)) { in move_imm() 152 imm_51_31 = (imm >> 31) & 0x1fffff; in move_imm() 155 imm_51_32 = (imm >> 32) & 0xfffff; in move_imm() [all …]
|
A D | bpf_jit.c | 286 const s32 imm = insn->imm; in emit_atomic() local 293 switch (imm) { in emit_atomic() 463 const s32 imm = insn->imm; in build_insn() local 464 const u64 imm64 = (u64)(insn + 1)->imm << 32 | (u32)insn->imm; in build_insn() 491 if (is_signed_imm12(imm)) { in build_insn() 510 if (is_signed_imm12(-imm)) { in build_insn() 529 move_imm(ctx, t1, imm, is32); in build_insn() 547 move_imm(ctx, t1, imm, is32); in build_insn() 699 switch (imm) { in build_insn() 715 switch (imm) { in build_insn() [all …]
|
/linux-6.3-rc2/arch/s390/net/ |
A D | bpf_jit_comp.c | 783 s32 imm = insn->imm; in bpf_jit_insn() local 845 if (imm != 0) { in bpf_jit_insn() 852 if (!imm) in bpf_jit_insn() 870 if (imm != 0) { in bpf_jit_insn() 877 if (!imm) in bpf_jit_insn() 907 if (imm == 1) in bpf_jit_insn() 1131 if (imm == 0) in bpf_jit_insn() 1156 if (imm == 0) in bpf_jit_insn() 1181 if (imm == 0) in bpf_jit_insn() 1203 switch (imm) { in bpf_jit_insn() [all …]
|
/linux-6.3-rc2/tools/objtool/arch/powerpc/ |
A D | decode.c | 48 unsigned long imm; in arch_decode_instruction() local 54 imm = 0; in arch_decode_instruction() 61 imm = ins & 0x3fffffc; in arch_decode_instruction() 62 if (imm & 0x2000000) in arch_decode_instruction() 63 imm -= 0x4000000; in arch_decode_instruction() 73 insn->immediate = imm; in arch_decode_instruction()
|
/linux-6.3-rc2/arch/riscv/kernel/probes/ |
A D | simulate-insn.c | 44 u32 imm; in simulate_jal() local 51 imm = ((opcode >> 21) & 0x3ff) << 1; in simulate_jal() 52 imm |= ((opcode >> 20) & 0x1) << 11; in simulate_jal() 53 imm |= ((opcode >> 12) & 0xff) << 12; in simulate_jal() 54 imm |= ((opcode >> 31) & 0x1) << 20; in simulate_jal() 56 instruction_pointer_set(regs, addr + sign_extend32((imm), 20)); in simulate_jal() 70 u32 imm = (opcode >> 20) & 0xfff; in simulate_jalr() local 82 instruction_pointer_set(regs, (base_addr + sign_extend32((imm), 11))&~1); in simulate_jalr()
|
/linux-6.3-rc2/arch/sparc/net/ |
A D | bpf_jit_comp_64.c | 675 if (!is_simm5(imm)) in emit_compare_and_branch() 698 emit_cmpi(dst, imm, ctx); in emit_compare_and_branch() 785 dst, imm, ctx); in emit_compare_and_branch() 902 const s32 imm = insn->imm; in build_insn() local 1002 switch (imm) { in build_insn() 1026 switch (imm) { in build_insn() 1100 if (imm == 0) in build_insn() 1107 if (imm == 0) in build_insn() 1117 if (imm == 0) in build_insn() 1126 if (is_simm13(imm)) { in build_insn() [all …]
|
/linux-6.3-rc2/arch/riscv/include/asm/ |
A D | insn.h | 324 static inline void riscv_insn_insert_jtype_imm(u32 *insn, s32 imm) in riscv_insn_insert_jtype_imm() argument 328 *insn |= (RV_X(imm, RV_J_IMM_10_1_OFF, RV_J_IMM_10_1_MASK) << RV_J_IMM_10_1_OPOFF) | in riscv_insn_insert_jtype_imm() 329 (RV_X(imm, RV_J_IMM_11_OFF, RV_J_IMM_11_MASK) << RV_J_IMM_11_OPOFF) | in riscv_insn_insert_jtype_imm() 330 (RV_X(imm, RV_J_IMM_19_12_OFF, RV_J_IMM_19_12_MASK) << RV_J_IMM_19_12_OPOFF) | in riscv_insn_insert_jtype_imm() 331 (RV_X(imm, RV_J_IMM_SIGN_OFF, 1) << RV_J_IMM_SIGN_OPOFF); in riscv_insn_insert_jtype_imm() 348 s32 imm; in riscv_insn_extract_utype_itype_imm() local 350 imm = RV_EXTRACT_UTYPE_IMM(utype_insn); in riscv_insn_extract_utype_itype_imm() 351 imm += RV_EXTRACT_ITYPE_IMM(itype_insn); in riscv_insn_extract_utype_itype_imm() 353 return imm; in riscv_insn_extract_utype_itype_imm() 378 *utype_insn |= (imm & RV_U_IMM_31_12_MASK) + ((imm & BIT(11)) << 1); in riscv_insn_insert_utype_itype_imm() [all …]
|
/linux-6.3-rc2/drivers/net/ethernet/netronome/nfp/bpf/ |
A D | jit.c | 1272 if (!imm || !~imm) in wrp_alu_imm() 1278 if (!imm || !~imm) in wrp_alu_imm() 1285 if (!imm || !~imm) in wrp_alu_imm() 1298 u64 imm = insn->imm; /* sign extend */ in wrp_alu64_imm() local 1403 u64 imm = insn->imm; /* sign extend */ in cmp_imm() local 1518 u32 imm = insn->imm; in wrp_mul() local 1568 pre_shift = fls(imm & -imm) - 1; in wrp_div_imm() 1916 u64 imm = insn->imm; /* sign extend */ in add_imm64() local 1941 u64 imm = insn->imm; /* sign extend */ in sub_imm64() local 3138 u64 imm = insn->imm; /* sign extend */ in jeq_imm() local [all …]
|