mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-08-23 00:11:16 +00:00
This patch adds igvm to the Vm config and params as well as the command line argument to pass igvm file to load into guest memory. The file must maintain the IGVM format. The CLI option is featured guarded by igvm feature gate. The IGVM(Independent Guest Virtual Machine) file format is designed to encapsulate all information required to launch a virtual machine on any given virtualization stack, with support for different isolation technologies such as AMD SEV-SNP and Intel TDX. At a conceptual level, this file format is a set of commands created by the tool that generated the file, used by the loader to construct the initial guest state. The file format also contains measurement information that the underlying platform will use to confirm that the file was loaded correctly and signed by the appropriate authorities. The IGVM file is generated by the tool: https://github.com/microsoft/igvm-tooling The IGVM file is parsed by the following crates: https://github.com/microsoft/igvm Signed-off-by: Muminul Islam <muislam@microsoft.com>
139 lines
2.4 KiB
TOML
139 lines
2.4 KiB
TOML
[package]
|
|
name = "cloud-hypervisor-fuzz"
|
|
version = "0.0.0"
|
|
authors = ["Automatically generated"]
|
|
publish = false
|
|
edition = "2021"
|
|
|
|
[package.metadata]
|
|
cargo-fuzz = true
|
|
|
|
[features]
|
|
igvm = []
|
|
|
|
[dependencies]
|
|
block = { path = "../block" }
|
|
devices = { path = "../devices" }
|
|
epoll = "4.3.1"
|
|
libc = "0.2.150"
|
|
libfuzzer-sys = "0.4.7"
|
|
linux-loader = { version = "0.10.0", features = ["elf", "bzimage", "pe"] }
|
|
micro_http = { git = "https://github.com/firecracker-microvm/micro-http", branch = "main" }
|
|
net_util = { path = "../net_util" }
|
|
once_cell = "1.18.0"
|
|
seccompiler = "0.4.0"
|
|
virtio-devices = { path = "../virtio-devices" }
|
|
virtio-queue = "0.10.0"
|
|
vmm = { path = "../vmm" }
|
|
vmm-sys-util = "0.11.2"
|
|
vm-memory = "0.13.1"
|
|
vm-device = { path = "../vm-device" }
|
|
vm-virtio = { path = "../vm-virtio" }
|
|
|
|
[dependencies.cloud-hypervisor]
|
|
path = ".."
|
|
|
|
[patch.crates-io]
|
|
kvm-bindings = { git = "https://github.com/cloud-hypervisor/kvm-bindings", branch = "ch-v0.6.0-tdx" }
|
|
versionize_derive = { git = "https://github.com/cloud-hypervisor/versionize_derive", branch = "ch" }
|
|
|
|
# Prevent this from interfering with workspaces
|
|
[workspace]
|
|
members = ["."]
|
|
|
|
[[bin]]
|
|
name = "balloon"
|
|
path = "fuzz_targets/balloon.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "block"
|
|
path = "fuzz_targets/block.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "cmos"
|
|
path = "fuzz_targets/cmos.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "console"
|
|
path = "fuzz_targets/console.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "http_api"
|
|
path = "fuzz_targets/http_api.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "iommu"
|
|
path = "fuzz_targets/iommu.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "linux_loader"
|
|
path = "fuzz_targets/linux_loader.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "linux_loader_cmdline"
|
|
path = "fuzz_targets/linux_loader_cmdline.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "mem"
|
|
path = "fuzz_targets/mem.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "net"
|
|
path = "fuzz_targets/net.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "pmem"
|
|
path = "fuzz_targets/pmem.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "qcow"
|
|
path = "fuzz_targets/qcow.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "rng"
|
|
path = "fuzz_targets/rng.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "serial"
|
|
path = "fuzz_targets/serial.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "vhdx"
|
|
path = "fuzz_targets/vhdx.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "watchdog"
|
|
path = "fuzz_targets/watchdog.rs"
|
|
test = false
|
|
doc = false
|