mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-11 04:26:38 +00:00
Wire up GPE eventfd forwarding and crosvm's GPE emulation. This patch allows to provide ACPIPMResource with the list of GPEs which should work as direct physical (passthrough) GPEs rather than purely emulated ones. BUG=b:205072342 TEST=see CL:3492224 Change-Id: Idb8ef36299c793f56d73246d15ff89f495bb30ef Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3492223 Reviewed-by: Dmitry Torokhov <dtor@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Tomasz Nowicki <tnowicki@google.com>
204 lines
5.3 KiB
TOML
204 lines
5.3 KiB
TOML
[package]
|
|
name = "crosvm"
|
|
version = "0.1.0"
|
|
authors = ["The Chromium OS Authors"]
|
|
edition = "2021"
|
|
default-run = "crosvm"
|
|
# b:223855233
|
|
resolver = "1"
|
|
|
|
[lib]
|
|
path = "src/crosvm.rs"
|
|
|
|
[[bin]]
|
|
name = "crosvm"
|
|
path = "src/main.rs"
|
|
|
|
[[bin]]
|
|
name = "crosvm-direct"
|
|
path = "src/main.rs"
|
|
required-features = [ "direct" ]
|
|
|
|
[profile.release]
|
|
panic = 'abort'
|
|
overflow-checks = true
|
|
|
|
# Reproduces the options used when building crosvm for Chrome OS.
|
|
[profile.chromeos]
|
|
inherits = "release"
|
|
opt-level = "s"
|
|
|
|
# Enables LTO to further reduce the size of the binary.
|
|
[profile.lto]
|
|
inherits = "chromeos"
|
|
lto = true
|
|
|
|
# We currently need to exclude some crates from the workspace to allow
|
|
# these crates to be independently built by portage. These crates will
|
|
# eventually be moved into separate repositories.
|
|
# The only workspace members that need to be explicitly specified here are those
|
|
# that are not dependencies of the crosvm root crate.
|
|
[workspace]
|
|
members = [
|
|
"aarch64",
|
|
"acpi_tables",
|
|
"arch",
|
|
"base",
|
|
"bit_field",
|
|
"crosvm-fuzz",
|
|
"crosvm_control",
|
|
"crosvm_plugin",
|
|
"devices",
|
|
"disk",
|
|
"fuse",
|
|
"gpu_display",
|
|
"hypervisor",
|
|
"integration_tests",
|
|
"kernel_cmdline",
|
|
"kernel_loader",
|
|
"kvm",
|
|
"kvm_sys",
|
|
"libcras_stub",
|
|
"libvda",
|
|
"linux_input_sys",
|
|
"net_sys",
|
|
"net_util",
|
|
"power_monitor",
|
|
"protos",
|
|
"qcow_utils",
|
|
"resources",
|
|
"rutabaga_gfx",
|
|
"system_api_stub",
|
|
"tpm2",
|
|
"tpm2-sys",
|
|
"usb_sys",
|
|
"usb_util",
|
|
"vfio_sys",
|
|
"vhost",
|
|
"virtio_sys",
|
|
"vm_control",
|
|
"vm_memory",
|
|
"x86_64",
|
|
"third_party/vmm_vhost",
|
|
]
|
|
exclude = [
|
|
"common/assertions",
|
|
"common/audio_streams",
|
|
"common/balloon_control",
|
|
"common/cros-fuzz",
|
|
"common/cros_async",
|
|
"common/cros_asyncv2",
|
|
"common/data_model",
|
|
"common/io_uring",
|
|
"common/p9",
|
|
"common/sync",
|
|
"common/sys_util",
|
|
"common/sys_util_core",
|
|
"common/win_sys_util",
|
|
"common/win_util",
|
|
]
|
|
|
|
[features]
|
|
all-linux = [
|
|
# TODO(b/203105868): Enable remaining features on linux builds.
|
|
"composite-disk",
|
|
"default",
|
|
"gdb",
|
|
"tpm",
|
|
"virgl_renderer_next",
|
|
"virgl_renderer",
|
|
"x",
|
|
]
|
|
audio = ["devices/audio"]
|
|
audio_cras = ["devices/audio_cras"]
|
|
chromeos = ["base/chromeos", "audio_cras", "devices/chromeos"]
|
|
composite-disk = ["protos/composite-disk", "protobuf", "disk/composite-disk"]
|
|
default = ["audio", "gpu", "usb"]
|
|
default-no-sandbox = []
|
|
direct = ["devices/direct", "arch/direct", "x86_64/direct"]
|
|
gdb = ["gdbstub", "gdbstub_arch", "arch/gdb", "vm_control/gdb", "x86_64/gdb"]
|
|
gfxstream = ["devices/gfxstream"]
|
|
gpu = ["devices/gpu"]
|
|
libvda = ["devices/libvda"]
|
|
linux-armhf = [
|
|
"composite-disk",
|
|
"default",
|
|
"gdb",
|
|
"tpm",
|
|
]
|
|
linux-x86_64 = ["all-linux", "plugin"]
|
|
linux-aarch64 = ["all-linux"]
|
|
plugin = ["protos/plugin", "crosvm_plugin", "kvm", "kvm_sys", "protobuf"]
|
|
power-monitor-powerd = ["arch/power-monitor-powerd"]
|
|
tpm = ["devices/tpm"]
|
|
usb = ["devices/usb"]
|
|
video-decoder = ["devices/video-decoder"]
|
|
video-encoder = ["devices/video-encoder"]
|
|
virgl_renderer = ["devices/virgl_renderer"]
|
|
virgl_renderer_next = ["rutabaga_gfx/virgl_renderer_next"]
|
|
wl-dmabuf = ["devices/minigbm"]
|
|
x = ["devices/x"]
|
|
|
|
[dependencies]
|
|
anyhow = "1.0.32"
|
|
arch = { path = "arch" }
|
|
assertions = { path = "common/assertions" }
|
|
audio_streams = "*"
|
|
base = "*"
|
|
bit_field = { path = "bit_field" }
|
|
crosvm_plugin = { path = "crosvm_plugin", optional = true }
|
|
data_model = "*"
|
|
devices = { path = "devices" }
|
|
disk = { path = "disk" }
|
|
enumn = "0.1.0"
|
|
gdbstub = { version = "0.5.0", optional = true }
|
|
gdbstub_arch = { version = "0.1.0", optional = true }
|
|
rutabaga_gfx = { path = "rutabaga_gfx"}
|
|
hypervisor = { path = "hypervisor" }
|
|
kernel_cmdline = { path = "kernel_cmdline" }
|
|
kernel_loader = { path = "kernel_loader" }
|
|
kvm = { path = "kvm", optional = true }
|
|
kvm_sys = { path = "kvm_sys", optional = true }
|
|
libc = "0.2.93"
|
|
libcras = "*"
|
|
minijail = "*" # provided by ebuild
|
|
net_util = { path = "net_util" }
|
|
p9 = "*"
|
|
protobuf = { version = "2.3", optional = true }
|
|
protos = { path = "protos", optional = true }
|
|
remain = "*"
|
|
resources = { path = "resources" }
|
|
scudo = { version = "0.1", optional = true }
|
|
serde_json = "*"
|
|
sync = { path = "common/sync" }
|
|
tempfile = "3"
|
|
thiserror = { version = "1.0.20" }
|
|
vhost = { path = "vhost" }
|
|
vm_control = { path = "vm_control" }
|
|
acpi_tables = { path = "acpi_tables" }
|
|
vm_memory = { path = "vm_memory" }
|
|
|
|
[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]
|
|
base = "*"
|
|
|
|
[patch.crates-io]
|
|
assertions = { path = "common/assertions" }
|
|
audio_streams = { path = "common/audio_streams" }
|
|
base = { path = "base" }
|
|
sys_util_core = { path = "common/sys_util_core" }
|
|
cros_async = { path = "common/cros_async" }
|
|
cros_fuzz = { path = "common/cros-fuzz" } # ignored by ebuild
|
|
data_model = { path = "common/data_model" }
|
|
libcras = { path = "libcras_stub" } # ignored by ebuild
|
|
p9 = { path = "common/p9" } # ignored by ebuild
|
|
sync = { path = "common/sync" }
|
|
sys_util = { path = "common/sys_util" }
|
|
system_api = { path = "system_api_stub" } # ignored by ebuild
|
|
wire_format_derive = { path = "common/p9/wire_format_derive" } # ignored by ebuild
|
|
minijail = { path = "third_party/minijail/rust/minijail" } # ignored by ebuild
|