crosvm/Cargo.toml
Zach Reizner 94d77df61c enable core scheduling with the chromeos feature
This change includes support for core scheduling in sys_util and the
usage of it within the vcpu threads.

Because the core scheduling prctl is not yet stabilized, this feature is
specific to Chrome OS for now. To indicate this, the new "chromeos"
feature has been added to the appropriate Cargo.toml files.

TEST=cargo build --features "chromeos plugin"
BUG=b:153989878

Change-Id: I8b6ce00b26c482739536b632f08e55264dc513a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2284184
Reviewed-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Commit-Queue: Zach Reizner <zachr@chromium.org>
Auto-Submit: Zach Reizner <zachr@chromium.org>
2020-07-21 02:19:51 +00:00

101 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",
"cros_async",
"data_model",
"rand_ish",
"sync",
"sys_util",
"syscall_defines",
"tempfile",
"hypervisor"
]
[features]
default = ["audio"]
chromeos = ["sys_util/chromeos"]
default-no-sandbox = []
audio = ["devices/audio"]
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 }
kernel_cmdline = { path = "kernel_cmdline" }
kernel_loader = { path = "kernel_loader" }
kvm = { path = "kvm" }
kvm_sys = { path = "kvm_sys" }
libc = "0.2.65"
libcras = "*"
minijail = "*" # 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 = { path = "../../aosp/external/minijail/rust/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" }