arm64: eBPF JIT compiler
authorZi Shen Lim <zlim.lnx@gmail.com>
Wed, 27 Aug 2014 04:15:30 +0000 (21:15 -0700)
committerWill Deacon <will.deacon@arm.com>
Mon, 8 Sep 2014 13:39:21 +0000 (14:39 +0100)
commite54bcde3d69d40023ae77727213d14f920eb264a
treec21f9a42c5d0d7fc8a6a65f28acb99112673f909
parent5e6e15a2c4b529fd3cbf367b734842c4d8f6b0fa
arm64: eBPF JIT compiler

The JIT compiler emits A64 instructions. It supports eBPF only.
Legacy BPF is supported thanks to conversion by BPF core.

JIT is enabled in the same way as for other architectures:

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

Or for additional compiler output:

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

See Documentation/networking/filter.txt for more information.

The implementation passes all 57 tests in lib/test_bpf.c
on ARMv8 Foundation Model :) Also tested by Will on Juno platform.

Signed-off-by: Zi Shen Lim <zlim.lnx@gmail.com>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Documentation/networking/filter.txt
arch/arm64/Kconfig
arch/arm64/Makefile
arch/arm64/net/Makefile [new file with mode: 0644]
arch/arm64/net/bpf_jit.h [new file with mode: 0644]
arch/arm64/net/bpf_jit_comp.c [new file with mode: 0644]