[PATCH] RFC: arm: eBPF JIT compiler
Andrew Lunn
andrew at lunn.ch
Thu May 25 10:22:55 PDT 2017
On Thu, May 25, 2017 at 07:00:51PM +0200, Andrew Lunn wrote:
> On Thu, May 25, 2017 at 02:01:36AM +0530, Shubham Bansal wrote:
> > Hi Andrew,
> >
> > I am attaching the latest patch which should work on ARMv5 , ARMv6 and ARMv7.
> >
> > Please test on your machines. Apologies for the last patch. This patch
> > should work though.
>
> andrew at shuttle:~/linux$ make -s -j 16
> arch/arm/net/bpf_jit_32.c:1755:12: warning: âvalidate_codeâ defined but not used [-Wunused-function]
> static int validate_code(struct jit_ctx *ctx)
> ^~~~~~~~~~~~~
> arch/arm/net/bpf_jit_32.c:1724:12: warning: âbuild_bodyâ defined but not used [-Wunused-function]
> static int build_body(struct jit_ctx *ctx)
> ^~~~~~~~~~
> arch/arm/net/bpf_jit_32.c:1122:13: warning: âbuild_epilogueâ defined but not used [-Wunused-function]
> static void build_epilogue(struct jit_ctx *ctx)
> ^~~~~~~~~~~~~~
> arch/arm/net/bpf_jit_32.c:1049:13: warning: âbuild_prologueâ defined but not used [-Wunused-function]
> static void build_prologue(struct jit_ctx *ctx)
> ^~~~~~~~~~~~~~
> arch/arm/net/bpf_jit_32.c:174:13: warning: âjit_fill_holeâ defined but not used [-Wunused-function]
> static void jit_fill_hole(void *area, unsigned int size)
> ^~~~~~~~~~~~~
>
> I _think_ this is because CONFIG_CPU_LITTLE_ENDIAN is not set. But it
> is a little endian machine/configuration. ARM does not seem to use
> CONFIG_CPU_LITTLE_ENDIAN, it just has CPU_BIG_ENDIAN.
After removing the #ifdef:
test_bpf: Summary: 314 PASSED, 0 FAILED, [272/306 JIT'ed]
Each test prints:
ARM version : 5
ARM version : 5
So the code needs some cleanup, but seems to basically work.
Andrew
More information about the linux-arm-kernel
mailing list