-
Notifications
You must be signed in to change notification settings - Fork 89
/
Copy pathCargo.toml
129 lines (118 loc) · 4.09 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
[package]
name = "hyperlight-host"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
readme.workspace = true
description = """
A lightweight Virtual Machine Manager that can be hosted in an application to safely
run untrusted or code within a VM partition with very low latency and overhead.
"""
[lib]
# https://docs.rust-embedded.org/book/interoperability/rust-with-c.html
name = "hyperlight_host"
bench = false # see https://bheisler.github.io/criterion.rs/book/faq.html#cargo-bench-gives-unrecognized-option-errors-for-valid-command-line-options
[lints]
workspace = true
[dependencies]
goblin = { version = "0.9" }
rand = { version = "0.8.5" }
cfg-if = { version = "1.0.0" }
libc = { version = "0.2.168" }
paste = "1.0"
flatbuffers = "24.3.25"
page_size = "0.6.0"
termcolor = "1.2.0"
bitflags = "2.4.0"
lazy_static = "1.4.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
log = "0.4.20"
once_cell = { version = "1.18.0" }
tracing = { version = "0.1.41", features = ["log"] }
tracing-log = "0.2.0"
tracing-core = "0.1.33"
hyperlight-common = { workspace = true, default-features = true }
vmm-sys-util = "0.12.1"
crossbeam = "0.8.0"
crossbeam-channel = "0.5.8"
thiserror = "2.0.7"
prometheus = "0.13.3"
strum = { version = "0.26", features = ["derive"] }
tempfile = { version = "3.10", optional = true }
serde_yaml = "0.9"
anyhow = "1.0"
[target.'cfg(windows)'.dependencies]
windows = { version = "0.58", features = [
"Win32_Foundation",
"Win32_System_LibraryLoader",
"Win32_System_Threading",
"Win32_System_JobObjects",
"Win32_Security",
"Win32_System_Diagnostics_Debug",
"Win32_System_Hypervisor",
"Win32_System_LibraryLoader",
"Win32_System_Memory",
"Win32_System_Threading",
"Win32_System_JobObjects",
] }
windows-sys = { version = "0.59", features = ["Win32"] }
windows-result = "0.2"
rust-embed = { version = "8.3.0", features = ["debug-embed", "include-exclude", "interpolate-folder-path"] }
sha256 = "1.4.0"
[target.'cfg(unix)'.dependencies]
seccompiler = { version = "0.4.0", optional = true }
mshv-bindings = { workspace = true, optional = true }
mshv-ioctls = { workspace = true, optional = true }
kvm-bindings = { version = "0.10.0", features = ["fam-wrappers"], optional = true }
kvm-ioctls = { version = "0.19.0", optional = true }
[dev-dependencies]
uuid = { version = "1.4.1", features = ["v4"] }
signal-hook-registry = "1.4.1"
envy = { version = "0.4.2" }
serde = "1.0"
proptest = "1.2.0"
tempfile = "3.8.0"
crossbeam-queue = "0.3.12"
tracing-serde = "0.2.0"
serial_test = "3.1.1"
hyperlight-testing = { workspace = true }
env_logger = "0.11.5"
tracing-forest = { version = "0.1.6", features = ["uuid", "chrono", "smallvec", "serde", "env-filter"] }
tracing = "0.1.41"
tracing-subscriber = {version = "0.3.19", features = ["std", "env-filter"]}
tracing-opentelemetry = "0.28.0"
opentelemetry = "0.27.0"
opentelemetry-otlp = { version = "0.27.0", features = ["default"] }
opentelemetry-semantic-conventions = "0.27.0"
opentelemetry_sdk = { version = "0.27.0", features = ["rt-tokio"] }
tokio = { version = "1.42.0", features = ["full"] }
criterion = "0.5.1"
tracing-chrome = "0.7.2"
[target.'cfg(windows)'.dev-dependencies]
windows = { version = "0.58", features = [
"Win32_System_Diagnostics_ToolHelp",
] }
[target.'cfg(unix)'.dev-dependencies]
proc-maps = "0.4.0"
[build-dependencies]
anyhow = { version = "1.0.94" }
cfg_aliases = "0.2.1"
built = { version = "0.7.0", features = ["chrono", "git2"] }
[features]
default = ["kvm", "mshv", "seccomp"]
seccomp = ["dep:seccompiler"]
function_call_metrics = []
executable_heap = []
# This feature enables printing of debug information to stdout in debug builds
print_debug = []
crashdump = ["dep:tempfile"] # Dumps the VM state to a file on unexpected errors or crashes. The path of the file will be printed on stdout and logged. This feature can only be used in debug builds.
kvm = ["dep:kvm-bindings", "dep:kvm-ioctls"]
mshv = ["dep:mshv-bindings", "dep:mshv-ioctls"]
inprocess = []
[[bench]]
name = "benchmarks"
harness = false