rvvm/lib.rs
1#![doc = include_str!("../README.md")]
2
3/// # Flattened device tree
4///
5/// Contains
6/// - `NodeBuf`: owned version of the `Node`
7/// - `Node`: borrowed fdt node
8/// - Search filters like `AnyRegion`, needed for the
9/// `Node::find` implementation
10///
11/// Both are marked as `repr(transparent)` to the `*mut
12/// fdt_node`, `fdt_node` accordingly.
13pub mod fdt;
14
15/// # Virtual machine instance
16///
17/// Refer to the `Instance` struct for more information.
18/// With the virtual machine instance you can:
19///
20/// - Do read/writes to the RAM
21/// - Start/stop/pause VM execution
22/// - Load dtb/kernel/bootrom
23pub mod instance;
24
25/// # Device
26///
27/// Anything that is related to the mmio devices. Refer to
28/// the `mmio` module for the `Device` struct or the `type_`
29/// for the `DeviceType` struct.
30pub mod dev;
31
32/// # Structure builders
33///
34/// Builder pattern implementation for various structs.
35pub mod builders;
36
37/// # Errors
38///
39/// This module contains error enums for actions that can
40/// fail.
41pub mod error;
42
43/// # Types
44///
45/// Sound and type-safe wrappers around handles/callbacks
46pub mod types;
47
48/// # Prelude: contains everything for the quick-start
49pub mod prelude;
50
51mod declmacro;
52mod internal_utils;
53
54#[cfg(test)]
55mod tests;
56
57#[doc(hidden)]
58pub use paste as __paste;
59pub use rvvm_macro as macros;
60pub use rvvm_sys as ffi;