/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/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/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/tools/net/sunrpc/xdrgen/generators/ |
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"""
|
/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 …]
|
/linux/drivers/gpu/drm/radeon/ |
H A D | uvd_v3_1.c | 30 * uvd_v3_1_semaphore_emit - emit semaphore command 34 * @semaphore: semaphore to emit commands for 35 * @emit_wait: true if we should emit a wait command 37 * Emit a semaphore command (either wait or signal) to the UVD ring.
|
H A D | uvd_v2_2.c | 32 * uvd_v2_2_fence_emit - emit an fence & trap command 35 * @fence: fence to emit 63 * uvd_v2_2_semaphore_emit - emit semaphore command 67 * @semaphore: semaphore to emit commands for 68 * @emit_wait: true if we should emit a wait command 70 * Emit a semaphore command (either wait or signal) to the UVD ring.
|
/linux/scripts/ |
H A D | syscallhdr.sh | 19 …echo >&2 "usage: $0 [--abis ABIS] [--emit-nr] [--offset OFFSET] [--prefix PREFIX] INFILE OUTFILE" … 26 echo >&2 " --emit-nr Emit the macro of the number of syscalls (__NR_syscalls)" 44 --emit-nr)
|
/linux/tools/testing/selftests/bpf/prog_tests/ |
H A D | reg_bounds.c | 842 #define emit(insn) ({ \ in load_range_cmp_prog() macro 862 emit(BPF_JMP_A(2)); in load_range_cmp_prog() 869 emit(BPF_MOV64_IMM(BPF_REG_0, 0)); in load_range_cmp_prog() 870 emit(BPF_EXIT_INSN()); in load_range_cmp_prog() 878 emit(BPF_EMIT_CALL(BPF_FUNC_get_current_pid_tgid)); in load_range_cmp_prog() 880 emit(BPF_MOV32_REG(BPF_REG_6, BPF_REG_0)); in load_range_cmp_prog() 882 emit(BPF_MOV64_REG(BPF_REG_6, BPF_REG_0)); in load_range_cmp_prog() 883 emit(BPF_EMIT_CALL(BPF_FUNC_get_current_pid_tgid)); in load_range_cmp_prog() 885 emit(BPF_MOV32_REG(BPF_REG_7, BPF_REG_0)); in load_range_cmp_prog() 887 emit(BPF_MOV64_REG(BPF_REG_7, BPF_REG_0)); in load_range_cmp_prog() [all …]
|
/linux/arch/arm/include/asm/ |
H A D | opcodes.h | 179 * __inst_arm(x): emit the specified ARM opcode 180 * __inst_thumb16(x): emit the specified 16-bit Thumb opcode 181 * __inst_thumb32(x): emit the specified 32-bit Thumb opcode 183 * __inst_arm_thumb16(arm, thumb): emit either the specified arm or 187 * __inst_arm_thumb32(arm, thumb): emit either the specified arm or
|
/linux/arch/x86/net/ |
H A D | bpf_jit_comp.c | 37 #define EMIT(bytes, len) \ macro 40 #define EMIT1(b1) EMIT(b1, 1) 41 #define EMIT2(b1, b2) EMIT((b1) + ((b2) << 8), 2) 42 #define EMIT3(b1, b2, b3) EMIT((b1) + ((b2) << 8) + ((b3) << 16), 3) 43 #define EMIT4(b1, b2, b3, b4) EMIT((b1) + ((b2) << 8) + ((b3) << 16) + ((b4) << 24), 4) 46 do { EMIT1(b1); EMIT(off, 4); } while (0) 48 do { EMIT2(b1, b2); EMIT(off, 4); } while (0) 50 do { EMIT3(b1, b2, b3); EMIT(off, 4); } while (0) 52 do { EMIT4(b1, b2, b3, b4); EMIT(off, 4); } while (0) 55 #define EMIT_ENDBR() EMIT(gen_endbr(), 4) [all …]
|
/linux/include/uapi/drm/ |
H A D | radeon_drm.h | 176 #define RADEON_CMD_PACKET 1 /* emit one of the register packets above */ 177 #define RADEON_CMD_SCALARS 2 /* emit scalar data */ 178 #define RADEON_CMD_VECTORS 3 /* emit vector data */ 180 #define RADEON_CMD_PACKET3 5 /* emit hw packet */ 181 #define RADEON_CMD_PACKET3_CLIP 6 /* emit hw packet wrapped in cliprects */ 183 #define RADEON_CMD_WAIT 8 /* emit hw wait commands -- note: 226 #define R300_CMD_VPU 2 /* emit vertex program upload */ 227 #define R300_CMD_PACKET3 3 /* emit a packet3 */ 228 #define R300_CMD_END3D 4 /* emit sequence ending 3d rendering */ 267 unsigned short count; /* amount of packet2 to emit */ [all …]
|
/linux/arch/s390/include/asm/ |
H A D | dwarf.h | 22 * Emit CFI data in .debug_frame sections and not in .eh_frame 30 * For vDSO, emit CFI data in both, .eh_frame and .debug_frame
|
/linux/arch/riscv/mm/ |
H A D | cacheflush.c | 193 * that no thread in the process will emit fence.i from this point onward. 209 * permitted to emit icache flushing instructions. Whenever any thread in the 213 * may attempt to execute, the other thread must still emit an icache flushing 218 * thread calling this function is permitted to emit icache flushing
|