Expand description
Portable types and traits at the heart of squib.
This crate intentionally has zero OS dependencies: it defines the abstractions
that backend crates (squib-vz, squib-hvf) implement, the device traits the
VMM crate consumes, and the value types that flow through the API server. See
specs/squib-design.md for the architectural picture.
The crate is organized as:
error— theErrorenum every fallible operation in squib returns.memory— guest-physical address ranges and memory protection.exit— theVmExitenum that subsumes KVM’sVcpuExitand HVF/VZ exit shapes.vcpu— register file, interrupt descriptors, and theVcputrait.backend— theHypervisorBackend/Vmtrait pair plus capability discovery.lifecycle— the internalLifecyclePhasestate machine and the wire-shapeWireVmStatesurfaced byGET /.
Re-exports§
pub use backend::BackendCapabilities;pub use backend::BackendKind;pub use backend::HypervisorBackend;pub use backend::MAX_SUPPORTED_VCPUS;pub use backend::Vm;pub use error::Error;pub use error::Result;pub use exit::DebugInfo;pub use exit::VmExit;pub use identifiers::HOST_DEV_NAME_MAX_BYTES;pub use identifiers::HostDevName;pub use identifiers::IdentifierError;pub use lifecycle::LifecyclePhase;pub use lifecycle::WireVmState;pub use memory::GuestAddress;pub use memory::GuestMemory;pub use memory::GuestMemoryRegion;pub use memory::GuestRange;pub use memory::Protection;pub use memory::SliceGuestMemory;pub use vcpu::Irq;pub use vcpu::Regs;pub use vcpu::Vcpu;
Modules§
- backend
- The hypervisor backend trait surface.
- error
- Error type for portable squib operations.
- exit
- The portable
VmExitenum. - identifiers
- Squib-wide validated identifier newtypes.
- lifecycle
- VM lifecycle phases — internal six-state enum.
- memory
- Guest-physical address ranges and memory protection types.
- vcpu
- vCPU trait and the architecture-tagged register file.