Go to file
Sandipan Das 8484ce8306 bpf: powerpc64: add JIT support for multi-function programs
This adds support for bpf-to-bpf function calls in the powerpc64
JIT compiler. The JIT compiler converts the bpf call instructions
to native branch instructions. After a round of the usual passes,
the start addresses of the JITed images for the callee functions
are known. Finally, to fixup the branch target addresses, we need
to perform an extra pass.

Because of the address range in which JITed images are allocated
on powerpc64, the offsets of the start addresses of these images
from __bpf_call_base are as large as 64 bits. So, for a function
call, we cannot use the imm field of the instruction to determine
the callee's address. Instead, we use the alternative method of
getting it from the list of function addresses in the auxiliary
data of the caller by using the off field as an index.

Signed-off-by: Sandipan Das <sandipan@linux.vnet.ibm.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2018-05-24 09:20:49 +02:00
Documentation Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2018-05-16 22:47:11 -04:00
LICENSES
arch bpf: powerpc64: add JIT support for multi-function programs 2018-05-24 09:20:49 +02:00
block
certs
crypto
drivers nfp: bpf: support arithmetic indirect right shift (BPF_ARSH | BPF_X) 2018-05-18 21:35:55 +02:00
firmware
fs vmcore: append device dumps to vmcore as elf notes 2018-05-14 13:46:04 -04:00
include bpf: btf: Rename btf_key_id and btf_value_id in bpf_map_info 2018-05-23 12:03:32 +02:00
init Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2018-05-16 22:47:11 -04:00
ipc
kernel bpf: support 64-bit offsets for bpf function calls 2018-05-24 09:20:48 +02:00
lib
mm
net bpf: Add mtu checking to FIB forwarding helper 2018-05-22 10:51:09 +02:00
samples samples/bpf: adapt xdpsock to the new uapi 2018-05-22 10:25:06 +02:00
scripts bpf: change eBPF helper doc parsing script to allow for smaller indent 2018-05-17 17:34:43 +02:00
security
sound
tools tools/lib/libbpf.c: fix string format to allow build on arm32 2018-05-23 20:18:00 +02:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS MAINTAINERS: Add entry for Microsemi Ethernet switches 2018-05-15 16:41:15 -04:00
Makefile
README

README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.