| /Linux-v5.10/arch/powerpc/net/ |
| D | bpf_jit_comp64.c | 98 EMIT(PPC_RAW_LI(b2p[TMP_REG_1], 0)); in bpf_jit_build_prologue() 102 EMIT(PPC_RAW_NOP()); in bpf_jit_build_prologue() 103 EMIT(PPC_RAW_NOP()); in bpf_jit_build_prologue() 114 EMIT(PPC_INST_MFLR | __PPC_RT(R0)); in bpf_jit_build_prologue() 132 EMIT(PPC_RAW_ADDI(b2p[BPF_REG_FP], 1, in bpf_jit_build_prologue() 147 EMIT(PPC_RAW_ADDI(1, 1, BPF_PPC_STACKFRAME + ctx->stack_size)); in bpf_jit_emit_common_epilogue() 150 EMIT(PPC_RAW_MTLR(0)); in bpf_jit_emit_common_epilogue() 160 EMIT(PPC_RAW_MR(3, b2p[BPF_REG_0])); in bpf_jit_build_epilogue() 162 EMIT(PPC_RAW_BLR()); in bpf_jit_build_epilogue() 174 EMIT(PPC_RAW_MTLR(b2p[TMP_REG_1])); in bpf_jit_emit_func_call_hlp() [all …]
|
| D | bpf_jit_comp.c | 34 EMIT(PPC_INST_MFLR | __PPC_RT(R0)); in bpf_jit_build_prologue() 64 EMIT(PPC_RAW_SUB(r_HL, r_HL, r_scratch1)); in bpf_jit_build_prologue() 73 EMIT(PPC_RAW_LI(r_X, 0)); in bpf_jit_build_prologue() 78 EMIT(PPC_RAW_LI(r_A, 0)); in bpf_jit_build_prologue() 86 EMIT(PPC_RAW_ADDI(1, 1, BPF_PPC_STACKFRAME)); in bpf_jit_build_epilogue() 89 EMIT(PPC_RAW_MTLR(0)); in bpf_jit_build_epilogue() 103 EMIT(PPC_RAW_BLR()); in bpf_jit_build_epilogue() 137 EMIT(PPC_RAW_ADD(r_A, r_A, r_X)); in bpf_jit_build_body() 142 EMIT(PPC_RAW_ADDI(r_A, r_A, IMM_L(K))); in bpf_jit_build_body() 144 EMIT(PPC_RAW_ADDIS(r_A, r_A, IMM_HA(K))); in bpf_jit_build_body() [all …]
|
| D | bpf_jit32.h | 75 #define PPC_LBZ_OFFS(r, base, i) do { if ((i) < 32768) EMIT(PPC_RAW_LBZ(r, base, i)); \ 76 else { EMIT(PPC_RAW_ADDIS(r, base, IMM_HA(i))); \ 77 EMIT(PPC_RAW_LBZ(r, r, IMM_L(i))); } } while(0) 79 #define PPC_LD_OFFS(r, base, i) do { if ((i) < 32768) EMIT(PPC_RAW_LD(r, base, i)); \ 80 else { EMIT(PPC_RAW_ADDIS(r, base, IMM_HA(i))); \ 81 EMIT(PPC_RAW_LD(r, r, IMM_L(i))); } } while(0) 83 #define PPC_LWZ_OFFS(r, base, i) do { if ((i) < 32768) EMIT(PPC_RAW_LWZ(r, base, i)); \ 84 else { EMIT(PPC_RAW_ADDIS(r, base, IMM_HA(i))); \ 85 EMIT(PPC_RAW_LWZ(r, r, IMM_L(i))); } } while(0) 87 #define PPC_LHZ_OFFS(r, base, i) do { if ((i) < 32768) EMIT(PPC_RAW_LHZ(r, base, i)); \ [all …]
|
| D | bpf_jit.h | 24 #define EMIT(instr) PLANT_INSTR(image, ctx->idx, instr) macro 27 #define PPC_JMP(dest) EMIT(PPC_INST_BRANCH | \ 30 #define PPC_BCC_SHORT(cond, dest) EMIT(PPC_INST_BRANCH_COND | \ 38 EMIT(PPC_RAW_LI(d, i)); \ 40 EMIT(PPC_RAW_LIS(d, IMM_H(i))); \ 42 EMIT(PPC_RAW_ORI(d, d, IMM_L(i))); \ 51 EMIT(PPC_RAW_LI(d, ((uintptr_t)(i) >> 32) & \ 54 EMIT(PPC_RAW_LIS(d, ((uintptr_t)(i) >> 48))); \ 56 EMIT(PPC_RAW_ORI(d, d, \ 59 EMIT(PPC_RAW_SLDI(d, d, 32)); \ [all …]
|
| D | bpf_jit64.h | 73 EMIT(PPC_RAW_LI(b2p[TMP_REG_2], (i)));\ 74 EMIT(PPC_RAW_LDX(r, base, \ 77 EMIT(PPC_RAW_LD(r, base, i)); \ 81 EMIT(PPC_RAW_LI(b2p[TMP_REG_2], (i)));\ 82 EMIT(PPC_RAW_STDX(r, base, \ 85 EMIT(PPC_RAW_STD(r, base, i)); \ 87 #define PPC_BPF_STLU(r, base, i) do { EMIT(PPC_RAW_STDU(r, base, i)); } while(0)
|
| /Linux-v5.10/arch/x86/net/ |
| D | bpf_jit_comp32.c | 63 #define EMIT(bytes, len) \ macro 66 #define EMIT1(b1) EMIT(b1, 1) 67 #define EMIT2(b1, b2) EMIT((b1) + ((b2) << 8), 2) 68 #define EMIT3(b1, b2, b3) EMIT((b1) + ((b2) << 8) + ((b3) << 16), 3) 70 EMIT((b1) + ((b2) << 8) + ((b3) << 16) + ((b4) << 24), 4) 73 do { EMIT1(b1); EMIT(off, 4); } while (0) 75 do { EMIT2(b1, b2); EMIT(off, 4); } while (0) 77 do { EMIT3(b1, b2, b3); EMIT(off, 4); } while (0) 79 do { EMIT4(b1, b2, b3, b4); EMIT(off, 4); } while (0) 1723 EMIT(0xC6, 1); break; in do_jit() [all …]
|
| D | bpf_jit_comp.c | 33 #define EMIT(bytes, len) \ macro 36 #define EMIT1(b1) EMIT(b1, 1) 37 #define EMIT2(b1, b2) EMIT((b1) + ((b2) << 8), 2) 38 #define EMIT3(b1, b2, b3) EMIT((b1) + ((b2) << 8) + ((b3) << 16), 3) 39 #define EMIT4(b1, b2, b3, b4) EMIT((b1) + ((b2) << 8) + ((b3) << 16) + ((b4) << 24), 4) 42 do { EMIT1(b1); EMIT(off, 4); } while (0) 44 do { EMIT2(b1, b2); EMIT(off, 4); } while (0) 46 do { EMIT3(b1, b2, b3); EMIT(off, 4); } while (0) 48 do { EMIT4(b1, b2, b3, b4); EMIT(off, 4); } while (0) 659 EMIT(imm32_lo, 4); in emit_mov_imm64() [all …]
|