Commit e8cb0167 authored by Björn Töpel's avatar Björn Töpel Committed by Daniel Borkmann
Browse files

bpf, doc: add RISC-V JIT to BPF documentation



Update Documentation/networking/filter.txt and
Documentation/sysctl/net.txt to mention RISC-V.

Signed-off-by: default avatarBjörn Töpel <bjorn.topel@gmail.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
parent 8a9e0aff
Loading
Loading
Loading
Loading
+9 −7
Original line number Original line Diff line number Diff line
@@ -464,10 +464,11 @@ breakpoints: 0 1
JIT compiler
JIT compiler
------------
------------


The Linux kernel has a built-in BPF JIT compiler for x86_64, SPARC, PowerPC,
The Linux kernel has a built-in BPF JIT compiler for x86_64, SPARC,
ARM, ARM64, MIPS and s390 and can be enabled through CONFIG_BPF_JIT. The JIT
PowerPC, ARM, ARM64, MIPS, RISC-V and s390 and can be enabled through
compiler is transparently invoked for each attached filter from user space
CONFIG_BPF_JIT. The JIT compiler is transparently invoked for each
or for internal kernel users if it has been previously enabled by root:
attached filter from user space or for internal kernel users if it has
been previously enabled by root:


  echo 1 > /proc/sys/net/core/bpf_jit_enable
  echo 1 > /proc/sys/net/core/bpf_jit_enable


@@ -603,9 +604,10 @@ got from bpf_prog_create(), and 'ctx' the given context (e.g.
skb pointer). All constraints and restrictions from bpf_check_classic() apply
skb pointer). All constraints and restrictions from bpf_check_classic() apply
before a conversion to the new layout is being done behind the scenes!
before a conversion to the new layout is being done behind the scenes!


Currently, the classic BPF format is being used for JITing on most 32-bit
Currently, the classic BPF format is being used for JITing on most
architectures, whereas x86-64, aarch64, s390x, powerpc64, sparc64, arm32 perform
32-bit architectures, whereas x86-64, aarch64, s390x, powerpc64,
JIT compilation from eBPF instruction set.
sparc64, arm32, riscv (RV64G) perform JIT compilation from eBPF
instruction set.


Some core changes of the new internal format:
Some core changes of the new internal format:


+1 −0
Original line number Original line Diff line number Diff line
@@ -52,6 +52,7 @@ two flavors of JITs, the newer eBPF JIT currently supported on:
  - sparc64
  - sparc64
  - mips64
  - mips64
  - s390x
  - s390x
  - riscv


And the older cBPF JIT supported on the following archs:
And the older cBPF JIT supported on the following archs:
  - mips
  - mips