Expand description
§arcbox-hypervisor
Cross-platform hypervisor abstraction layer for ArcBox.
This crate provides platform-agnostic traits for virtualization:
Hypervisor: Main entry point for creating VMsVirtualMachine: VM lifecycle managementVcpu: Virtual CPU executionGuestMemory: Guest memory access
§Platform Backends
- macOS: Uses
Virtualization.framework - Linux: Uses KVM (
/dev/kvm)
§Example
ⓘ
use arcbox_hypervisor::{create_hypervisor, VmConfig};
let hypervisor = create_hypervisor()?;
let config = VmConfig::builder()
.vcpu_count(4)
.memory_size(4 * 1024 * 1024 * 1024) // 4GB
.build();
let vm = hypervisor.create_vm(config)?;Re-exports§
pub use config::VmConfig;pub use config::VmConfigBuilder;pub use error::HypervisorError;pub use error::Result;pub use memory::GuestAddress;pub use memory::MemoryRegion;pub use traits::GuestMemory;pub use traits::Hypervisor;pub use traits::Vcpu;pub use traits::VirtualMachine;pub use types::Arm64Registers;pub use types::BalloonStats;pub use types::CpuArch;pub use types::DeviceSnapshot;pub use types::DirtyPageInfo;pub use types::MemoryRegionSnapshot;pub use types::PlatformCapabilities;pub use types::Registers;pub use types::VcpuExit;pub use types::VcpuSnapshot;pub use types::VirtioDeviceConfig;pub use types::VirtioDeviceType;pub use types::VmSnapshot;
Modules§
- config
- VM configuration types.
- error
- Error types for the hypervisor crate.
- linux
- Linux KVM hypervisor backend.
- memory
- Guest memory types and utilities.
- traits
- Core traits for hypervisor abstraction.
- types
- Common types used across the hypervisor crate.
Functions§
- create_
hypervisor - Creates the appropriate hypervisor for the current platform.