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