/linux/arch/powerpc/net/ |
H A D | bpf_jit_comp32.c | 36 #define PPC_EX32(r, i) EMIT(PPC_RAW_LI((r), (i) < 0 ? -1 : 0)) 132 EMIT(PPC_RAW_LI(_R4, 0)); in bpf_jit_build_prologue() 134 EMIT(PPC_RAW_NOP()); in bpf_jit_build_prologue() 139 EMIT(PPC_RAW_STWU(_R1, _R1, -BPF_PPC_STACKFRAME(ctx))); in bpf_jit_build_prologue() 142 EMIT(PPC_RAW_STW(_R4, _R1, bpf_jit_stack_offsetof(ctx, BPF_PPC_TC))); in bpf_jit_build_prologue() 145 EMIT(PPC_RAW_MR(bpf_to_ppc(BPF_REG_1), _R3)); in bpf_jit_build_prologue() 146 EMIT(PPC_RAW_LI(bpf_to_ppc(BPF_REG_1) - 1, 0)); in bpf_jit_build_prologue() 153 EMIT(PPC_RAW_MFLR(_R0)); in bpf_jit_build_prologue() 160 EMIT(PPC_RAW_STW(i, _R1, bpf_jit_stack_offsetof(ctx, i))); in bpf_jit_build_prologue() 164 EMIT(PPC_RAW_LI(bpf_to_ppc(BPF_REG_FP) - 1, 0)); in bpf_jit_build_prologue() [all …]
|
H A D | bpf_jit_comp64.c | 131 EMIT(PPC_RAW_LD(_R2, _R13, offsetof(struct paca_struct, kernel_toc))); in bpf_jit_build_prologue() 140 EMIT(PPC_RAW_LI(bpf_to_ppc(TMP_REG_1), 0)); in bpf_jit_build_prologue() 142 EMIT(PPC_RAW_STD(bpf_to_ppc(TMP_REG_1), _R1, -(BPF_PPC_STACK_SAVE + 8))); in bpf_jit_build_prologue() 144 EMIT(PPC_RAW_NOP()); in bpf_jit_build_prologue() 145 EMIT(PPC_RAW_NOP()); in bpf_jit_build_prologue() 154 EMIT(PPC_RAW_MFLR(_R0)); in bpf_jit_build_prologue() 155 EMIT(PPC_RAW_STD(_R0, _R1, PPC_LR_STKOFF)); in bpf_jit_build_prologue() 158 EMIT(PPC_RAW_STDU(_R1, _R1, -(BPF_PPC_STACKFRAME + ctx->stack_size))); in bpf_jit_build_prologue() 168 EMIT(PPC_RAW_STD(bpf_to_ppc(i), _R1, bpf_jit_stack_offsetof(ctx, bpf_to_ppc(i)))); in bpf_jit_build_prologue() 172 EMIT(PPC_RAW_ADDI(bpf_to_ppc(BPF_REG_FP), _R1, in bpf_jit_build_prologue() [all …]
|
H A D | bpf_jit.h | 26 #define EMIT(instr) PLANT_INSTR(image, ctx->idx, instr) macro 36 EMIT(PPC_RAW_BRANCH(offset)); \ 47 EMIT(PPC_INST_BRANCH_COND | (((cond) & 0x3ff) << 16) | (offset & 0xfffc)); \ 54 EMIT(PPC_RAW_LI(d, i)); \ 56 EMIT(PPC_RAW_LIS(d, IMM_H(i))); \ 58 EMIT(PPC_RAW_ORI(d, d, IMM_L(i))); \ 68 EMIT(PPC_RAW_LI(d, ((uintptr_t)(i) >> 32) & \ 71 EMIT(PPC_RAW_LIS(d, ((uintptr_t)(i) >> 48))); \ 73 EMIT(PPC_RAW_ORI(d, d, \ 76 EMIT(PPC_RAW_SLDI(d, d, 32)); \ [all …]
|
/linux/arch/riscv/net/ |
H A D | bpf_jit_comp32.c | 117 emit(rv_lui(rd, upper), ctx); in emit_imm() 118 emit(rv_addi(rd, rd, lower), ctx); in emit_imm() 120 emit(rv_addi(rd, RV_REG_ZERO, lower), ctx); in emit_imm() 126 /* Emit immediate into lower bits. */ in emit_imm32() 131 emit(rv_addi(hi(rd), RV_REG_ZERO, 0), ctx); in emit_imm32() 133 emit(rv_addi(hi(rd), RV_REG_ZERO, -1), ctx); in emit_imm32() 150 emit(rv_addi(RV_REG_A0, lo(r0), 0), ctx); in __build_epilogue() 151 emit(rv_addi(RV_REG_A1, hi(r0), 0), ctx); in __build_epilogue() 155 emit(rv_lw(RV_REG_RA, stack_adjust - 4, RV_REG_SP), ctx); in __build_epilogue() 156 emit(rv_lw(RV_REG_FP, stack_adjust - 8, RV_REG_SP), ctx); in __build_epilogue() [all …]
|
H A D | bpf_jit_comp64.c | 22 /* imm that allows emit_imm to emit max count insns */ 165 /* Emit fixed-length instructions for address */ 182 emit(rv_auipc(rd, upper), ctx); in emit_addr() 183 emit(rv_addi(rd, rd, lower), ctx); in emit_addr() 187 /* Emit variable-length instructions for 32-bit and 64-bit imm */ 285 emit(rv_beq(rd, rs, rvoff >> 1), ctx); in emit_bcc() 288 emit(rv_bltu(rs, rd, rvoff >> 1), ctx); in emit_bcc() 291 emit(rv_bltu(rd, rs, rvoff >> 1), ctx); in emit_bcc() 294 emit(rv_bgeu(rd, rs, rvoff >> 1), ctx); in emit_bcc() 297 emit(rv_bgeu(rs, rd, rvoff >> 1), ctx); in emit_bcc() [all …]
|
H A D | bpf_jit.h | 117 /* Emit a 4-byte riscv instruction. */ 118 static inline void emit(const u32 insn, struct rv_jit_context *ctx) in emit() function 128 /* Emit a 2-byte riscv compressed instruction. */ 787 * ensure that the RV32 JIT doesn't emit any of these instructions. 968 /* Helper functions that emit RVC instructions when possible. */ 977 emit(rv_jalr(rd, rs, imm), ctx); in emit_jalr() 985 emit(rv_addi(rd, rs, 0), ctx); in emit_mv() 993 emit(rv_add(rd, rs1, rs2), ctx); in emit_add() 1006 emit(rv_addi(rd, rs, imm), ctx); in emit_addi() 1014 emit(rv_addi(rd, RV_REG_ZERO, imm), ctx); in emit_li() [all …]
|
/linux/arch/mips/net/ |
H A D | bpf_jit_comp32.c | 178 emit(ctx, addiu, hi(dst), MIPS_R_ZERO, -1); in emit_mov_se_i64() 180 emit(ctx, move, hi(dst), MIPS_R_ZERO); in emit_mov_se_i64() 188 emit(ctx, move, hi(dst), MIPS_R_ZERO); in emit_zext_ver() 197 emit(ctx, nop); in emit_load_delay() 228 emit(ctx, addu, lo(dst), lo(dst), src); in emit_alu_i64() 229 emit(ctx, sltu, MIPS_R_T9, lo(dst), src); in emit_alu_i64() 230 emit(ctx, addu, hi(dst), hi(dst), MIPS_R_T9); in emit_alu_i64() 232 emit(ctx, addiu, hi(dst), hi(dst), -1); in emit_alu_i64() 236 emit(ctx, sltu, MIPS_R_T9, lo(dst), src); in emit_alu_i64() 237 emit(ctx, subu, lo(dst), lo(dst), src); in emit_alu_i64() [all …]
|
H A D | bpf_jit_comp.c | 61 * Emit instructions for an ALU or ALU64 immediate or register operation. 97 * Emit instructions for an JMP or JMP32 immediate or register operation. 100 * Emit any instructions needed to finish the jump. This includes a nop 135 emit(ctx, sw, reg, depth, MIPS_R_SP); in push_regs() 137 emit(ctx, sd, reg, depth, MIPS_R_SP); in push_regs() 158 emit(ctx, lw, reg, depth, MIPS_R_SP); in pop_regs() 160 emit(ctx, ld, reg, depth, MIPS_R_SP); in pop_regs() 195 emit(ctx, addiu, dst, MIPS_R_ZERO, imm); in emit_mov_i() 197 emit(ctx, lui, dst, (s16)((u32)imm >> 16)); in emit_mov_i() 198 emit(ctx, ori, dst, dst, (u16)(imm & 0xffff)); in emit_mov_i() [all …]
|
H A D | bpf_jit_comp64.c | 93 * operands or the result is unpredictable. We emit explicit sign-extensions 100 emit(ctx, sll, dst, src, 0); in emit_sext() 108 emit(ctx, dinsu, dst, MIPS_R_ZERO, 32, 32); in emit_zext() 110 emit(ctx, and, dst, dst, bpf2mips64[JIT_REG_ZX]); in emit_zext() 127 emit(ctx, daddiu, dst, MIPS_R_ZERO, (s16)imm64); 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() 145 emit(ctx, dsll_safe, dst, dst, shift); in emit_mov_i64() 146 emit(ctx, ori, dst, acc, half); in emit_mov_i64() 152 emit(ctx, dsll_safe, dst, dst, shift); in emit_mov_i64() [all …]
|
/linux/arch/parisc/net/ |
H A D | bpf_jit_comp32.c | 126 emit(hppa_copy(rs, rd), ctx); in emit_hppa_copy() 135 emit(hppa_copy(HPPA_REG_ZERO, r3), ctx); in emit_hppa_xor() 137 emit(hppa_xor(r1, r2, r3), ctx); in emit_hppa_xor() 147 emit(hppa_ldi(imm, rd), ctx); in emit_imm() 150 emit(hppa_ldil(imm, rd), ctx); in emit_imm() 153 emit(hppa_ldo(lower, rd, rd), ctx); in emit_imm() 158 /* Emit immediate into lower bits. */ in emit_imm32() 167 emit(hppa_ldi(-1, hi(rd)), ctx); in emit_imm32() 189 emit(hppa_ldo(1 * HPPA_INSN_SIZE, HPPA_REG_T0, HPPA_REG_T0), ctx); in __build_epilogue() 190 emit(hppa_bv(HPPA_REG_ZERO, HPPA_REG_T0, EXEC_NEXT_INSTR), ctx); in __build_epilogue() [all …]
|
H A D | bpf_jit_comp64.c | 76 emit(hppa_copy(rs, rd), ctx); in emit_hppa_copy() 89 emit(hppa_t10_insn(0x3c, target, src, 0, c, pos & 0x1f, len & 0x1f), ctx); in emit_hppa64_depd() 106 emit(hppa_t10_insn(0x36, src, target, 0, c, pos & 0x1f, len & 0x1f), ctx); in emit_hppa64_extrd() 116 emit(hppa_t10_insn(0x34, src, target, 0, c, pos, len), ctx); in emit_hppa64_extrw() 134 /* Emit variable-length instructions for 32-bit imm */ 141 emit(hppa_ldi(imm, rd), ctx); in emit_imm32() 145 emit(hppa_ldo(lower, HPPA_REG_ZERO, rd), ctx); in emit_imm32() 148 emit(hppa_ldil(imm, rd), ctx); in emit_imm32() 151 emit(hppa_ldo(lower, rd, rd), ctx); in emit_imm32() 159 /* Emit variable-length instructions for 64-bit imm */ [all …]
|
/linux/arch/arm64/net/ |
H A D | bpf_jit_comp.c | 99 static inline void emit(const u32 insn, struct jit_ctx *ctx) in emit() function 115 emit(A64_MOVN(is64, reg, (u16)~lo, 0), ctx); in emit_a64_mov_i() 117 emit(A64_MOVN(is64, reg, (u16)~hi, 16), ctx); in emit_a64_mov_i() 119 emit(A64_MOVK(is64, reg, lo, 0), ctx); in emit_a64_mov_i() 122 emit(A64_MOVZ(is64, reg, lo, 0), ctx); in emit_a64_mov_i() 124 emit(A64_MOVK(is64, reg, hi, 16), ctx); in emit_a64_mov_i() 150 emit(A64_MOVN(1, reg, (rev_tmp >> shift) & 0xffff, shift), ctx); in emit_a64_mov_i64() 152 emit(A64_MOVZ(1, reg, (nrm_tmp >> shift) & 0xffff, shift), ctx); in emit_a64_mov_i64() 156 emit(A64_MOVK(1, reg, (nrm_tmp >> shift) & 0xffff, shift), ctx); in emit_a64_mov_i64() 164 emit(insn, ctx); in emit_bti() [all …]
|
/linux/tools/lib/bpf/ |
H A D | gen_loader.c | 96 static void emit(struct bpf_gen *gen, struct bpf_insn insn) in emit() function 106 emit(gen, insn1); in emit2() 107 emit(gen, insn2); in emit2() 121 emit(gen, BPF_MOV64_REG(BPF_REG_6, BPF_REG_1)); in bpf_gen__init() 124 emit(gen, BPF_MOV64_REG(BPF_REG_1, BPF_REG_10)); in bpf_gen__init() 125 emit(gen, BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -stack_sz)); in bpf_gen__init() 126 emit(gen, BPF_MOV64_IMM(BPF_REG_2, stack_sz)); in bpf_gen__init() 127 emit(gen, BPF_MOV64_IMM(BPF_REG_3, 0)); in bpf_gen__init() 128 emit(gen, BPF_EMIT_CALL(BPF_FUNC_probe_read_kernel)); in bpf_gen__init() 133 emit(gen, BPF_JMP_IMM(BPF_JA, 0, 0, in bpf_gen__init() [all …]
|
/linux/arch/arm/net/ |
H A D | bpf_jit_32.c | 283 * Emit an instruction that will be executed unconditionally. 285 static inline void emit(u32 inst, struct jit_ctx *ctx) in emit() function 472 emit(ARM_LDR_I(rd, ARM_PC, imm_offset(val, ctx)), ctx); in emit_mov_i_no8m() 474 emit(ARM_MOVW(rd, val & 0xffff), ctx); in emit_mov_i_no8m() 476 emit(ARM_MOVT(rd, val >> 16), ctx); in emit_mov_i_no8m() 485 emit(ARM_MOV_I(rd, imm12), ctx); in emit_mov_i() 493 emit(ARM_BX(tgt_reg), ctx); in emit_bx_r() 495 emit(ARM_MOV_R(ARM_PC, tgt_reg), ctx); in emit_bx_r() 501 emit(ARM_MOV_R(ARM_LR, ARM_PC), ctx); in emit_blx_r() 504 emit(ARM_BLX_R(tgt_reg), ctx); in emit_blx_r() [all …]
|
/linux/tools/net/sunrpc/xdrgen/generators/ |
H A D | union.py | 16 """Emit one declaration pair for an XDR union type""" 25 """Emit a definition for an XDR union's discriminant""" 40 """Emit a definition for an XDR union's case arm""" 55 """Emit one XDR union definition""" 74 """Emit a decoder for an XDR union's discriminant""" 81 """Emit decoder functions for an XDR union's case arm""" 105 """Emit a decoder function for an XDR union's default arm""" 132 """Emit one XDR union decoder""" 150 """Emit an encoder for an XDR union's discriminant""" 157 """Emit encoder functions for an XDR union's case arm""" [all …]
|
H A D | program.py | 15 """Emit procedure numbers for each RPC version's procedures""" 36 """Emit declarations for each RPC version's procedures""" 61 """Emit server argument decoders for each RPC version's procedures""" 75 """Emit client result decoders for each RPC version's procedures""" 89 """Emit client argument encoders for each RPC version's procedures""" 103 """Emit server result encoders for each RPC version's procedures""" 123 """Emit procedure numbers for each of an RPC programs's procedures""" 131 """Emit a declaration pair for each of an RPC programs's procedures""" 139 """Emit all decoder functions for an RPC program's procedures""" 155 """Emit all encoder functions for an RPC program's procedures"""
|
H A D | struct.py | 19 """Emit one declaration pair for an XDR struct type""" 28 """Emit a definition for one field in an XDR struct""" 82 """Emit one definition for an XDR struct type""" 96 """Emit a decoder for one field in an XDR struct""" 162 """Emit one decoder function for an XDR struct type""" 176 """Emit an encoder for one field in an XDR struct""" 239 """Emit one encoder function for an XDR struct type""" 259 """Emit one declaration pair for an XDR struct type""" 263 """Emit one definition for an XDR struct type""" 267 """Emit one decoder function for an XDR struct type""" [all …]
|
H A D | pointer.py | 19 """Emit a declaration pair for an XDR pointer type""" 28 """Emit a definition for one field in an XDR struct""" 82 """Emit a definition for an XDR pointer type""" 96 """Emit a decoder for one field in an XDR pointer""" 162 """Emit one decoder function for an XDR pointer type""" 176 """Emit an encoder for one field in a XDR pointer""" 239 """Emit one encoder function for an XDR pointer type""" 259 """Emit one declaration pair for an XDR pointer type""" 263 """Emit one declaration for an XDR pointer type""" 267 """Emit one decoder function for an XDR pointer type""" [all …]
|
H A D | __init__.py | 80 """Emit declaration header boilerplate""" 84 """Emit definition header boilerplate""" 88 """Emit generic source code for this XDR type""" 100 """Emit one function declaration for this XDR type""" 104 """Emit one decoder function for this XDR type""" 108 """Emit one definition for this XDR type""" 112 """Emit one encoder function for this XDR type"""
|
H A D | typedef.py | 19 """Emit a declaration pair for one XDR typedef""" 67 """Emit a definition for one XDR typedef""" 113 """Emit a decoder function for one XDR typedef""" 174 """Emit an encoder function for one XDR typedef""" 242 """Emit one declaration pair for an XDR enum type""" 246 """Emit one definition for an XDR typedef""" 250 """Emit one decoder function for an XDR typedef""" 254 """Emit one encoder function for an XDR typedef"""
|
/linux/arch/sparc/net/ |
H A D | bpf_jit_comp_64.c | 236 static void emit(const u32 insn, struct jit_ctx *ctx) in emit() function 258 emit(SETHI(0, G0), ctx); in emit_nop() 263 emit(OR | RS1(G0) | RS2(from) | RD(to), ctx); in emit_reg_move() 266 /* Emit 32-bit constant, zero extended. */ 269 emit(SETHI(K, reg), ctx); in emit_set_const() 270 emit(OR_LO(K, reg), ctx); in emit_set_const() 273 /* Emit 32-bit constant, sign extended. */ 277 emit(SETHI(K, reg), ctx); in emit_set_const_sext() 278 emit(OR_LO(K, reg), ctx); in emit_set_const_sext() 283 emit(SETHI(hbits, reg), ctx); in emit_set_const_sext() [all …]
|
/linux/Documentation/input/ |
H A D | uinput.rst | 48 void emit(int fd, int type, int code, int val) 95 emit(fd, EV_KEY, KEY_SPACE, 1); 96 emit(fd, EV_SYN, SYN_REPORT, 0); 97 emit(fd, EV_KEY, KEY_SPACE, 0); 98 emit(fd, EV_SYN, SYN_REPORT, 0); 122 /* emit function is identical to of the first example */ 159 emit(fd, EV_REL, REL_X, 5); 160 emit(fd, EV_REL, REL_Y, 5); 161 emit(fd, EV_SYN, SYN_REPORT, 0); 191 /* emit function is identical to of the first example */ [all …]
|
/linux/drivers/gpu/drm/i915/gt/ |
H A D | intel_ring.c | 23 space = __intel_ring_space(ring->head, ring->emit, ring->size); in intel_ring_update_space() 73 intel_ring_reset(ring, ring->emit); in intel_ring_pin() 90 ring->emit = tail; in intel_ring_reset() 210 ring->emit, ring->size)) in wait_for_space() 233 const unsigned int remain_usable = ring->effective_size - ring->emit; in intel_ring_begin() 246 const int remain_actual = ring->size - ring->emit; in intel_ring_begin() 291 GEM_BUG_ON(ring->emit + need_wrap > ring->size); in intel_ring_begin() 295 memset64(ring->vaddr + ring->emit, 0, need_wrap / sizeof(u64)); in intel_ring_begin() 297 ring->emit = 0; in intel_ring_begin() 300 GEM_BUG_ON(ring->emit > ring->size - bytes); in intel_ring_begin() [all …]
|
/linux/arch/x86/include/asm/ |
H A D | idtentry.h | 32 * as well which is used to emit the entry stubs in entry_32/64.S. 41 * DEFINE_IDTENTRY - Emit code for simple IDT entry points 92 * DEFINE_IDTENTRY_ERRORCODE - Emit code for simple IDT entry points 128 * DEFINE_IDTENTRY_RAW - Emit code for raw IDT entry points 145 * DEFINE_FREDENTRY_RAW - Emit code for raw FRED entry points 167 * DEFINE_IDTENTRY_RAW_ERRORCODE - Emit code for raw IDT entry points 195 * DEFINE_IDTENTRY_IRQ - Emit code for device interrupt IDT entry points 240 * DEFINE_IDTENTRY_SYSVEC - Emit code for system vector IDT entry points 275 * DEFINE_IDTENTRY_SYSVEC_SIMPLE - Emit code for simple system vector IDT 356 * DEFINE_IDTENTRY_IST - Emit code for IST entry points [all …]
|
/linux/scripts/dtc/ |
H A D | flattree.c | 236 static void flatten_tree(struct node *tree, struct emitter *emit, in flatten_tree() argument 247 emit->beginnode(etarget, tree->labels); in flatten_tree() 250 emit->string(etarget, tree->fullpath, 0); in flatten_tree() 252 emit->string(etarget, tree->name, 0); in flatten_tree() 254 emit->align(etarget, sizeof(cell_t)); in flatten_tree() 264 emit->property(etarget, prop->labels); in flatten_tree() 265 emit->cell(etarget, prop->val.len); in flatten_tree() 266 emit->cell(etarget, nameoff); in flatten_tree() 269 emit->align(etarget, 8); in flatten_tree() 271 emit->data(etarget, prop->val); in flatten_tree() [all …]
|