1 .. contents:: 2 .. sectnum:: 3 4 =================================================== 5 BPF ABI Recommended Conventions and Guidelines v1.0 6 =================================================== 7 8 This is version 1.0 of an informational document containing recommended 9 conventions and guidelines for producing portable BPF program binaries. 10 11 Registers and calling convention 12 ================================ 13 14 BPF has 10 general purpose registers and a read-only frame pointer register, 15 all of which are 64-bits wide. 16 17 The BPF calling convention is defined as: 18 19 * R0: return value from function calls, and exit value for BPF programs 20 * R1 - R5: arguments for function calls 21 * R6 - R9: callee saved registers that function calls will preserve 22 * R10: read-only frame pointer to access stack 23 24 R0 - R5 are scratch registers and BPF programs needs to spill/fill them if 25 necessary across calls. 26 27 The BPF program needs to store the return value into register R0 before doing an 28 ``EXIT``.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.