Crates.io | kvm-ioctls |
lib.rs | kvm-ioctls |
version | 0.19.0 |
source | src |
created_at | 2019-02-28 13:36:45.596586 |
updated_at | 2024-10-23 08:57:10.350663 |
description | Safe wrappers over KVM ioctls |
homepage | |
repository | https://github.com/rust-vmm/kvm-ioctls |
max_upload_size | |
id | 117775 |
size | 352,078 |
The kvm-ioctls crate provides safe wrappers over the KVM API, a set of ioctls used for creating and configuring Virtual Machines (VMs) on Linux. The ioctls are accessible through four structures:
Kvm
- wrappers over system ioctlsVmFd
- wrappers over VM ioctlsVcpuFd
- wrappers over vCPU ioctlsDeviceFd
- wrappers over device ioctlsFor further details check the KVM API as well as the code documentation.
The kvm-ioctls can be used on x86_64, aarch64 and riscv64 (experimental).
Our Continuous Integration (CI) pipeline is implemented on top of Buildkite. For the complete list of tests, check our CI pipeline.
Each individual test runs in a container. To reproduce a test locally, you can use the dev-container on x86_64, arm64 and riscv64.
# For running riscv64 tests, replace v47 with v47-riscv. This provides an
# emulated riscv64 environment on a x86_64 host.
docker run --device=/dev/kvm \
-it \
--security-opt seccomp=unconfined \
--volume $(pwd)/kvm-ioctls:/kvm-ioctls \
rustvmm/dev:v47
cd kvm-ioctls/
cargo test
For more details about the integration tests that are run for kvm-ioctls
,
check the rust-vmm-ci readme.