/linux-master/arch/loongarch/net/ |
H A D | bpf_jit.h | 204 enum loongarch_gpr rd, int jmp_offset) 208 /* PC += jmp_offset if rj == rd */ 209 emit_insn(ctx, beq, rj, rd, jmp_offset); 213 /* PC += jmp_offset if rj != rd */ 214 emit_insn(ctx, bne, rj, rd, jmp_offset); 217 /* PC += jmp_offset if rj > rd (unsigned) */ 218 emit_insn(ctx, bltu, rd, rj, jmp_offset); 221 /* PC += jmp_offset if rj < rd (unsigned) */ 222 emit_insn(ctx, bltu, rj, rd, jmp_offset); 225 /* PC += jmp_offset i 203 cond_jmp_offset(struct jit_ctx *ctx, u8 cond, enum loongarch_gpr rj, enum loongarch_gpr rd, int jmp_offset) argument 251 cond_jmp_offs26(struct jit_ctx *ctx, u8 cond, enum loongarch_gpr rj, enum loongarch_gpr rd, int jmp_offset) argument 259 uncond_jmp_offs26(struct jit_ctx *ctx, int jmp_offset) argument 264 emit_cond_jmp(struct jit_ctx *ctx, u8 cond, enum loongarch_gpr rj, enum loongarch_gpr rd, int jmp_offset) argument 286 emit_uncond_jmp(struct jit_ctx *ctx, int jmp_offset) argument 296 emit_tailcall_jmp(struct jit_ctx *ctx, u8 cond, enum loongarch_gpr rj, enum loongarch_gpr rd, int jmp_offset) argument [all...] |
H A D | bpf_jit.c | 223 #define jmp_offset (out_offset - (cur_offset)) macro 235 /* bgeu $a2, $t1, jmp_offset */ 236 if (emit_tailcall_jmp(ctx, BPF_JGE, a2, t1, jmp_offset) < 0) 244 if (emit_tailcall_jmp(ctx, BPF_JSLT, REG_TCC, LOONGARCH_GPR_ZERO, jmp_offset) < 0) 255 /* beq $t2, $zero, jmp_offset */ 256 if (emit_tailcall_jmp(ctx, BPF_JEQ, t2, LOONGARCH_GPR_ZERO, jmp_offset) < 0) 279 #undef jmp_offset macro 464 int ret, jmp_offset; local 811 jmp_offset = bpf2la_offset(i, off, ctx); 821 if (emit_cond_jmp(ctx, cond, t1, t2, jmp_offset) < [all...] |
/linux-master/arch/x86/net/ |
H A D | bpf_jit_comp32.c | 1558 * the jmp_offset relative to the jit-insn address immediately 1579 s64 jmp_offset; local 1631 jmp_offset = (u8 *)__bpf_call_base + insn->imm - end_addr; 1632 if (!is_simm32(jmp_offset)) { 1633 pr_err("unsupported BPF kernel function jmp_offset:%lld\n", 1634 jmp_offset); 1638 EMIT1_off32(0xE8, jmp_offset); 1681 s64 jmp_offset; local 2107 jmp_offset = func - (image + addrs[i]); 2109 if (!imm32 || !is_simm32(jmp_offset)) { [all...] |
H A D | bpf_jit_comp.c | 1329 s64 jmp_offset; local 1852 /* populate jmp_offset for JAE above to jump to start_of_ldx */ 1867 /* populate jmp_offset for JMP above */ 2124 jmp_offset = addrs[i + insn->off] - addrs[i]; 2125 if (is_imm8(jmp_offset)) { 2127 /* To keep the jmp_offset valid, the extra bytes are 2150 EMIT2(jmp_cond, jmp_offset); 2151 } else if (is_simm32(jmp_offset)) { 2152 EMIT2_off32(0x0F, jmp_cond + 0x10, jmp_offset); 2154 pr_err("cond_jmp gen bug %llx\n", jmp_offset); [all...] |
/linux-master/arch/arm64/net/ |
H A D | bpf_jit_comp.c | 429 #define jmp_offset (out_offset - (cur_offset)) macro 440 emit(A64_B_(A64_COND_CS, jmp_offset), ctx); 449 emit(A64_B_(A64_COND_CS, jmp_offset), ctx); 461 emit(A64_CBZ(1, prg, jmp_offset), ctx); 481 #undef jmp_offset macro 568 s32 jmp_offset; local 591 jmp_offset = -3; 592 check_imm19(jmp_offset); 593 emit(A64_CBNZ(0, tmp3, jmp_offset), ctx); 612 jmp_offset 844 s32 jmp_offset; local [all...] |
/linux-master/arch/arm/net/ |
H A D | bpf_jit_32.c | 1405 #define jmp_offset (out_offset - (cur_offset) - 2) macro 1423 _emit(ARM_COND_CS, ARM_B(jmp_offset), ctx); 1437 _emit(ARM_COND_CS, ARM_B(jmp_offset), ctx); 1451 _emit(ARM_COND_EQ, ARM_B(jmp_offset), ctx); 1471 #undef jmp_offset macro 1602 s32 jmp_offset; local 1992 jmp_offset = bpf2a32_offset(i+off, i, ctx); 1996 _emit(ARM_COND_NE, ARM_B(jmp_offset), ctx); 1999 _emit(ARM_COND_EQ, ARM_B(jmp_offset), ctx); 2002 _emit(ARM_COND_HI, ARM_B(jmp_offset), ct [all...] |
/linux-master/arch/x86/kernel/ |
H A D | ftrace.c | 320 unsigned long jmp_offset; local 338 jmp_offset = (unsigned long)ftrace_regs_caller_jmp; 344 jmp_offset = 0; 375 ip = trampoline + (jmp_offset - start_offset);
|
/linux-master/arch/riscv/net/ |
H A D | bpf_jit_comp64.c | 469 int jmp_offset; local 538 jmp_offset = ninsns_rvoff(8); 539 emit(rv_bne(RV_REG_T2, r0, jmp_offset >> 1), ctx); 542 jmp_offset = ninsns_rvoff(-6); 543 emit(rv_bne(RV_REG_T3, 0, jmp_offset >> 1), ctx);
|