81 lines
2.1 KiB
Diff
81 lines
2.1 KiB
Diff
|
From 311e344039d58cfde09dd34f14804db8ac0513c9 Mon Sep 17 00:00:00 2001
|
||
|
From: Peter Seiderer <ps.report@gmx.net>
|
||
|
Date: Fri, 2 Nov 2018 18:58:53 +0100
|
||
|
Subject: [PATCH] Add missing linux/bpf_common.h
|
||
|
|
||
|
Copy from [1], needed by bpf.h.
|
||
|
|
||
|
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/include/uapi/linux/bpf_common.h?h=v4.19
|
||
|
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
|
||
|
---
|
||
|
include/linux/bpf_common.h | 57 ++++++++++++++++++++++++++++++++++++++
|
||
|
1 file changed, 57 insertions(+)
|
||
|
create mode 100644 include/linux/bpf_common.h
|
||
|
|
||
|
diff --git a/include/linux/bpf_common.h b/include/linux/bpf_common.h
|
||
|
new file mode 100644
|
||
|
index 00000000..ee97668b
|
||
|
--- /dev/null
|
||
|
+++ b/include/linux/bpf_common.h
|
||
|
@@ -0,0 +1,57 @@
|
||
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||
|
+#ifndef _UAPI__LINUX_BPF_COMMON_H__
|
||
|
+#define _UAPI__LINUX_BPF_COMMON_H__
|
||
|
+
|
||
|
+/* Instruction classes */
|
||
|
+#define BPF_CLASS(code) ((code) & 0x07)
|
||
|
+#define BPF_LD 0x00
|
||
|
+#define BPF_LDX 0x01
|
||
|
+#define BPF_ST 0x02
|
||
|
+#define BPF_STX 0x03
|
||
|
+#define BPF_ALU 0x04
|
||
|
+#define BPF_JMP 0x05
|
||
|
+#define BPF_RET 0x06
|
||
|
+#define BPF_MISC 0x07
|
||
|
+
|
||
|
+/* ld/ldx fields */
|
||
|
+#define BPF_SIZE(code) ((code) & 0x18)
|
||
|
+#define BPF_W 0x00 /* 32-bit */
|
||
|
+#define BPF_H 0x08 /* 16-bit */
|
||
|
+#define BPF_B 0x10 /* 8-bit */
|
||
|
+/* eBPF BPF_DW 0x18 64-bit */
|
||
|
+#define BPF_MODE(code) ((code) & 0xe0)
|
||
|
+#define BPF_IMM 0x00
|
||
|
+#define BPF_ABS 0x20
|
||
|
+#define BPF_IND 0x40
|
||
|
+#define BPF_MEM 0x60
|
||
|
+#define BPF_LEN 0x80
|
||
|
+#define BPF_MSH 0xa0
|
||
|
+
|
||
|
+/* alu/jmp fields */
|
||
|
+#define BPF_OP(code) ((code) & 0xf0)
|
||
|
+#define BPF_ADD 0x00
|
||
|
+#define BPF_SUB 0x10
|
||
|
+#define BPF_MUL 0x20
|
||
|
+#define BPF_DIV 0x30
|
||
|
+#define BPF_OR 0x40
|
||
|
+#define BPF_AND 0x50
|
||
|
+#define BPF_LSH 0x60
|
||
|
+#define BPF_RSH 0x70
|
||
|
+#define BPF_NEG 0x80
|
||
|
+#define BPF_MOD 0x90
|
||
|
+#define BPF_XOR 0xa0
|
||
|
+
|
||
|
+#define BPF_JA 0x00
|
||
|
+#define BPF_JEQ 0x10
|
||
|
+#define BPF_JGT 0x20
|
||
|
+#define BPF_JGE 0x30
|
||
|
+#define BPF_JSET 0x40
|
||
|
+#define BPF_SRC(code) ((code) & 0x08)
|
||
|
+#define BPF_K 0x00
|
||
|
+#define BPF_X 0x08
|
||
|
+
|
||
|
+#ifndef BPF_MAXINSNS
|
||
|
+#define BPF_MAXINSNS 4096
|
||
|
+#endif
|
||
|
+
|
||
|
+#endif /* _UAPI__LINUX_BPF_COMMON_H__ */
|
||
|
--
|
||
|
2.19.1
|
||
|
|