Skip to main content

Crate arcbox_hypervisor

Crate arcbox_hypervisor 

Source
Expand description

§arcbox-hypervisor

Cross-platform hypervisor abstraction layer for ArcBox.

This crate provides platform-agnostic traits for virtualization:

§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.