Lines Matching refs:b2p
35 return (ctx->seen & (1 << (31 - b2p[i]))); in bpf_is_seen_register()
40 ctx->seen |= (1 << (31 - b2p[i])); in bpf_set_seen_register()
99 EMIT(PPC_RAW_LI(b2p[TMP_REG_1], 0)); in bpf_jit_build_prologue()
101 PPC_BPF_STL(b2p[TMP_REG_1], 1, -(BPF_PPC_STACK_SAVE + 8)); in bpf_jit_build_prologue()
129 PPC_BPF_STL(b2p[i], 1, bpf_jit_stack_offsetof(ctx, b2p[i])); in bpf_jit_build_prologue()
133 EMIT(PPC_RAW_ADDI(b2p[BPF_REG_FP], 1, in bpf_jit_build_prologue()
144 PPC_BPF_LL(b2p[i], 1, bpf_jit_stack_offsetof(ctx, b2p[i])); in bpf_jit_emit_common_epilogue()
161 EMIT(PPC_RAW_MR(3, b2p[BPF_REG_0])); in bpf_jit_build_epilogue()
171 PPC_LI64(b2p[TMP_REG_2], func); in bpf_jit_emit_func_call_hlp()
173 PPC_BPF_LL(b2p[TMP_REG_1], b2p[TMP_REG_2], 0); in bpf_jit_emit_func_call_hlp()
175 EMIT(PPC_RAW_MTLR(b2p[TMP_REG_1])); in bpf_jit_emit_func_call_hlp()
182 PPC_BPF_LL(2, b2p[TMP_REG_2], 8); in bpf_jit_emit_func_call_hlp()
236 int b2p_bpf_array = b2p[BPF_REG_2]; in bpf_jit_emit_tail_call()
237 int b2p_index = b2p[BPF_REG_3]; in bpf_jit_emit_tail_call()
243 EMIT(PPC_RAW_LWZ(b2p[TMP_REG_1], b2p_bpf_array, offsetof(struct bpf_array, map.max_entries))); in bpf_jit_emit_tail_call()
245 EMIT(PPC_RAW_CMPLW(b2p_index, b2p[TMP_REG_1])); in bpf_jit_emit_tail_call()
252 PPC_BPF_LL(b2p[TMP_REG_1], 1, bpf_jit_stack_tailcallcnt(ctx)); in bpf_jit_emit_tail_call()
253 EMIT(PPC_RAW_CMPLWI(b2p[TMP_REG_1], MAX_TAIL_CALL_CNT)); in bpf_jit_emit_tail_call()
259 EMIT(PPC_RAW_ADDI(b2p[TMP_REG_1], b2p[TMP_REG_1], 1)); in bpf_jit_emit_tail_call()
260 PPC_BPF_STL(b2p[TMP_REG_1], 1, bpf_jit_stack_tailcallcnt(ctx)); in bpf_jit_emit_tail_call()
263 EMIT(PPC_RAW_MULI(b2p[TMP_REG_1], b2p_index, 8)); in bpf_jit_emit_tail_call()
264 EMIT(PPC_RAW_ADD(b2p[TMP_REG_1], b2p[TMP_REG_1], b2p_bpf_array)); in bpf_jit_emit_tail_call()
265 PPC_BPF_LL(b2p[TMP_REG_1], b2p[TMP_REG_1], offsetof(struct bpf_array, ptrs)); in bpf_jit_emit_tail_call()
271 EMIT(PPC_RAW_CMPLDI(b2p[TMP_REG_1], 0)); in bpf_jit_emit_tail_call()
275 PPC_BPF_LL(b2p[TMP_REG_1], b2p[TMP_REG_1], offsetof(struct bpf_prog, bpf_func)); in bpf_jit_emit_tail_call()
278 EMIT(PPC_RAW_ADDI(b2p[TMP_REG_1], b2p[TMP_REG_1], in bpf_jit_emit_tail_call()
281 EMIT(PPC_RAW_ADDI(b2p[TMP_REG_1], b2p[TMP_REG_1], BPF_TAILCALL_PROLOGUE_SIZE)); in bpf_jit_emit_tail_call()
283 EMIT(PPC_RAW_MTCTR(b2p[TMP_REG_1])); in bpf_jit_emit_tail_call()
331 u32 dst_reg = b2p[insn[i].dst_reg]; in bpf_jit_build_body()
332 u32 src_reg = b2p[insn[i].src_reg]; in bpf_jit_build_body()
382 PPC_LI32(b2p[TMP_REG_1], imm); in bpf_jit_build_body()
383 EMIT(PPC_RAW_ADD(dst_reg, dst_reg, b2p[TMP_REG_1])); in bpf_jit_build_body()
393 PPC_LI32(b2p[TMP_REG_1], imm); in bpf_jit_build_body()
394 EMIT(PPC_RAW_SUB(dst_reg, dst_reg, b2p[TMP_REG_1])); in bpf_jit_build_body()
409 PPC_LI32(b2p[TMP_REG_1], imm); in bpf_jit_build_body()
412 b2p[TMP_REG_1])); in bpf_jit_build_body()
415 b2p[TMP_REG_1])); in bpf_jit_build_body()
421 EMIT(PPC_RAW_DIVWU(b2p[TMP_REG_1], dst_reg, src_reg)); in bpf_jit_build_body()
422 EMIT(PPC_RAW_MULW(b2p[TMP_REG_1], src_reg, in bpf_jit_build_body()
423 b2p[TMP_REG_1])); in bpf_jit_build_body()
424 EMIT(PPC_RAW_SUB(dst_reg, dst_reg, b2p[TMP_REG_1])); in bpf_jit_build_body()
431 EMIT(PPC_RAW_DIVDU(b2p[TMP_REG_1], dst_reg, src_reg)); in bpf_jit_build_body()
432 EMIT(PPC_RAW_MULD(b2p[TMP_REG_1], src_reg, in bpf_jit_build_body()
433 b2p[TMP_REG_1])); in bpf_jit_build_body()
434 EMIT(PPC_RAW_SUB(dst_reg, dst_reg, b2p[TMP_REG_1])); in bpf_jit_build_body()
453 PPC_LI32(b2p[TMP_REG_1], imm); in bpf_jit_build_body()
457 EMIT(PPC_RAW_DIVWU(b2p[TMP_REG_2], in bpf_jit_build_body()
459 b2p[TMP_REG_1])); in bpf_jit_build_body()
460 EMIT(PPC_RAW_MULW(b2p[TMP_REG_1], in bpf_jit_build_body()
461 b2p[TMP_REG_1], in bpf_jit_build_body()
462 b2p[TMP_REG_2])); in bpf_jit_build_body()
464 b2p[TMP_REG_1])); in bpf_jit_build_body()
467 b2p[TMP_REG_1])); in bpf_jit_build_body()
471 EMIT(PPC_RAW_DIVDU(b2p[TMP_REG_2], in bpf_jit_build_body()
473 b2p[TMP_REG_1])); in bpf_jit_build_body()
474 EMIT(PPC_RAW_MULD(b2p[TMP_REG_1], in bpf_jit_build_body()
475 b2p[TMP_REG_1], in bpf_jit_build_body()
476 b2p[TMP_REG_2])); in bpf_jit_build_body()
478 b2p[TMP_REG_1])); in bpf_jit_build_body()
481 b2p[TMP_REG_1])); in bpf_jit_build_body()
503 PPC_LI32(b2p[TMP_REG_1], imm); in bpf_jit_build_body()
504 EMIT(PPC_RAW_AND(dst_reg, dst_reg, b2p[TMP_REG_1])); in bpf_jit_build_body()
515 PPC_LI32(b2p[TMP_REG_1], imm); in bpf_jit_build_body()
516 EMIT(PPC_RAW_OR(dst_reg, dst_reg, b2p[TMP_REG_1])); in bpf_jit_build_body()
532 PPC_LI32(b2p[TMP_REG_1], imm); in bpf_jit_build_body()
533 EMIT(PPC_RAW_XOR(dst_reg, dst_reg, b2p[TMP_REG_1])); in bpf_jit_build_body()
634 EMIT(PPC_RAW_RLWINM(b2p[TMP_REG_1], dst_reg, 8, 16, 23)); in bpf_jit_build_body()
636 EMIT(PPC_RAW_RLWIMI(b2p[TMP_REG_1], dst_reg, 24, 24, 31)); in bpf_jit_build_body()
638 EMIT(PPC_RAW_MR(dst_reg, b2p[TMP_REG_1])); in bpf_jit_build_body()
646 EMIT(PPC_RAW_RLWINM(b2p[TMP_REG_1], dst_reg, 8, 0, 31)); in bpf_jit_build_body()
648 EMIT(PPC_RAW_RLWIMI(b2p[TMP_REG_1], dst_reg, 24, 0, 7)); in bpf_jit_build_body()
650 EMIT(PPC_RAW_RLWIMI(b2p[TMP_REG_1], dst_reg, 24, 16, 23)); in bpf_jit_build_body()
651 EMIT(PPC_RAW_MR(dst_reg, b2p[TMP_REG_1])); in bpf_jit_build_body()
656 EMIT(PPC_RAW_ADDI(b2p[TMP_REG_1], 1, bpf_jit_stack_local(ctx))); in bpf_jit_build_body()
658 EMIT(PPC_RAW_LDBRX(dst_reg, 0, b2p[TMP_REG_1])); in bpf_jit_build_body()
660 EMIT(PPC_RAW_LWBRX(dst_reg, 0, b2p[TMP_REG_1])); in bpf_jit_build_body()
663 EMIT(PPC_RAW_LI(b2p[TMP_REG_2], 4)); in bpf_jit_build_body()
664 EMIT(PPC_RAW_LWBRX(b2p[TMP_REG_2], b2p[TMP_REG_2], b2p[TMP_REG_1])); in bpf_jit_build_body()
666 EMIT(PPC_RAW_SLDI(b2p[TMP_REG_2], b2p[TMP_REG_2], 32)); in bpf_jit_build_body()
667 EMIT(PPC_RAW_OR(dst_reg, dst_reg, b2p[TMP_REG_2])); in bpf_jit_build_body()
707 EMIT(PPC_RAW_LD(b2p[TMP_REG_1], 13, 0)); in bpf_jit_build_body()
711 EMIT(PPC_INST_MFLR | ___PPC_RT(b2p[TMP_REG_1])); in bpf_jit_build_body()
715 EMIT(PPC_RAW_MTLR(b2p[TMP_REG_1])); in bpf_jit_build_body()
728 EMIT(PPC_RAW_LI(b2p[TMP_REG_1], imm)); in bpf_jit_build_body()
729 src_reg = b2p[TMP_REG_1]; in bpf_jit_build_body()
736 EMIT(PPC_RAW_LI(b2p[TMP_REG_1], imm)); in bpf_jit_build_body()
737 src_reg = b2p[TMP_REG_1]; in bpf_jit_build_body()
744 PPC_LI32(b2p[TMP_REG_1], imm); in bpf_jit_build_body()
745 src_reg = b2p[TMP_REG_1]; in bpf_jit_build_body()
752 PPC_LI32(b2p[TMP_REG_1], imm); in bpf_jit_build_body()
753 src_reg = b2p[TMP_REG_1]; in bpf_jit_build_body()
764 EMIT(PPC_RAW_ADDI(b2p[TMP_REG_1], dst_reg, off)); in bpf_jit_build_body()
767 EMIT(PPC_RAW_LWARX(b2p[TMP_REG_2], 0, b2p[TMP_REG_1], 0)); in bpf_jit_build_body()
769 EMIT(PPC_RAW_ADD(b2p[TMP_REG_2], b2p[TMP_REG_2], src_reg)); in bpf_jit_build_body()
771 EMIT(PPC_RAW_STWCX(b2p[TMP_REG_2], 0, b2p[TMP_REG_1])); in bpf_jit_build_body()
777 EMIT(PPC_RAW_ADDI(b2p[TMP_REG_1], dst_reg, off)); in bpf_jit_build_body()
779 EMIT(PPC_RAW_LDARX(b2p[TMP_REG_2], 0, b2p[TMP_REG_1], 0)); in bpf_jit_build_body()
780 EMIT(PPC_RAW_ADD(b2p[TMP_REG_2], b2p[TMP_REG_2], src_reg)); in bpf_jit_build_body()
781 EMIT(PPC_RAW_STDCX(b2p[TMP_REG_2], 0, b2p[TMP_REG_1])); in bpf_jit_build_body()
853 EMIT(PPC_RAW_MR(b2p[BPF_REG_0], 3)); in bpf_jit_build_body()
959 EMIT(PPC_RAW_AND_DOT(b2p[TMP_REG_1], dst_reg, in bpf_jit_build_body()
962 int tmp_reg = b2p[TMP_REG_1]; in bpf_jit_build_body()
995 PPC_LI32(b2p[TMP_REG_1], imm); in bpf_jit_build_body()
999 b2p[TMP_REG_1])); in bpf_jit_build_body()
1002 b2p[TMP_REG_1])); in bpf_jit_build_body()
1027 PPC_LI32(b2p[TMP_REG_1], imm); in bpf_jit_build_body()
1030 b2p[TMP_REG_1])); in bpf_jit_build_body()
1033 b2p[TMP_REG_1])); in bpf_jit_build_body()
1042 EMIT(PPC_RAW_ANDI(b2p[TMP_REG_1], dst_reg, imm)); in bpf_jit_build_body()
1044 int tmp_reg = b2p[TMP_REG_1]; in bpf_jit_build_body()