axvirtio_common/lib.rs
1//! # AxVirtIO Common Library
2//!
3//! This crate provides common types, traits, and utilities for VirtIO device implementations.
4//! It includes memory management, queue handling, MMIO transport, and configuration structures
5//! that are shared across different VirtIO device types.
6
7#![no_std]
8
9extern crate alloc;
10
11/// Re-export commonly used modules
12/// VirtIO device configuration structures and utilities
13pub mod config;
14/// Common constants used across VirtIO implementations
15pub mod constants;
16mod device_type;
17/// Error types and result handling for VirtIO operations
18pub mod error;
19/// Scoped guest-memory capability used by queue operations.
20pub mod memory;
21/// MMIO transport layer for VirtIO devices
22pub mod mmio;
23/// VirtIO queue management and operations
24pub mod queue;
25
26/// Re-export commonly used types
27pub use config::VirtioConfig;
28/// Re-export commonly used constants
29pub use constants::*;
30pub use device_type::VirtioDeviceID;
31pub use error::{VirtioError, VirtioResult};
32pub use memory::{AddressSpaceMemory, GuestMemory, NoGuestMemoryAccessor};
33pub use mmio::state::{MmioReadOutcome, MmioWriteAction, VirtioMmioState};
34pub use queue::{DescriptorChain, VirtioQueue};