Crate hypervisor

Source
Expand description

This is a Rust library that taps into functionality that enables hardware-accelerated execution of virtual machines on OS X.

It binds to the Hypervisor framework on OS X, and exposes a safe Rust interface through the hypervisor module, and an unsafe foreign function interface through the hypervisor::ffi module.

To use this library, you need

  • OS X Yosemite (10.10), or newer

  • an Intel processor with the VT-x feature set that includes Extended Page Tables (EPT) and Unrestricted Mode. To verify this, run and expect the following in your Terminal:

    $ sysctl kern.hv_support
    kern.hv_support: 1

!

Modules§

consts
Some useful constants
ffi
Bindings to the Hypervisor Framework

Structs§

vCPU
Virtual CPU

Enums§

Error
Error returned after every call
MemPerm
Guest physical memory region permissions
VMXCap
VMX cabability
x86Reg
x86 architectural register

Functions§

create_vm
Creates a VM instance for the current Mach task
destroy_vm
Destroys the VM instance associated with the current Mach task
interrupt_vcpus
Forces an immediate VMEXIT of a set of vCPUs
map_mem
Maps a region in the virtual address space of the current Mach task into the guest physical address space of the virutal machine
protect_mem
Modifies the permissions of a region in the guest physical address space of the virtual machine
read_vmx_cap
Reads a VMX capability of the host processor
sync_tsc
Synchronizes the guest Timestamp-Counters (TSC) across all vCPUs
unmap_mem
Unmaps a region in the guest physical address space of the virutal machine