On Mon, Dec 18, 2017 at 10:51:53AM -0500, David Miller wrote: > From: Daniel Borkmann <dan...@iogearbox.net> > Date: Mon, 18 Dec 2017 01:33:07 +0100 > > > The following pull-request contains BPF updates for your *net-next* tree. > > > > The main changes are: > > > > 1) Allow arbitrary function calls from one BPF function to another BPF > > function. > > As of today when writing BPF programs, __always_inline had to be used in > > the BPF C programs for all functions, unnecessarily causing LLVM to > > inflate > > code size. Handle this more naturally with support for BPF to BPF calls > > such that this __always_inline restriction can be overcome. As a result, > > it allows for better optimized code and finally enables to introduce core > > BPF libraries in the future that can be reused out of different projects. > > x86 and arm64 JIT support was added as well, from Alexei. > > Exciting... but now there's a lot of JIT work to do.
I've looked at sparc64. It should be simpler than arm64. First reaction was that it would need dumb version of emit_loadimm64() (similar to arm's emit_addr_mov_i64), but not, since it's not used in emit_call. I can take a stab at it, but cannot test. The most time consuming part is to setup the latest llvm on the system to compile *_noinline.c tests. Note to self, I really need to make test_verifier run the tests.