| /linux/arch/loongarch/net/ |
| H A D | bpf_jit.h | 238 enum loongarch_gpr rd, int jmp_offset) in cond_jmp_offset() argument 243 emit_insn(ctx, beq, rj, rd, jmp_offset); in cond_jmp_offset() 248 emit_insn(ctx, bne, rj, rd, jmp_offset); in cond_jmp_offset() 252 emit_insn(ctx, bltu, rd, rj, jmp_offset); in cond_jmp_offset() 256 emit_insn(ctx, bltu, rj, rd, jmp_offset); in cond_jmp_offset() 260 emit_insn(ctx, bgeu, rj, rd, jmp_offset); in cond_jmp_offset() 264 emit_insn(ctx, bgeu, rd, rj, jmp_offset); in cond_jmp_offset() 268 emit_insn(ctx, blt, rd, rj, jmp_offset); in cond_jmp_offset() 272 emit_insn(ctx, blt, rj, rd, jmp_offset); in cond_jmp_offset() 276 emit_insn(ctx, bge, rj, rd, jmp_offset); in cond_jmp_offset() [all …]
|
| H A D | bpf_jit.c | 275 int off, jmp_offset; in emit_bpf_tail_call() local 295 /* bgeu $a2, $t1, jmp_offset */ in emit_bpf_tail_call() 296 jmp_offset = ctx->image ? (ctx->offset[insn + 1] - ctx->idx) : 0; in emit_bpf_tail_call() 297 if (emit_tailcall_jmp(ctx, BPF_JGE, a2, t1, jmp_offset) < 0) in emit_bpf_tail_call() 307 jmp_offset = ctx->image ? (ctx->offset[insn + 1] - ctx->idx) : 0; in emit_bpf_tail_call() 308 if (emit_tailcall_jmp(ctx, BPF_JSGE, t3, t2, jmp_offset) < 0) in emit_bpf_tail_call() 321 /* beq $t2, $zero, jmp_offset */ in emit_bpf_tail_call() 322 jmp_offset = ctx->image ? (ctx->offset[insn + 1] - ctx->idx) : 0; in emit_bpf_tail_call() 323 if (emit_tailcall_jmp(ctx, BPF_JEQ, t2, LOONGARCH_GPR_ZERO, jmp_offset) < 0) in emit_bpf_tail_call() 700 int ret, jmp_offset, tcc_ptr_of in build_insn() local [all...] |
| /linux/arch/arm64/net/ |
| H A D | bpf_jit_comp.c | 874 s32 jmp_offset; in emit_ll_sc_atomic() local 900 jmp_offset = -3; in emit_ll_sc_atomic() 901 check_imm19(jmp_offset); in emit_ll_sc_atomic() 902 emit(A64_CBNZ(0, tmp3, jmp_offset), ctx); in emit_ll_sc_atomic() 921 jmp_offset = -3; in emit_ll_sc_atomic() 922 check_imm19(jmp_offset); in emit_ll_sc_atomic() 923 emit(A64_CBNZ(0, tmp3, jmp_offset), ctx); in emit_ll_sc_atomic() 930 jmp_offset = -2; in emit_ll_sc_atomic() 931 check_imm19(jmp_offset); in emit_ll_sc_atomic() 932 emit(A64_CBNZ(0, tmp3, jmp_offset), ct in emit_ll_sc_atomic() 1322 s32 jmp_offset; build_insn() local [all...] |
| /linux/arch/x86/kernel/ |
| H A D | ftrace.c | 315 unsigned long jmp_offset; in create_trampoline() local 333 jmp_offset = (unsigned long)ftrace_regs_caller_jmp; in create_trampoline() 339 jmp_offset = 0; in create_trampoline() 370 ip = trampoline + (jmp_offset - start_offset); in create_trampoline()
|
| /linux/arch/x86/net/ |
| H A D | bpf_jit_comp.c | 1865 s64 jmp_offset; in do_jit() local 2497 /* populate jmp_offset for JAE above to jump to start_of_ldx */ in do_jit() 2512 /* populate jmp_offset for JMP above */ in do_jit() 2815 jmp_offset = addrs[i + insn->off] - addrs[i]; in do_jit() 2816 if (is_imm8_jmp_offset(jmp_offset)) { in do_jit() 2818 /* To keep the jmp_offset valid, the extra bytes are in do_jit() 2841 EMIT2(jmp_cond, jmp_offset); in do_jit() 2842 } else if (is_simm32(jmp_offset)) { in do_jit() 2843 EMIT2_off32(0x0F, jmp_cond + 0x10, jmp_offset); in do_jit() 2845 pr_err("cond_jmp gen bug %llx\n", jmp_offset); in do_jit() [all...] |
| /linux/arch/riscv/net/ |
| H A D | bpf_jit.h | 1296 int jmp_offset; in emit_cmpxchg() local 1314 jmp_offset = ninsns_rvoff(8); in emit_cmpxchg() 1315 emit(rv_bne(RV_REG_T2, r0, jmp_offset >> 1), ctx); in emit_cmpxchg() 1318 jmp_offset = ninsns_rvoff(-6); in emit_cmpxchg() 1319 emit(rv_bne(RV_REG_T3, 0, jmp_offset >> 1), ctx); in emit_cmpxchg()
|