No description
Find a file
Daniel Verkamp 96afbc3dd6 vmm_vhost: replace SystemStream with Connection in pub API
The vmm_vhost::Connection type is now used consistently to represent a
vhost-user connection in the places that previously used a SystemStream
(which is either UnixStream or Tube depending on the platform).

This cleans up the vmm_vhost public API and also keeps more of the
internal vhost-user implementation encapsulated inside the vmm_vhost
library.

The conversion to Connection for unix has also been improved to
propagate the error via TryFrom instead of From, resolving a TODO
comment.

Change-Id: Ib02d300a04304242f7be7e1661c0213c25c7a4f1
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5874103
Reviewed-by: Frederick Mayle <fmayle@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2024-09-19 21:19:33 +00:00
.cargo Enable clippy for android code 2024-07-09 20:43:44 +00:00
.config dev_container: Pass through NEXTEST_PROFILE 2023-12-14 19:01:30 +00:00
.devcontainer dev_container: Replace better toml extension 2023-07-27 23:37:15 +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 x86 & aarch64: accept an FD passed for dump device tree blob 2024-09-19 17:20:26 +00:00
acpi_tables Replace ::max_value() with ::MAX 2024-07-09 23:26:03 +00:00
android_audio Refactor android_audio 2024-07-08 20:26:39 +00:00
arch kernel_cmdline: remove capacity from Cmdline 2024-09-12 18:42:20 +00:00
argh_helpers Update to syn-2 2023-12-02 00:23:50 +00:00
audio_streams_conformance_test audio_streams_conformance_test: remove unused minijail dep 2024-05-22 21:24:02 +00:00
audio_util clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
base base: Add call_with_extended_max_files() 2024-09-19 01:22:11 +00:00
base_tokio Avoid clippy::blocks_in_conditions warnings 2024-06-11 00:18:47 +00:00
bit_field Replace ::max_value() with ::MAX 2024-07-09 23:26:03 +00:00
broker_ipc metrics: Switch metrics from Tube to SendTube 2024-04-09 01:38:03 +00:00
common tree-wide: replace data_model::zerocopy_from_*() 2024-03-13 18:03:24 +00:00
cros_async Fix bad indentation in Markdown around lists 2024-09-10 02:05:59 +00:00
cros_fdt Fix clippy::assigning_clones lints 2024-06-10 19:33:36 +00:00
cros_tracing Cargo.toml: avoid "*" versions for external crates 2024-05-22 01:01:42 +00:00
cros_tracing_types Cargo.toml: avoid "*" versions for external crates 2024-05-22 01:01:42 +00:00
crosvm_cli devices: vfio: make global container state explicit 2024-06-06 23:31:16 +00:00
crosvm_control vm_control: fix more wildcard re-exports 2024-06-14 22:38:27 +00:00
crosvm_plugin Cargo.toml: avoid "*" versions for external crates 2024-05-22 01:01:42 +00:00
devices vmm_vhost: replace SystemStream with Connection in pub API 2024-09-19 21:19:33 +00:00
disk disk: add option to disable file locking 2024-09-10 22:07:48 +00:00
docs/book docs: add documentation to build and install virglrenderer 2024-09-09 16:29:24 +00:00
e2e_tests device: fs: add vhost-user-fs e2e test 2024-08-05 10:23:03 +00:00
ext2 ext2: Use builder pattern for creating fs 2024-09-12 07:32:22 +00:00
fuse Fix bad indentation in Markdown around lists 2024-09-10 02:05:59 +00:00
fuzz disk: add option to disable file locking 2024-09-10 22:07:48 +00:00
gpu_display Revert "gpu: Add parameter for a custom cursor file" 2024-09-19 19:20:09 +00:00
hypervisor Fix bad indentation in Markdown around lists 2024-09-10 02:05:59 +00:00
infra Roll recipe dependencies (trivial). 2024-09-18 22:36:58 +00:00
io_uring Fix clippy::suspicious_open_options warnings 2024-06-10 19:39:47 +00:00
jail seccomp: allow socketpair for ipcz 2024-08-21 07:59:28 +00:00
kernel_cmdline kernel_cmdline: remove capacity from Cmdline 2024-09-12 18:42:20 +00:00
kernel_loader kernel_loader: move load_cmdline() to x86_64 2024-09-09 21:32:01 +00:00
kvm hypervisor: kvm: KVM_GET_MSRS writes to its parameter 2024-09-09 23:04:00 +00:00
kvm_sys kvm_sys: Move KVM_PVIOMMU_SET_CONFIG to lib.rs 2024-07-30 18:17:34 +00:00
libcras_stub Cargo.toml: avoid "*" versions for external crates 2024-05-22 01:01:42 +00:00
linux_input_sys Cargo.toml: avoid "*" versions for external crates 2024-05-22 01:01:42 +00:00
logo README: Use PNG logo image 2021-10-29 01:56:23 +00:00
media Add aarch64-linux-android target 2024-07-11 17:35:22 +00:00
metrics metrics: add missing features in Cargo.toml 2024-07-03 00:33:08 +00:00
metrics_events metric_events & src: add metric for VcpuShutdown. 2024-05-31 18:25:50 +00:00
net_sys Cargo.toml: avoid "*" versions for external crates 2024-05-22 01:01:42 +00:00
net_util base: define ioctls as consts rather than functions 2024-06-25 19:17:21 +00:00
perfetto Cargo.toml: avoid "*" versions for external crates 2024-05-22 01:01:42 +00:00
power_monitor power_monitor: Filter out some power signals 2024-03-22 02:23:57 +00:00
prebuilts Cargo.toml: avoid "*" versions for external crates 2024-05-22 01:01:42 +00:00
proto_build_tools Cargo.toml: upgrade protobuf 2.x -> 3.x 2023-04-28 19:32:01 +00:00
protos clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
resources Fix clippy::unnecessary_get_then_check warnings 2024-06-10 20:01:30 +00:00
riscv64 kernel_cmdline: remove capacity from Cmdline 2024-09-12 18:42:20 +00:00
rutabaga_gfx rutabaga_gfx: Add cfg checks for unstable virgl_renderer and gfxstream 2024-09-09 16:32:51 +00:00
sandbox Cargo.toml: avoid "*" versions for external crates 2024-05-22 01:01:42 +00:00
serde_keyvalue Cargo.toml: avoid "*" versions for external crates 2024-05-22 01:01:42 +00:00
src vmm_vhost: replace SystemStream with Connection in pub API 2024-09-19 21:19:33 +00:00
swap base: define ioctls as consts rather than functions 2024-06-25 19:17:21 +00:00
system_api devices: virtio-fs: enable dbus crate stdfd feature 2024-03-08 22:14:51 +00:00
tests Reformat comments 2024-02-15 23:30:13 +00:00
third_party vmm_vhost: replace SystemStream with Connection in pub API 2024-09-19 21:19:33 +00:00
tools infra: Add android-aarch64 builder 2024-07-11 17:43:44 +00:00
tube_transporter Cargo.toml: avoid "*" versions for external crates 2024-05-22 01:01:42 +00:00
usb_sys clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
usb_util base: define ioctls as consts rather than functions 2024-06-25 19:17:21 +00:00
vendor vendor/generic/metrics: document API methods. 2024-06-04 21:46:46 +00:00
vfio_sys bindgen: update to Linux 6.6 headers 2024-01-09 00:37:43 +00:00
vhost base: define ioctls as consts rather than functions 2024-06-25 19:17:21 +00:00
virtio_sys devices: virtio: Support virtio suspend 2024-05-02 01:20:09 +00:00
vm_control Remove redundant run state change for RTC wakes 2024-09-06 05:10:09 +00:00
vm_memory vm_memory: improve MemoryNotAligned error message 2024-09-10 20:06:47 +00:00
win_audio Windows clippy fixes for Rust 1.77 2024-06-13 01:07:13 +00:00
win_util Replace ::max_value() with ::MAX 2024-07-09 23:26:03 +00:00
x86_64 x86 & aarch64: accept an FD passed for dump device tree blob 2024-09-19 17:20:26 +00:00
.dockerignore add docker supported builds and tests 2019-05-15 13:36:19 -07:00
.envrc Automatically register tools/ on PATH 2023-03-03 00:33:15 +00:00
.gitattributes config: force lf as line endings 2023-11-07 17:38:58 +00:00
.gitignore Automatically register tools/ on PATH 2023-03-03 00:33:15 +00:00
.gitmodules devices: remove --software-tpm support 2023-10-02 23:28:45 +00:00
.rustfmt.toml rustfmt: wrap comments 2024-02-15 23:30:13 +00:00
ARCHITECTURE.md docs: book: update architecture docs 2023-06-01 22:37:17 +00:00
Cargo.lock vmm_vhost: replace SystemStream with Connection in pub API 2024-09-19 21:19:33 +00:00
Cargo.toml vmm_vhost: replace SystemStream with Connection in pub API 2024-09-19 21:19:33 +00:00
CONTRIBUTING.md CONTRIBUTING: Fix typo 'Cargo.lock' 2024-07-17 03:47:21 +00:00
DIR_METADATA Add arcvm_gki_cq test plan 2024-08-21 18:24:58 +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 owners: remove Paul 2024-09-05 22:51:31 +00:00
OWNERS_COUNCIL OWNERS_COUNCIL: Update council reviewers 2024-05-29 18:36:55 +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 rust-toolchain: update to Rust 1.77.2 2024-06-18 18:21:17 +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