No description
Find a file
Elie Kheirallah 7b76af0ac1 devices: Add thread to handle device snapshot in unix.
Add snapshot functionality in Bus.
Add thread to handle communication between VM cmdline and devices.
Add DeviceCommandControl in vm_control to handle device-specific
actions.

Bug=b:232437513
Test=cargo build && cargo run ...

Change-Id: If3795c9e1f12ab4cd34ab36cad8eae43d469a50a
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3930627
Auto-Submit: Elie Kheirallah <khei@google.com>
Commit-Queue: Elie Kheirallah <khei@google.com>
Reviewed-by: Frederick Mayle <fmayle@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Steven Moreland <smoreland@google.com>
2022-12-02 19:33:04 +00:00
.cargo Remove needless_return clippy suppression 2022-11-10 18:15:58 +00:00
.devcontainer dev_container: Add mdformat-tables to dependency 2022-11-15 22:36:38 +00:00
.github Cleanup: Remove old, deprecated and no longer used files 2022-09-20 21:05:57 +00:00
.vscode Document feature flags and introduce new feature sets 2022-10-14 20:31:19 +00:00
aarch64 devices: Add thread to handle device snapshot in unix. 2022-12-02 19:33:04 +00:00
acpi_tables acpi: Add More AML objects 2022-10-11 13:32:01 +00:00
anti_tamper Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
arch devices: Add thread to handle device snapshot in unix. 2022-12-02 19:33:04 +00:00
argh_helpers Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
base base: timer: remove timeout from timer 2022-12-02 04:00:56 +00:00
bit_field Rust 1.65: Fix clippy derive_partial_eq_without_eq lints 2022-12-01 01:32:30 +00:00
broker_ipc crash-report: Build with feature crash-report 2022-09-28 14:45:00 +00:00
common p9: Add readlink support to 9p 2022-12-01 20:51:00 +00:00
crash_report device: vhost-user: Bring up Windows GPU 2022-11-21 20:05:59 +00:00
cros_async devices: virtio: block: introduce per-device async-executor option for 2022-12-02 03:09:39 +00:00
cros_fdt Rust 1.65: Fix clippy borrow_deref_ref, needless_borrow, and explicit_auto_deref lints 2022-11-30 19:33:31 +00:00
cros_tracing tracing: rename tracing to cros_tracing. 2022-10-17 20:49:16 +00:00
crosvm-fuzz devices: virtio: block: introduce per-device async-executor option for 2022-12-02 03:09:39 +00:00
crosvm_cli crosvm_cli: improve documentation for exit codes. 2022-11-11 20:46:19 +00:00
crosvm_control Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
crosvm_plugin Rust 1.65: Fix clippy borrow_deref_ref, needless_borrow, and explicit_auto_deref lints 2022-11-30 19:33:31 +00:00
devices devices: Add thread to handle device snapshot in unix. 2022-12-02 19:33:04 +00:00
disk Rust 1.65: Fix clippy bool_to_int_with_if lints 2022-11-30 19:46:59 +00:00
docs/book docs: book: document how to specify command-line options and configuration files 2022-11-24 09:28:57 +00:00
e2e_tests e2e_tests: stay in the current directory 2022-12-02 00:16:50 +00:00
fuse Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
gpu_display gpu_display: require x feature for simple_open example 2022-12-01 06:11:48 +00:00
hypervisor Rust 1.65: Fix clippy derive_partial_eq_without_eq lints 2022-12-01 01:32:30 +00:00
infra Roll recipe dependencies (trivial). 2022-12-02 01:28:52 +00:00
io_uring crosvm bindgen: regenerate with missing_safety_doc 2022-11-15 20:43:50 +00:00
kernel_cmdline Rust 1.65: Fix clippy derive_partial_eq_without_eq lints 2022-12-01 01:32:30 +00:00
kernel_loader Rust 1.65: Fix clippy derive_partial_eq_without_eq lints 2022-12-01 01:32:30 +00:00
kvm Rust 1.65: Fix clippy derive_partial_eq_without_eq lints 2022-12-01 01:32:30 +00:00
kvm_sys crosvm bindgen: regenerate with missing_safety_doc 2022-11-15 20:43:50 +00:00
libcras_stub Rust 1.65: Fix clippy derive_partial_eq_without_eq lints 2022-12-01 01:32:30 +00:00
linux_input_sys Rust 1.65: Fix clippy bool_to_int_with_if lints 2022-11-30 19:46:59 +00:00
logo README: Use PNG logo image 2021-10-29 01:56:23 +00:00
media libvda: Ignore tests when using libvda-stub 2022-12-02 17:46:18 +00:00
metrics device: vhost-user: Bring up Windows GPU 2022-11-21 20:05:59 +00:00
net_sys crosvm bindgen: regenerate with missing_safety_doc 2022-11-15 20:43:50 +00:00
net_util Rust 1.65: Fix clippy derive_partial_eq_without_eq lints 2022-12-01 01:32:30 +00:00
power_monitor power_monitor: Enable feature in all-linux 2022-09-20 21:06:47 +00:00
prebuilts Rust 1.65: Fix clippy borrow_deref_ref, needless_borrow, and explicit_auto_deref lints 2022-11-30 19:33:31 +00:00
proto_build_tools Rust 1.65: Fix clippy borrow_deref_ref, needless_borrow, and explicit_auto_deref lints 2022-11-30 19:33:31 +00:00
protos protos: migrate to new build tool & cleanup. 2022-11-12 01:02:36 +00:00
qcow_utils Add clippy tag for safety docs 2022-11-12 01:27:46 +00:00
resources Rust 1.65: Fix clippy derive_partial_eq_without_eq lints 2022-12-01 01:32:30 +00:00
rutabaga_gfx rutabaga_gfx: Add external blob flag to gfxstream 2022-12-01 22:52:56 +00:00
sandbox device: vhost-user: Bring up Windows GPU 2022-11-21 20:05:59 +00:00
seccomp seccomp: allow clone3 to video_device on x86 2022-11-24 09:40:27 +00:00
serde_keyvalue Rust 1.65: Fix clippy derive_partial_eq_without_eq lints 2022-12-01 01:32:30 +00:00
src devices: Add thread to handle device snapshot in unix. 2022-12-02 19:33:04 +00:00
swap swap: remove Cargo.toml data_model patch 2022-11-29 23:33:36 +00:00
system_api Fix compilation with vtpm enabled 2022-09-29 17:17:21 +00:00
tests Rust 1.65: Fix clippy borrow_deref_ref, needless_borrow, and explicit_auto_deref lints 2022-11-30 19:33:31 +00:00
third_party Rust 1.65: Fix clippy bool_to_int_with_if lints 2022-11-30 19:46:59 +00:00
tools libvda: Ignore tests when using libvda-stub 2022-12-02 17:46:18 +00:00
tpm2 Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
tpm2-sys Fix straggler needless_return violations 2022-11-21 19:00:07 +00:00
tube_transporter base: cross platform Event API 2022-10-19 20:17:42 +00:00
usb_sys Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
usb_util Rust 1.65: Fix clippy derive_partial_eq_without_eq lints 2022-12-01 01:32:30 +00:00
vfio_sys crosvm bindgen: regenerate with missing_safety_doc 2022-11-15 20:43:50 +00:00
vhost Rust 1.65: Fix clippy bool_to_int_with_if lints 2022-11-30 19:46:59 +00:00
virtio_sys crosvm bindgen: regenerate with missing_safety_doc 2022-11-15 20:43:50 +00:00
vm_control devices: Add thread to handle device snapshot in unix. 2022-12-02 19:33:04 +00:00
vm_memory vm_memory: guest_memory: Remove continuation passing style of do_in_region 2022-11-15 20:46:18 +00:00
win_audio metrics: migrate to proto_build_tools. 2022-11-12 01:02:23 +00:00
win_util win_util: Fix DLL notification tests 2022-11-29 04:03:47 +00:00
x86_64 devices: Add thread to handle device snapshot in unix. 2022-12-02 19:33:04 +00:00
.dockerignore add docker supported builds and tests 2019-05-15 13:36:19 -07:00
.gitignore Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
.gitmodules health-check: Add infra checks 2022-08-18 00:17:04 +00:00
.rustfmt.toml rustfmt, win_util: update to 2021 edition 2022-05-31 23:35:02 +00:00
ARCHITECTURE.md Rename integration_tests to e2e_tests 2022-11-03 22:49:39 +00:00
build.rs Rust 1.65: Fix clippy borrow_deref_ref, needless_borrow, and explicit_auto_deref lints 2022-11-30 19:33:31 +00:00
Cargo.lock crosvm: custom Serialize and Deserialize implementations for CpuSet 2022-12-01 02:02:55 +00:00
Cargo.toml crosvm: Make document-features dependency optional 2022-12-01 07:04:56 +00:00
CONTRIBUTING.md CONTRIBUTING: Add a section about commit messages' format 2022-10-19 06:22:42 +00:00
DIR_METADATA DIR_METADATA: Add public buganizer component 2022-09-21 17:43:59 +00:00
LICENSE Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
mypy.ini Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
OWNERS Require council review for changes to Cargo.lock 2022-12-01 18:50:48 +00:00
OWNERS_COUNCIL Require council review for changes to Cargo.lock 2022-12-01 18:50:48 +00:00
PRESUBMIT.cfg Cleanup: Remove old, deprecated and no longer used files 2022-09-20 21:05:57 +00:00
pyproject.toml Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
README.chromeos.md crosvm: update book and doc links to crosvm.dev 2022-07-29 22:54:01 +00:00
README.md docs: Replace crbug link with issuetracker.google.com 2022-10-18 06:22:41 +00:00
rust-toolchain dev_container: Upgrade to debian bookworm 2022-09-14 22:32:36 +00:00

crosvm - The Chrome OS Virtual Machine Monitor

crosvm is a virtual machine monitor (VMM) based on Linuxs KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the Chrome OS platform. Compared to QEMU, crosvm doesnt emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.

crosvm is currently used to run Linux/Android guests on Chrome OS devices.

Logo