17 unstable releases (5 breaking)
| 0.6.4 | Oct 8, 2025 |
|---|---|
| 0.6.2 | Sep 24, 2025 |
| 0.5.2 | Jul 11, 2025 |
| 0.3.4 | Feb 27, 2025 |
| 0.3.2 | Nov 26, 2024 |
#24 in FFI
30,715 downloads per month
Used in 4 crates
(3 directly)
1.5MB
44K
SLoC
mshv
Microsoft Hypervisor wrappers. This repository provides two crates which are mshv-bindings and mshv-ioctls. These crates will provide the APIs and definitions to create a VMM on Microsoft Hypervisor along with other rust-vmm crates.
Supported Platforms
The mshv-{ioctls, bindings} can be used on x86_64 only.
Build
cargo build
Running the tests
Test (/dev/mshv requires root):
sudo -E ~/.cargo/bin/cargo test
Release Process
Versioning follows semver. As mshv is currently pre-1.0, minor version increments indicate both new features and breaking changes.
Generally follow the guidelines here
mshv-ioctls and mshv-bindings version numbers stay in sync; they are identical.
- Update each Cargo.toml and add the relevant changes in each CHANGELOG.md
- Create PR for the release with the changes from (1)
- Once the PR is merged, create and push tags for the release:
$ ./scripts/tag_release.py --crate mshv-ioctls
Created tag: mshv-ioctls-v0.6.0
$ ./scripts/tag_release.py --crate mshv-bindings
Created tag: mshv-bindings-v0.6.0
- Check the tags look okay, and push them
git show mshv-ioctls-v0.6.0
git show mshv-bindings-v0.6.0
git push --tags
- Create a release on github, use the generated release notes.
- Create a release on crates.io
cargo login
cargo publish --package mshv-bindings
cargo publish --package mshv-ioctls
- Bump the mshv version in upstream vfio
- Bump the mshv version in upstream Cloud Hypervisor
Dependencies
~1–1.8MB
~32K SLoC