No description
Find a file
Daniel Verkamp 62e1b362a8 windows: move vm_evt_wrtube/rdtube out of Config
Config should contain only configuration data (e.g. flags, paths, etc.),
not objects used at runtime like tubes and events. The Windows code
currently passes a few Tubes from the broker to child processes via
Config, which this patch begins moving to a separate BrokerTubes struct
that will be serialized and sent over the bootstrap tube from the broker
after the Config struct.

This helps clean up the cross-platform Config struct, as well as fixing
the `crosvm run` command (which does not use the broker) on Windows;
previously the vm_evt_wrtube and vm_evt_rdtube were missing in this
case.

BUG=None
TEST=tools/presubmit --all
TEST=Boot x86-64 Linux kernel with crosvm run on Windows

Change-Id: Ida00ec3948f09735fcdc333b3b5f217dca9fdbb9
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4108782
Reviewed-by: Vikram Auradkar <auradkar@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2023-02-01 19:49:20 +00:00
.cargo toolchain refactoring: Only support native out of the box 2023-01-24 17:33:29 +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 swap: send userfaultfd via Tube on device process fork 2023-02-01 00:47:52 +00:00
acpi_tables Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
anti_tamper kiwi: clean anti_tamper and metrics related code 2023-01-04 00:08:27 +00:00
arch swap: send userfaultfd via Tube on device process fork 2023-02-01 00:47:52 +00:00
argh_helpers Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
base base: panic_handler: abort in memfd panic hook 2023-01-27 20:39:43 +00:00
bit_field Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
broker_ipc Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
common p9: handle Tframe body decode failure separately from header 2023-01-24 18:42:35 +00:00
crash_report Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
cros_async disk: native AsyncDisk impl for CompositeDiskFile 2023-01-13 20:38:20 +00:00
cros_fdt crosvm: fdt: Add option to dump generated devicetree blob 2023-01-20 20:26:55 +00:00
cros_tracing Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
crosvm-fuzz Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
crosvm_cli Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
crosvm_control crosvm_control: Add vmm swap (enable/disable/swapout) API 2023-01-26 07:47:48 +00:00
crosvm_plugin Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
devices swap: send userfaultfd via Tube on device process fork 2023-02-01 00:47:52 +00:00
disk disk: android_sparse: fix into_inner bug 2023-01-26 18:36:01 +00:00
docs/book aarch64: static swiotlb allocation 2023-02-01 00:05:48 +00:00
e2e_tests e2e_tests: Add Suspend/Resume related tests. 2023-01-20 23:31:00 +00:00
fuse Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
gpu_display Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
hypervisor aarch64: static swiotlb allocation 2023-02-01 00:05:48 +00:00
infra Roll recipe dependencies (trivial). 2023-02-01 18:43:51 +00:00
io_uring Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +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 kvm: dedup BlockedSignal type 2023-01-20 19:11:28 +00:00
kvm_sys Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
libcras_stub Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
linux_input_sys Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
logo README: Use PNG logo image 2021-10-29 01:56:23 +00:00
media media: cros-codecs: vaapi: factorize open() implementations 2023-01-27 03:19:11 +00:00
metrics kiwi: clean anti_tamper and metrics related code 2023-01-04 00:08:27 +00:00
net_sys Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
net_util Fix new Rust 1.65 clippy warnings 2023-01-05 23:08:09 +00:00
power_monitor power_monitor: refactor to use ReadNotifier 2023-01-03 22:37:36 +00:00
prebuilts Enable parallel execution of plugin and e2e tests 2023-01-26 20:38:57 +00:00
proto_build_tools proto_build_tools: dont fail silently 2023-01-31 18:03:00 +00:00
protos Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
qcow_utils Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
resources Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
rutabaga_gfx crosvm: add licensing/description to alpha crates 2023-01-14 02:05:06 +00:00
sandbox Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
seccomp swap: send userfaultfd via Tube on device process fork 2023-02-01 00:47:52 +00:00
serde_keyvalue Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
src windows: move vm_evt_wrtube/rdtube out of Config 2023-02-01 19:49:20 +00:00
swap swap: introduce Error type for userfaultfd 2023-02-01 01:05:25 +00:00
system_api Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
tests Enable parallel execution of plugin and e2e tests 2023-01-26 20:38:57 +00:00
third_party crosvm: pre-release alpha for data_model 2023-01-13 17:23:23 +00:00
tools audio_streams_conformance_test: add minijail dependency for unix target 2023-02-01 04:19:40 +00:00
tpm2 Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
tpm2-sys Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
tube_transporter Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
usb_sys Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
usb_util Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
vfio_sys Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
vhost Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
virtio_sys devices: virtio: add pvclock device 2023-01-11 17:49:10 +00:00
vm_control vm_control: trivial code cleanup 2023-01-18 18:37:59 +00:00
vm_memory Virtqueue: Fix invalid avail_index issue 2023-01-12 08:02:39 +00:00
win_audio kiwi: clean anti_tamper and metrics related code 2023-01-04 00:08:27 +00:00
win_util Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
x86_64 swap: send userfaultfd via Tube on device process fork 2023-02-01 00:47:52 +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 Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +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 swap: send userfaultfd via Tube on device process fork 2023-02-01 00:47:52 +00:00
Cargo.toml swap: send userfaultfd via Tube on device process fork 2023-02-01 00:47:52 +00:00
CONTRIBUTING.md docs: typos and nits in CONTRIBUTING.md 2023-01-31 00:24:46 +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 Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
rust-toolchain dev_container: Upgrade to debian bookworm 2022-09-14 22:32:36 +00:00

crosvm - The ChromeOS 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 ChromeOS 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 ChromeOS devices.

Logo