mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-10-01 19:15:46 +00:00
d5f5648b37
We use cargo vendor to generate a .cargo/config file and the vendor directory. Vendoring allows us to lock our dependencies and to modify them easily from the top level Cargo.toml. We vendor all dependencies, including the crates.io ones, which allows for network isolated builds. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
32 lines
1.1 KiB
Markdown
32 lines
1.1 KiB
Markdown
[![Build Status](https://travis-ci.org/rust-vmm/kvm-bindings.svg?branch=master)](https://travis-ci.org/rust-vmm/kvm-bindings)
|
|
[![Crates.io](https://img.shields.io/crates/v/kvm-bindings.svg)](https://crates.io/crates/kvm-bindings)
|
|
![](https://img.shields.io/crates/l/kvm-bindings.svg)
|
|
# kvm-bindings
|
|
Rust FFI bindings to KVM generated using
|
|
[bindgen](https://crates.io/crates/bindgen). It currently has support for the
|
|
following target architectures:
|
|
- x86
|
|
- x86_64
|
|
- arm
|
|
- arm64
|
|
|
|
# Usage
|
|
First, add the following to your `Cargo.toml`:
|
|
```toml
|
|
kvm-bindings = "0.1"
|
|
```
|
|
Next, add this to your crate root:
|
|
```rust
|
|
extern crate kvm_bindings;
|
|
```
|
|
By default `kvm-bindings` will export a wrapper over the latest available kernel
|
|
version (4.20), but you can select a different version by specifying it in your
|
|
toml:
|
|
```toml
|
|
kvm-bindings = { version = "0.1", features = ["kvm_v4_20_0"]}
|
|
```
|
|
In the `kvm-bindings` crate each feature maps to exactly one Linux version
|
|
as follows:
|
|
- `kvm_v4_14_0` contains the bindings for the Linux kernel version 4.14
|
|
- `kvm_v4_20_0` contains the bindings for the Linux kernel version 4.20
|