crosvm/Cargo.toml
Keiichi Watanabe 57df6a0ab2 devices: virtio: Initial implementation of virtio-video device
This CL adds a fundamental part of the virtio video device, which will
be shared between the encoder and the decoder.
Both devices uses the virtio-video protocol proposed as RFC v3 [1,2].
The corresponding driver code is at CL:2060327 and its children CLs.

The actual decoding and encoding logic will be implemented in different
CLs.

[1]: mail: https://markmail.org/thread/wxdne5re7aaugbjg
[2]: PDF: https://drive.google.com/file/d/1jOsS2WdVhL4PpcWLO8Zukq5J0fXDiWn-/view

BUG=b:147465619, b:140082257
TEST=cargo check --features=video-decoder,video-encoder
TEST=ARCVM started with --video-decoder --video-encoder

Cq-Depend: chromium:2203997
Change-Id: I01999eea218ba0f3aaed1558ca2311a57d0c6819
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1973973
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Tested-by: Keiichi Watanabe <keiichiw@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Keiichi Watanabe <keiichiw@chromium.org>
2020-05-23 09:54:13 +00:00

100 lines
2.8 KiB
TOML

[package]
name = "crosvm"
version = "0.1.0"
authors = ["The Chromium OS Authors"]
edition = "2018"
[lib]
path = "src/crosvm.rs"
[[bin]]
name = "crosvm"
path = "src/main.rs"
[profile.release]
panic = 'abort'
overflow-checks = true
[workspace]
members = ["qcow_utils"]
exclude = [
"assertions",
"async_core",
"cros_async",
"data_model",
"rand_ish",
"sync",
"sys_util",
"syscall_defines",
"tempfile",
"hypervisor"
]
[features]
default-no-sandbox = []
gpu = ["devices/gpu"]
plugin = ["protos/plugin", "crosvm_plugin", "protobuf"]
tpm = ["devices/tpm"]
video-decoder = ["devices/video-decoder"]
video-encoder = ["devices/video-encoder"]
wl-dmabuf = ["devices/wl-dmabuf", "gpu_buffer", "resources/wl-dmabuf"]
x = ["devices/x"]
virtio-gpu-next = ["gpu_renderer/virtio-gpu-next"]
composite-disk = ["protos/composite-disk", "protobuf", "disk/composite-disk"]
gfxstream = ["devices/gfxstream"]
[dependencies]
arch = { path = "arch" }
assertions = { path = "assertions" }
audio_streams = "*"
bit_field = { path = "bit_field" }
crosvm_plugin = { path = "crosvm_plugin", optional = true }
data_model = "*"
devices = { path = "devices" }
disk = { path = "disk" }
enumn = { path = "enumn" }
gpu_buffer = { path = "gpu_buffer", optional = true }
gpu_renderer = { path = "gpu_renderer", optional = true }
io_jail = { path = "io_jail" }
kernel_cmdline = { path = "kernel_cmdline" }
kernel_loader = { path = "kernel_loader" }
kvm = { path = "kvm" }
kvm_sys = { path = "kvm_sys" }
libc = "0.2.44"
libcras = "*"
minijail-sys = "*" # provided by ebuild
msg_socket = { path = "msg_socket" }
net_util = { path = "net_util" }
p9 = { path = "p9" }
protobuf = { version = "2.3", optional = true }
protos = { path = "protos", optional = true }
rand_ish = { path = "rand_ish" }
remain = "*"
resources = { path = "resources" }
sync = { path = "sync" }
sys_util = "*"
vhost = { path = "vhost" }
vm_control = { path = "vm_control" }
acpi_tables = { path = "acpi_tables" }
[target.'cfg(target_arch = "x86_64")'.dependencies]
x86_64 = { path = "x86_64" }
[target.'cfg(any(target_arch = "aarch64", target_arch = "arm"))'.dependencies]
aarch64 = { path = "aarch64" }
[dev-dependencies]
sys_util = "*"
[patch.crates-io]
assertions = { path = "assertions" }
audio_streams = { path = "../../third_party/adhd/audio_streams" } # ignored by ebuild
data_model = { path = "data_model" }
libcras = { path = "../../third_party/adhd/cras/client/libcras" } # ignored by ebuild
libvda = { path = "../../platform2/arc/vm/libvda/rust" } # ignored by ebuild
minijail-sys = { path = "../../aosp/external/minijail" } # ignored by ebuild
poll_token_derive = { path = "sys_util/poll_token_derive" }
sync = { path = "sync" }
sys_util = { path = "sys_util" }
syscall_defines = { path = "syscall_defines" }
tempfile = { path = "tempfile" }