Crate solana_rbpf

Source
Expand description

Virtual machine and JIT compiler for eBPF programs.

Modules§

aligned_memory
Aligned memory
assembler
This module translates eBPF assembly language to binary.
disassembler
Functions in this module are used to handle eBPF programs with a higher level representation, for example to disassemble the code into a human-readable format.
ebpf
This module contains all the definitions related to eBPF, and some functions permitting to manipulate eBPF instructions.
elf
This module relocates a BPF ELF
elf_parser
Dependency-less 64 bit ELF parser
error
This module contains error and result types
fuzz
This module defines memory regions
insn_builder
Module provides API to create eBPF programs by Rust programming language
interpreter
Interpreter for eBPF programs.
memory_region
This module defines memory regions
program
Common interface for built-in and user supplied programs
static_analysis
Static Byte Code Analysis
syscalls
This module implements some built-in syscalls that can be called from within an eBPF program.
verifier
This “verifier” performs simple checks when the eBPF program is loaded into the VM (before it is interpreted or JIT-compiled). It has nothing to do with the much more elaborated verifier inside Linux kernel. There is no verification regarding the program flow control (should be a Direct Acyclic Graph) or the consistency for registers usage (the verifier of the kernel assigns types to the registers and is much stricter).
vm
Virtual machine for eBPF programs.

Macros§

declare_builtin_function
Generates an adapter for a BuiltinFunction between the Rust and the VM interface