[workspace] exclude = ["tests/test-kernels", "hermit-rs", "hermit-rs/*", "kernel"] [package] name = "uhyve" version = "0.3.0" authors = [ "Stefan Lankes ", "Martin Kröning ", "Jens Breitbart ", "Jonathan Klimt ", ] edition = "2021" description = "A minimal hypervisor for Hermit" repository = "https://github.com/hermitcore/uhyve" license = "MIT OR Apache-2.0" keywords = ["hypervisor", "unikernel"] categories = ["os"] exclude = [ "/.github/", "/img/", "/benches/", "/data", "/.gitattributes", "/.gitignore", "/.gitmodules", "/codecov.yml", ] [lib] name = "uhyvelib" [[bench]] name = "benchmarks" path = "benches/benchmarks.rs" harness = false [features] default = [] instrument = ["rftrace", "rftrace-frontend"] [dependencies] byte-unit = { version = "5", features = ["byte"] } clap = { version = "4.5", features = ["derive", "env"] } nix = { version = "0.28", features = ["mman", "pthread", "signal"] } core_affinity = "0.8" either = "1.10" env_logger = "0.11" gdbstub = "0.7" gdbstub_arch = "0.3" hermit-entry = { version = "0.10", features = ["loader"] } lazy_static = "1.4" libc = "0.2" log = "0.4" mac_address = "1.1" thiserror = "1.0" time = "0.3" tun-tap = { version = "0.1.3", default-features = false } uhyve-interface = { version = "0.1.1", path = "uhyve-interface", features = ["std"] } virtio-bindings = { version = "0.2", features = ["virtio-v4_14_0"] } rftrace = { version = "0.1", optional = true } rftrace-frontend = { version = "0.1", optional = true } [target.'cfg(target_os = "linux")'.dependencies] kvm-bindings = "0.7" kvm-ioctls = "0.16" vmm-sys-util = "0.12" [target.'cfg(target_os = "macos")'.dependencies] burst = "0.0" xhypervisor = "0.2" [target.'cfg(target_arch = "x86_64")'.dependencies] x86_64 = { version = "0.15", default-features = false } raw-cpuid = "11" [target.'cfg(target_arch = "aarch64")'.dependencies] bitflags = "2.4" [dev-dependencies] assert_fs = "1" criterion = "0.5"