https://github.com/saurvs/hypervisor-rs
Rust API to the OS X Hypervisor framework for hardware-accelerated virtualization
https://github.com/saurvs/hypervisor-rs
virtualization
Last synced: 3 months ago
JSON representation
Rust API to the OS X Hypervisor framework for hardware-accelerated virtualization
- Host: GitHub
- URL: https://github.com/saurvs/hypervisor-rs
- Owner: saurvs
- License: mit
- Created: 2016-03-25T14:18:00.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2019-12-23T10:18:47.000Z (about 6 years ago)
- Last Synced: 2025-02-28T08:43:26.136Z (about 1 year ago)
- Topics: virtualization
- Language: Rust
- Homepage:
- Size: 1.01 MB
- Stars: 64
- Watchers: 5
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-rust-cn - saurvs/hypervisor-rs - accelerated virtualization on OS X (Libraries / Virtualization)
- awesome-rust - saurvs/hypervisor-rs - accelerated virtualization on OS X (Libraries / Virtualization)
- awesome-rust - saurvs/hypervisor-rs - accelerated virtualization on OS X (Libraries / Virtualization)
- awesome-rust-cn - saurvs/hypervisor-rs
- awesome-rust-zh - saurvs/hypervisor-rs - OS X 上的硬件加速虚拟化 (库 / 虚拟化)
- fucking-awesome-rust - saurvs/hypervisor-rs - Hardware-accelerated virtualization on OS X (Libraries / Virtualization)
- awesome-rust - saurvs/hypervisor-rs - Hardware-accelerated virtualization on OS X (Libraries / Virtualization)
- awesome-rust - saurvs/hypervisor-rs - accelerated virtualization on OS X (库 Libraries / 虚拟化 Virtualization)
- awesome-rust-with-stars - saurvs/hypervisor-rs - accelerated virtualization on OS X | 2017-03-30 | (Libraries / Virtualization)
README
# hypervisor-rs [](https://crates.io/crates/hypervisor) [](https://github.com/saurvs/hypervisor-rs/blob/master/LICENSE.md)
`hypervisor` is a Rust library that taps into functionality that enables hardware-accelerated execution of
virtual machines on OS X.
It binds to the [Hypervisor](https://developer.apple.com/library/mac/documentation/Hypervisor/Reference/Hypervisor_Reference/index.html#//apple_ref/doc/uid/TP40016756) 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.
[Documentation](https://saurvs.github.io/hypervisor-rs/)
## Prerequisites
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 the Unrestricted Mode. To verify this, run and expect the
following in your Terminal:
```shell
$ sysctl kern.hv_support
kern.hv_support: 1
```
## Status
- [x] Accessing x86 registers
- [x] Accessing model-specific registers (MSRs)
- [x] Mapping guest physical memory segments into guest physical address space
- [x] Virtual CPUs
- [x] Executing and interrupting
- [x] Force flushing cached state
- [x] Invalidating translation lookaside buffer (TLB)
- [x] Accessing floating point (FP) and SIMD state
- [x] Obtaining cumulative execution time
- [x] Synchronizing guest timestamp-counters (TSC)
- [x] Accessing fields of Virtual Machine Control Structures (VMCS)