ARM: 7259/3: net: JIT compiler for packet filters

Based of Matt Evans's PPC64 implementation.

The compiler generates ARM instructions but interworking is
supported for Thumb2 kernels.

Supports both little and big endian. Unaligned loads are emitted
for ARMv6+. Not all the BPF opcodes that deal with ancillary data
are supported. The scratch memory of the filter lives on the stack.
Hardware integer division is used if it is available.

Enabled in the same way as for x86-64 and PPC64:

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

A value greater than 1 enables opcode output.

Signed-off-by: Mircea Gherzan <mgherzan@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Mircea Gherzan
2012-03-16 13:37:12 +01:00
committed by Russell King
orang tua 09f05d8529
melakukan ddecdfcea0
5 mengubah file dengan 1110 tambahan dan 0 penghapusan

3
arch/arm/net/Makefile Normal file
Melihat File

@@ -0,0 +1,3 @@
# ARM-specific networking code
obj-$(CONFIG_BPF_JIT) += bpf_jit_32.o