Expand description
§General crates
sel4
: Straightforward, pure-Rust bindings to the seL4 API.sel4_sys
: Raw bindings to the seL4 API, generated from the libsel4 headers and interface definition files. This crate is not intended to be used directly by application code, but rather serves as a basis for thesel4
crate’s implementation.sel4_config
: Macros and constants corresponding to the seL4 kernel configuration. Can be used by all targets (i.e. in all of: application code, build scripts, and build-time tools).sel4_platform_info
: Constants corresponding to the contents ofplatform_info.h
. Can be used by all targets, on configurations where this file exists.sel4_sync
: Synchronization constructs using seL4 IPC. Currently only supports notification-based mutexes.sel4_logging
:Log
implementation for thelog
crate.sel4_externally_shared
: Abstractions for interacting with data in shared memory.sel4_shared_ring_buffer
andsel4_shared_ring_buffer_*
: Implementation of shared data structures used in the seL4 Device Driver Framework.sel4_async_*
: Crates for leveraging async Rust in seL4 userspace.sel4_*_driver
: Crates implementing drivers for use withsel4_shared_ring_buffer_*
and the orthogonalsel4_driver_interfaces
.- …and many more, including lower-level crates for implementing additional runtimes.
§Runtime crates
- Root task:
sel4_root_task
: A runtime for root tasks that supports thread-local storage and unwinding, and provides a global allocator.
- seL4 Microkit:
sel4_microkit
: A runtime for seL4 Microkit protection domains, including an implementation of libmicrokit and abstractions for IPC.
Re-exports§
pub use sel4;
pub use sel4_sys;
pub use sel4_config;
pub use sel4_async_block_io;
pub use sel4_async_block_io_fat;
pub use sel4_async_io;
pub use sel4_async_network;
pub use sel4_async_single_threaded_executor;
pub use sel4_async_time;
pub use sel4_async_unsync;
pub use sel4_atomic_ptr;
pub use sel4_bounce_buffer_allocator;
pub use sel4_dlmalloc;
pub use sel4_driver_interfaces;
pub use sel4_elf_header;
pub use sel4_immediate_sync_once_cell;
pub use sel4_immutable_cell;
pub use sel4_initialize_tls;
pub use sel4_logging;
pub use sel4_newlib;
pub use sel4_one_ref_cell;
pub use sel4_panicking;
pub use sel4_panicking_env;
pub use sel4_stack;
pub use sel4_sync;
pub use sel4_sync_trivial;
pub use sel4_bcm2835_aux_uart_driver;
pub use sel4_pl011_driver;
pub use sel4_pl031_driver;
pub use sel4_sp804_driver;
pub use sel4_virtio_net;
pub use sel4_virtio_blk;
pub use sel4_virtio_hal_impl;
pub use sel4_platform_info;
pub use sel4_root_task;
Modules§
- Placeholder for crates which are not part of this view.