2020-06-08 00:50:38 +00:00
|
|
|
[package]
|
|
|
|
name = "hypervisor"
|
|
|
|
version = "0.1.0"
|
2020-10-19 22:42:43 +00:00
|
|
|
authors = ["Microsoft Authors"]
|
2022-04-08 15:11:04 +00:00
|
|
|
edition = "2021"
|
2020-10-19 22:42:43 +00:00
|
|
|
license = "Apache-2.0 OR BSD-3-Clause"
|
2020-06-08 00:50:38 +00:00
|
|
|
|
2020-07-07 11:06:40 +00:00
|
|
|
[features]
|
2023-04-04 15:11:19 +00:00
|
|
|
kvm = ["kvm-ioctls", "kvm-bindings", "vfio-ioctls/kvm"]
|
2023-06-30 09:10:05 +00:00
|
|
|
mshv = ["mshv-ioctls", "mshv-bindings", "vfio-ioctls/mshv", "iced-x86"]
|
2023-10-13 19:58:56 +00:00
|
|
|
sev_snp = ["igvm_parser", "igvm_defs"]
|
2021-02-12 15:17:18 +00:00
|
|
|
tdx = []
|
2020-06-08 00:50:38 +00:00
|
|
|
|
2020-06-03 19:23:56 +00:00
|
|
|
[dependencies]
|
2024-01-08 22:39:02 +00:00
|
|
|
anyhow = "1.0.79"
|
2022-07-18 15:47:51 +00:00
|
|
|
byteorder = "1.4.3"
|
2023-12-11 11:50:06 +00:00
|
|
|
igvm_defs = { git = "https://github.com/microsoft/igvm", branch = "main", package = "igvm_defs", optional = true }
|
|
|
|
igvm_parser = { git = "https://github.com/microsoft/igvm", branch = "main", package = "igvm", optional = true }
|
2024-02-07 23:15:53 +00:00
|
|
|
libc = "0.2.153"
|
2023-11-23 23:47:38 +00:00
|
|
|
log = "0.4.20"
|
build: Bump vmm-sys-util crate and its consumers
This patch bumps the following crates, including `kvm-bindings@0.7.0`*,
`kvm-ioctls@0.16.0`**, `linux-loader@0.11.0`, `versionize@0.2.0`,
`versionize_derive@0.1.6`***, `vhost@0.10.0`,
`vhost-user-backend@0.13.1`, `virtio-queue@0.11.0`, `vm-memory@0.14.0`,
`vmm-sys-util@0.12.1`, and the latest of `vfio-bindings`, `vfio-ioctls`,
`mshv-bindings`,`mshv-ioctls`, and `vfio-user`.
* A fork of the `kvm-bindings` crate is being used to support
serialization of various structs for migration [1]. Also, code changes
are made to accommodate the updated `struct xsave` from the Linux
kernel. Note: these changes related to `struct xsave` break
live-upgrade.
** The new `kvm-ioctls` crate introduced breaking changes for
the `get/set_one_reg` API on `aarch64` [2], so code changes are made to
the new APIs.
*** A fork of the `versionize_derive` crate is being used to support
versionize on packed structs [3].
[1] https://github.com/cloud-hypervisor/kvm-bindings/tree/ch-v0.7.0
[2] https://github.com/rust-vmm/kvm-ioctls/pull/223
[3] https://github.com/cloud-hypervisor/versionize_derive/tree/ch-0.1.6
Fixes: #6072
Signed-off-by: Bo Chen <chen.bo@intel.com>
2024-01-23 17:29:40 +00:00
|
|
|
kvm-ioctls = { version = "0.16.0", optional = true }
|
|
|
|
kvm-bindings = { git = "https://github.com/cloud-hypervisor/kvm-bindings", branch = "ch-v0.7.0", features = ["with-serde", "fam-wrappers"], optional = true }
|
2022-05-10 15:47:34 +00:00
|
|
|
mshv-bindings = { git = "https://github.com/rust-vmm/mshv", branch = "main", features = ["with-serde", "fam-wrappers"], optional = true }
|
2021-09-02 08:44:25 +00:00
|
|
|
mshv-ioctls = { git = "https://github.com/rust-vmm/mshv", branch = "main", optional = true}
|
2024-02-09 23:04:35 +00:00
|
|
|
serde = { version = "1.0.196", features = ["rc", "derive"] }
|
2023-10-24 20:03:40 +00:00
|
|
|
serde_with = { version = "3.4.0", default-features = false, features = ["macros"] }
|
2022-07-21 13:15:15 +00:00
|
|
|
vfio-ioctls = { git = "https://github.com/rust-vmm/vfio", branch = "main", default-features = false }
|
build: Bump vmm-sys-util crate and its consumers
This patch bumps the following crates, including `kvm-bindings@0.7.0`*,
`kvm-ioctls@0.16.0`**, `linux-loader@0.11.0`, `versionize@0.2.0`,
`versionize_derive@0.1.6`***, `vhost@0.10.0`,
`vhost-user-backend@0.13.1`, `virtio-queue@0.11.0`, `vm-memory@0.14.0`,
`vmm-sys-util@0.12.1`, and the latest of `vfio-bindings`, `vfio-ioctls`,
`mshv-bindings`,`mshv-ioctls`, and `vfio-user`.
* A fork of the `kvm-bindings` crate is being used to support
serialization of various structs for migration [1]. Also, code changes
are made to accommodate the updated `struct xsave` from the Linux
kernel. Note: these changes related to `struct xsave` break
live-upgrade.
** The new `kvm-ioctls` crate introduced breaking changes for
the `get/set_one_reg` API on `aarch64` [2], so code changes are made to
the new APIs.
*** A fork of the `versionize_derive` crate is being used to support
versionize on packed structs [3].
[1] https://github.com/cloud-hypervisor/kvm-bindings/tree/ch-v0.7.0
[2] https://github.com/rust-vmm/kvm-ioctls/pull/223
[3] https://github.com/cloud-hypervisor/versionize_derive/tree/ch-0.1.6
Fixes: #6072
Signed-off-by: Bo Chen <chen.bo@intel.com>
2024-01-23 17:29:40 +00:00
|
|
|
vm-memory = { version = "0.14.0", features = ["backend-mmap", "backend-atomic"] }
|
|
|
|
vmm-sys-util = { version = "0.12.1", features = ["with-serde"] }
|
2023-12-29 23:11:34 +00:00
|
|
|
thiserror = "1.0.52"
|
2020-06-03 19:23:56 +00:00
|
|
|
|
2020-12-07 17:07:28 +00:00
|
|
|
[target.'cfg(target_arch = "x86_64")'.dependencies.iced-x86]
|
2023-06-30 09:10:05 +00:00
|
|
|
optional = true
|
2023-10-19 23:41:06 +00:00
|
|
|
version = "1.20.0"
|
2020-11-13 11:30:25 +00:00
|
|
|
default-features = false
|
2020-11-30 23:00:53 +00:00
|
|
|
features = ["std", "decoder", "op_code_info", "instr_info", "fast_fmt"]
|
2020-11-19 19:20:23 +00:00
|
|
|
|
|
|
|
[dev-dependencies]
|
2023-12-14 23:18:00 +00:00
|
|
|
env_logger = "0.10.1"
|