aboutsummaryrefslogtreecommitdiff
path: root/Documentation/bpf/instruction-set.rst
diff options
context:
space:
mode:
authorDave Thaler2023-03-08 20:53:03 +0000
committerAlexei Starovoitov2023-03-10 13:02:00 -0800
commitc1f9e14e3b676eb88fe1c9488c0b5f4fc9108a1c (patch)
treec895db124ca1ed63b2683c3136c3a83f2fd7de0a /Documentation/bpf/instruction-set.rst
parent74843b57ec70af7b67b7e6153374834ee18d139f (diff)
bpf, docs: Explain helper functions
Add brief text about existence of helper functions, with details to go in separate psABI text. Note that text about runtime functions (kfuncs) is part of a separate patch, not this one. Signed-off-by: Dave Thaler <dthaler@microsoft.com> Link: https://lore.kernel.org/r/20230308205303.1308-1-dthaler1968@googlemail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'Documentation/bpf/instruction-set.rst')
-rw-r--r--Documentation/bpf/instruction-set.rst9
1 files changed, 8 insertions, 1 deletions
diff --git a/Documentation/bpf/instruction-set.rst b/Documentation/bpf/instruction-set.rst
index db8789e6969e..5e43e14abe80 100644
--- a/Documentation/bpf/instruction-set.rst
+++ b/Documentation/bpf/instruction-set.rst
@@ -253,7 +253,7 @@ BPF_JSET 0x40 PC += off if dst & src
BPF_JNE 0x50 PC += off if dst != src
BPF_JSGT 0x60 PC += off if dst > src signed
BPF_JSGE 0x70 PC += off if dst >= src signed
-BPF_CALL 0x80 function call
+BPF_CALL 0x80 function call see `Helper functions`_
BPF_EXIT 0x90 function / program return BPF_JMP only
BPF_JLT 0xa0 PC += off if dst < src unsigned
BPF_JLE 0xb0 PC += off if dst <= src unsigned
@@ -264,6 +264,13 @@ BPF_JSLE 0xd0 PC += off if dst <= src signed
The eBPF program needs to store the return value into register R0 before doing a
BPF_EXIT.
+Helper functions
+~~~~~~~~~~~~~~~~
+
+Helper functions are a concept whereby BPF programs can call into a
+set of function calls exposed by the runtime. Each helper
+function is identified by an integer used in a ``BPF_CALL`` instruction.
+The available helper functions may differ for each program type.
Load and store instructions
===========================