/kernel/linux/linux-6.6/arch/mips/net/ |
H A D | bpf_jit_comp64.c | 124 static void emit_mov_i64(struct jit_context *ctx, u8 dst, u64 imm64) in emit_mov_i64() argument 126 if (imm64 >= 0xffffffffffff8000ULL || imm64 < 0x8000ULL) { in emit_mov_i64() 127 emit(ctx, daddiu, dst, MIPS_R_ZERO, (s16)imm64); in emit_mov_i64() 128 } else if (imm64 >= 0xffffffff80000000ULL || in emit_mov_i64() 129 (imm64 < 0x80000000 && imm64 > 0xffff)) { in emit_mov_i64() 130 emit(ctx, lui, dst, (s16)(imm64 >> 16)); in emit_mov_i64() 131 emit(ctx, ori, dst, dst, (u16)imm64 & 0xffff); in emit_mov_i64() 138 u16 half = imm64 >> (4 in emit_mov_i64() [all...] |
/kernel/linux/linux-5.10/arch/loongarch/net/ |
H A D | ebpf_jit.h | 649 long imm64, bool is32) in move_imm64() 654 si12 = (imm64 >> 52) & 0xfff; in move_imm64() 655 imm52 = imm64 & 0xfffffffffffff; in move_imm64() 662 imm32 = imm64 & 0xffffffff; in move_imm64() 665 if (!is_signed_imm32(imm64)) { in move_imm64() 668 si20 = (imm64 >> 32) & 0xfffff; in move_imm64() 673 if (!is_signed_imm52(imm64)) in move_imm64() 648 move_imm64(struct jit_ctx *ctx, enum loongarch_gpr rd, long imm64, bool is32) move_imm64() argument
|
H A D | ebpf_jit.c | 299 u64 imm64; in build_insn() local 627 /* dst = imm64 */ in build_insn() 629 imm64 = (u64)(insn + 1)->imm << 32 | (u32)insn->imm; in build_insn() 630 move_imm64(ctx, dst, imm64, is32); in build_insn()
|
/kernel/linux/linux-5.10/arch/arm64/net/ |
H A D | bpf_jit.h | 202 u64 imm64 = (sf) ? (u64)imm : (u64)(u32)imm; \ 204 A64_VARIANT(sf), Rn, Rd, imm64); \
|
H A D | bpf_jit_comp.c | 790 /* dst = imm64 */ in build_insn() 794 u64 imm64; in build_insn() local 796 imm64 = (u64)insn1.imm << 32 | (u32)imm; in build_insn() 797 emit_a64_mov_i64(dst, imm64, ctx); in build_insn()
|
/kernel/linux/linux-6.6/arch/parisc/net/ |
H A D | bpf_jit_comp64.c | 998 /* dst = imm64 */ in bpf_jit_emit_insn() 1002 u64 imm64 = (u64)insn1.imm << 32 | (u32)imm; in bpf_jit_emit_insn() local 1004 imm64 = (uintptr_t)dereference_function_descriptor((void*)imm64); in bpf_jit_emit_insn() 1005 emit_imm(rd, imm64, HPPA_REG_T2, ctx); in bpf_jit_emit_insn()
|
/kernel/linux/linux-6.6/arch/arm64/net/ |
H A D | bpf_jit.h | 269 u64 imm64 = (sf) ? (u64)imm : (u64)(u32)imm; \ 271 A64_VARIANT(sf), Rn, Rd, imm64); \
|
H A D | bpf_jit_comp.c | 1142 /* dst = imm64 */ in build_insn() 1146 u64 imm64; in build_insn() local 1148 imm64 = (u64)insn1.imm << 32 | (u32)imm; in build_insn() 1150 emit_addr_mov_i64(dst, imm64, ctx); in build_insn() 1152 emit_a64_mov_i64(dst, imm64, ctx); in build_insn()
|
/kernel/linux/linux-5.10/arch/powerpc/net/ |
H A D | bpf_jit_comp64.c | 337 u64 imm64; in bpf_jit_build_body() local 816 imm64 = ((u64)(u32) insn[i].imm) | in bpf_jit_build_body() 820 PPC_LI64(dst_reg, imm64); in bpf_jit_build_body()
|
/kernel/linux/linux-5.10/arch/riscv/net/ |
H A D | bpf_jit_comp64.c | 880 /* dst = imm64 */ in bpf_jit_emit_insn() 884 u64 imm64; in bpf_jit_emit_insn() local 886 imm64 = (u64)insn1.imm << 32 | (u32)imm; in bpf_jit_emit_insn() 887 emit_imm(rd, imm64, ctx); in bpf_jit_emit_insn()
|
/kernel/linux/linux-6.6/arch/powerpc/net/ |
H A D | bpf_jit_comp64.c | 387 u64 imm64; in bpf_jit_build_body() local 955 imm64 = ((u64)(u32) insn[i].imm) | in bpf_jit_build_body() 958 PPC_LI64(dst_reg, imm64); in bpf_jit_build_body()
|
/kernel/linux/linux-6.6/arch/riscv/net/ |
H A D | bpf_jit_comp64.c | 1544 /* dst = imm64 */ in bpf_jit_emit_insn() 1548 u64 imm64; in bpf_jit_emit_insn() local 1550 imm64 = (u64)insn1.imm << 32 | (u32)imm; in bpf_jit_emit_insn() 1553 ret = emit_addr(rd, imm64, extra_pass, ctx); in bpf_jit_emit_insn() 1557 emit_imm(rd, imm64, ctx); in bpf_jit_emit_insn()
|
/kernel/linux/linux-6.6/arch/loongarch/net/ |
H A D | bpf_jit.c | 865 /* dst = imm64 */ in build_insn() 868 const u64 imm64 = (u64)(insn + 1)->imm << 32 | (u32)insn->imm; in build_insn() local 870 move_imm(ctx, dst, imm64, is32); in build_insn()
|
/kernel/linux/linux-5.10/arch/s390/net/ |
H A D | bpf_jit_comp.c | 742 u64 imm64; in bpf_jit_insn() local 744 imm64 = (u64)(u32) insn[0].imm | ((u64)(u32) insn[1].imm) << 32; in bpf_jit_insn() 746 EMIT6_PCREL_RILB(0xc4080000, dst_reg, _EMIT_CONST_U64(imm64)); in bpf_jit_insn()
|
/kernel/linux/linux-5.10/arch/sparc/net/ |
H A D | bpf_jit_comp_64.c | 1242 /* dst = imm64 */ in build_insn() 1246 u64 imm64; in build_insn() local 1248 imm64 = (u64)insn1.imm << 32 | (u32)imm; in build_insn() 1249 emit_loadimm64(imm64, dst, ctx); in build_insn()
|
/kernel/linux/linux-6.6/arch/s390/net/ |
H A D | bpf_jit_comp.c | 824 u64 imm64; in bpf_jit_insn() local 826 imm64 = (u64)(u32) insn[0].imm | ((u64)(u32) insn[1].imm) << 32; in bpf_jit_insn() 828 EMIT6_PCREL_RILB(0xc4080000, dst_reg, _EMIT_CONST_U64(imm64)); in bpf_jit_insn()
|
/kernel/linux/linux-6.6/arch/sparc/net/ |
H A D | bpf_jit_comp_64.c | 1242 /* dst = imm64 */ in build_insn() 1246 u64 imm64; in build_insn() local 1248 imm64 = (u64)insn1.imm << 32 | (u32)imm; in build_insn() 1249 emit_loadimm64(imm64, dst, ctx); in build_insn()
|
/kernel/linux/linux-6.6/lib/ |
H A D | test_bpf.c | 467 static int __bpf_ld_imm64(struct bpf_insn insns[2], u8 reg, s64 imm64) in __bpf_ld_imm64() argument 469 struct bpf_insn tmp[] = {BPF_LD_IMM64(reg, imm64)}; in __bpf_ld_imm64() 10125 /* Mainly testing JIT + imm64 here. */
|