[PATCH bpf-next 16/17] docs/bpf: Add bpf() syscall command reference
From: Joe Stringer <hidden>
Date: 2021-02-17 01:10:14
Also in:
bpf
Subsystem:
bpf [general] (safe dynamic programs and tools), documentation, the rest · Maintainers:
Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko, Eduard Zingerman, Kumar Kartikeya Dwivedi, Jonathan Corbet, Linus Torvalds
From: Joe Stringer <redacted> Generate the syscall command reference from the UAPI header file and include it in the main bpf docs page. Reviewed-by: Quentin Monnet <redacted> Signed-off-by: Joe Stringer <redacted> --- Documentation/Makefile | 2 ++ Documentation/bpf/Makefile | 28 ++++++++++++++++++++++++++++ Documentation/bpf/bpf_commands.rst | 5 +++++ Documentation/bpf/index.rst | 14 +++++++++++--- 4 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 Documentation/bpf/Makefile create mode 100644 Documentation/bpf/bpf_commands.rst
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 9c42dde97671..408542825cc2 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile@@ -73,6 +73,7 @@ loop_cmd = $(echo-cmd) $(cmd_$(1)) || exit; quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4) cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/userspace-api/media $2 && \ + $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/bpf $2 && \ PYTHONDONTWRITEBYTECODE=1 \ BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \ $(PYTHON3) $(srctree)/scripts/jobserver-exec \
@@ -133,6 +134,7 @@ refcheckdocs: cleandocs: $(Q)rm -rf $(BUILDDIR) + $(Q)$(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/bpf clean $(Q)$(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/userspace-api/media clean dochelp:
diff --git a/Documentation/bpf/Makefile b/Documentation/bpf/Makefile
new file mode 100644
index 000000000000..4f14db0891cc
--- /dev/null
+++ b/Documentation/bpf/Makefile@@ -0,0 +1,28 @@ +# SPDX-License-Identifier: GPL-2.0 + +# Rules to convert a .h file to inline RST documentation + +SRC_DIR = $(srctree)/Documentation/bpf +PARSER = $(srctree)/scripts/bpf_doc.py +UAPI = $(srctree)/include/uapi/linux + +TARGETS = $(BUILDDIR)/bpf/bpf_syscall.rst + +$(BUILDDIR)/bpf/bpf_syscall.rst: $(UAPI)/bpf.h + $(PARSER) syscall > $@ + +.PHONY: all html epub xml latex linkcheck clean + +all: $(IMGDOT) $(BUILDDIR)/bpf $(TARGETS) + +html: all +epub: all +xml: all +latex: $(IMGPDF) all +linkcheck: + +clean: + -rm -f -- $(TARGETS) 2>/dev/null + +$(BUILDDIR)/bpf: + $(Q)mkdir -p $@
diff --git a/Documentation/bpf/bpf_commands.rst b/Documentation/bpf/bpf_commands.rst
new file mode 100644
index 000000000000..da388ffac85b
--- /dev/null
+++ b/Documentation/bpf/bpf_commands.rst@@ -0,0 +1,5 @@ +************************** +bpf() subcommand reference +************************** + +.. kernel-include:: $BUILDDIR/bpf/bpf_syscall.rst
diff --git a/Documentation/bpf/index.rst b/Documentation/bpf/index.rst
index 4f2874b729c3..631d02d4dc49 100644
--- a/Documentation/bpf/index.rst
+++ b/Documentation/bpf/index.rst@@ -12,9 +12,6 @@ BPF instruction-set. The Cilium project also maintains a `BPF and XDP Reference Guide`_ that goes into great technical depth about the BPF Architecture. -The primary info for the bpf syscall is available in the `man-pages`_ -for `bpf(2)`_. - BPF Type Format (BTF) =====================
@@ -35,6 +32,17 @@ Two sets of Questions and Answers (Q&A) are maintained. bpf_design_QA bpf_devel_QA +Syscall API +=========== + +The primary info for the bpf syscall is available in the `man-pages`_ +for `bpf(2)`_. + +.. toctree:: + :maxdepth: 1 + + bpf_commands + Helper functions ================
--
2.27.0