bpf jit: Let the powerpc jit handle negative offsets
authorJan Seiffert <kaffeemonster@googlemail.com>
Sun, 29 Apr 2012 19:02:19 +0000 (19:02 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 30 Apr 2012 17:40:50 +0000 (13:40 -0400)
commit05be18241e83d2ac6b656c8f924e74b3998c173f
tree4f0637e3fb5116fa259130b75a5dfdcb3e3335e7
parent518fbf9cdf17875d808596afd77fc115a6f942ca
bpf jit: Let the powerpc jit handle negative offsets

Now the helper function from filter.c for negative offsets is exported,
it can be used it in the jit to handle negative offsets.

First modify the asm load helper functions to handle:
- know positive offsets
- know negative offsets
- any offset

then the compiler can be modified to explicitly use these helper
when appropriate.

This fixes the case of a negative X register and allows to lift
the restriction that bpf programs with negative offsets can't
be jited.

Tested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Jan Seiffert <kaffeemonster@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/powerpc/net/bpf_jit.h
arch/powerpc/net/bpf_jit_64.S
arch/powerpc/net/bpf_jit_comp.c