~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/bpf/standardization/abi.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/bpf/standardization/abi.rst (Architecture sparc64) and /Documentation/bpf/standardization/abi.rst (Architecture mips)


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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php