1#![no_std]
8
9extern crate alloc;
10#[cfg(test)]
11extern crate ax_runtime as _;
12#[cfg(test)]
13extern crate std;
14
15pub mod config;
18pub mod constants;
20mod device_type;
21pub mod error;
23pub mod memory;
25pub mod mmio;
27pub mod pci;
29pub mod queue;
31
32pub use config::VirtioConfig;
34pub use constants::*;
36pub use device_type::VirtioDeviceID;
37pub use error::{VirtioError, VirtioResult, map_virtio_error};
38pub use memory::{AddressSpaceMemory, DeviceContextMemory, GuestMemory, NoGuestMemoryAccessor};
39pub use mmio::state::{MmioReadOutcome, MmioWriteAction, VirtioMmioState};
40pub use pci::{
41 ActivityPermit, InterruptPublicationRequest, InterruptTransitionRequest, QueueNotification,
42 QueueNotifyOutcome, VirtioDeviceCore, VirtioPciTransport, VirtioPciWriteOutcome,
43 VirtioQueueGeneration,
44};
45pub use queue::{DescriptorChain, VirtioQueue};