• Home
  • Raw
  • Download

Lines Matching refs:BPF

20 local BPF, HELPER = ffi.typeof('struct bpf'), ffi.typeof('struct bpf_func_id')
22 [1] = BPF.B, [2] = BPF.H, [4] = BPF.W, [8] = BPF.DW,
79 e.emit(BPF.ALU + BPF.END + BPF.TO_BE, e.vreg(dst), 0, 0, w)
87 e.emit(BPF.ALU + BPF.END + BPF.TO_LE, e.vreg(dst), 0, 0, w)
121 e.emit(BPF.JMP + BPF.JEQ + BPF.K, dst_reg, 0, 1, 0) -- if (dst != NULL)
123 e.emit(BPF.XADD + BPF.STX + const_width[w], dst_reg, src_reg, off or 0, 0)
133 e.emit(BPF.ALU64 + BPF.MOV + BPF.X, 1, 10, 0, 0)
137 e.emit(BPF.ALU64 + BPF.ADD + BPF.K, 1, 0, 0, -e.V[dst].const.__base)
146 e.emit(BPF.ALU64 + BPF.MOV + BPF.K, 2, 0, 0, w)
150 e.emit(BPF.ALU64 + BPF.MOV + BPF.X, 3, e.V[src].reg, 0, 0)
156 e.emit(BPF.ALU64 + BPF.ADD + BPF.K, 3, 0, 0, ofs)
162 e.emit(BPF.JMP + BPF.CALL, 0, 0, 0, HELPER.probe_read)
211 e.emit(BPF.ALU64 + BPF.MOV + BPF.X, 1, 10, 0, 0)
213 e.emit(BPF.ALU64 + BPF.ADD + BPF.K, 1, 0, 0, -e.V[dst].spill)
215 e.emit(BPF.ALU64 + BPF.ADD + BPF.K, 1, 0, 0, -e.V[dst].const.__base)
221 e.emit(BPF.ALU64 + BPF.MOV + BPF.K, 2, 0, 0, ffi.sizeof(dst_tname))
225 e.emit(BPF.ALU64 + BPF.MOV + BPF.X, 3, e.V[src].reg, 0, 0)
233 e.emit(BPF.JMP + BPF.CALL, 0, 0, 0, HELPER.probe_read)
263 e.emit(BPF.ALU64 + BPF.MOV + BPF.X, 1, 10, 0, 0)
264 e.emit(BPF.ALU64 + BPF.ADD + BPF.K, 1, 0, 0, -e.V[fmt].const.__base)
265 e.emit(BPF.ALU64 + BPF.MOV + BPF.K, 2, 0, 0, ffi.sizeof(e.V[fmt].type))
277 e.emit(BPF.JMP + BPF.CALL, 0, 0, 0, HELPER.trace_printk)
287 e.LD_IMM_X(2, BPF.PSEUDO_MAP_FD, map.fd, ffi.sizeof('uint64_t'))
290 e.emit(BPF.ALU64 + BPF.MOV + BPF.X, 1, 6, 0, 0) -- CTX is always in R6, copy
296 e.emit(BPF.ALU64 + BPF.MOV + BPF.X, 4, 10, 0, 0)
297 e.emit(BPF.ALU64 + BPF.ADD + BPF.K, 4, 0, 0, -e.V[src].const.__base)
299 e.emit(BPF.ALU64 + BPF.MOV + BPF.K, 5, 0, 0, ffi.sizeof(e.V[src].type))
303 e.emit(BPF.JMP + BPF.CALL, 0, 0, 0, HELPER.perf_event_output)
314 e.emit(BPF.ALU64 + BPF.MOV + BPF.X, 1, 6, 0, 0) -- CTX is always in R6, copy
317 e.emit(BPF.ALU64 + BPF.MOV + BPF.X, 3, 10, 0, 0)
318 e.emit(BPF.ALU64 + BPF.ADD + BPF.K, 3, 0, 0, -e.V[var].const.__base)
320 e.emit(BPF.ALU64 + BPF.MOV + BPF.K, 4, 0, 0, ffi.sizeof(e.V[var].type))
324 e.emit(BPF.JMP + BPF.CALL, 0, 0, 0, HELPER.skb_load_bytes)
334 e.LD_IMM_X(2, BPF.PSEUDO_MAP_FD, map.fd, ffi.sizeof('uint64_t'))
337 e.emit(BPF.ALU64 + BPF.MOV + BPF.X, 1, 6, 0, 0) -- CTX is always in R6, copy
346 e.emit(BPF.JMP + BPF.CALL, 0, 0, 0, HELPER.get_stackid)
363 e.emit(BPF.ALU64 + BPF.MOV + BPF.X, 1, 10, 0, 0)
364 e.emit(BPF.ALU64 + BPF.ADD + BPF.K, 1, 0, 0, -e.V[dst].const.__base)
367 e.emit(BPF.ALU64 + BPF.MOV + BPF.K, 2, 0, 0, ffi.sizeof(e.V[dst].type))
371 e.emit(BPF.JMP + BPF.CALL, 0, 0, 0, HELPER.get_current_comm)
383 e.emit(BPF.ALU64 + BPF.MOV + BPF.K, r, 0, 0, 0)
391 e.emit(BPF.ALU64 + BPF.NEG + BPF.K, v, 0, 0, 0) -- v = ~v
396 e.emit(BPF.JMP + BPF.JGT + BPF.K, v, 0, 2, bit.bnot(bit.lshift(1, k))) -- if !upper_half(x)
397 e.emit(BPF.ALU64 + BPF.ARSH + BPF.K, v, 0, 0, k) -- v >>= k
398 e.emit(BPF.ALU64 + BPF.OR + BPF.K, r, 0, 0, k) -- r |= k
409 e.emit(BPF.ALU64 + BPF.ADD + BPF.K, r, 0, 0, 1) -- Compensate round-down
410 e.emit(BPF.ALU64 + BPF.MUL + BPF.K, r, 0, 0, 1233) -- log2(10) ~ 1233>>12
411 e.emit(BPF.ALU64 + BPF.RSH + BPF.K, r, 0, 0, 12)
418 e.emit(BPF.ALU64 + BPF.ADD + BPF.K, r, 0, 0, 1) -- Compensate round-down
419 e.emit(BPF.ALU64 + BPF.MUL + BPF.K, r, 0, 0, 2839) -- log2(e) ~ 2839>>12
420 e.emit(BPF.ALU64 + BPF.RSH + BPF.K, r, 0, 0, 12)
427 e.emit(BPF.JMP + BPF.CALL, 0, 0, 0, h)