mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-06 10:32:10 +00:00
No description
77ca3e34e6
This change will allow the guest to start a new VVU device backend after an old VVU device backend process exited due to sibling disconnection. More specifically, this CL will allow the vvu-proxy to support scenarios like follows: 1. A device backend starts in the guest and a sibling VM connects to the socket. 2. The sibling VM shuts down. Then, the device backend process exists in the guest. And, the vvu-proxy's state is changed from `Running` to `Activated`. 3. Return to 1. Note that we don't support more complicated reconnection scenario such as: * reconnection after sibling's unexpected crash * restart after device backend's unexpected crash To support the reconnection feature, the vvu-proxy device needs to clean its status when a sibling disconnected. Specifically, it needs to * reset virtqueues' state, * unregister memory regions that it registered via VmMemoryRequest, and * update the device state from the worker thread. BUG=b:216407443 TEST=run on workstation; sibling could reconnect after the first instance exits. Change-Id: I4c01e6069484ff74a0d643edd6a3b3231fb5c2d6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3602361 Reviewed-by: Alexandre Courbot <acourbot@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Keiichi Watanabe <keiichiw@chromium.org> |
||
---|---|---|
.cargo | ||
.devcontainer | ||
.github | ||
aarch64 | ||
acpi_tables | ||
arch | ||
argh_helpers | ||
base | ||
bin | ||
bit_field | ||
broker_ipc | ||
ci/kokoro | ||
common | ||
cros_async | ||
crosvm-fuzz | ||
crosvm_control | ||
crosvm_plugin | ||
devices | ||
disk | ||
docs/book | ||
fuse | ||
gpu_display | ||
hypervisor | ||
infra | ||
integration_tests | ||
io_uring | ||
kernel_cmdline | ||
kernel_loader | ||
kvm | ||
kvm_sys | ||
libcras_stub | ||
linux_input_sys | ||
logo | ||
media | ||
metrics | ||
net_sys | ||
net_util | ||
power_monitor | ||
protos | ||
qcow_utils | ||
resources | ||
rutabaga_gfx | ||
seccomp | ||
serde_keyvalue | ||
src | ||
system_api_stub | ||
tests | ||
third_party | ||
tools | ||
tpm2 | ||
tpm2-sys | ||
tube_transporter | ||
usb_sys | ||
usb_util | ||
vfio_sys | ||
vhost | ||
virtio_sys | ||
vm_control | ||
vm_memory | ||
win_audio | ||
win_util | ||
x86_64 | ||
.dockerignore | ||
.gitignore | ||
.gitmodules | ||
.rustfmt.toml | ||
ARCHITECTURE.md | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
LICENSE | ||
navbar.md | ||
OWNERS | ||
PRESUBMIT.cfg | ||
README.chromeos.md | ||
README.md | ||
run_tests | ||
rust-toolchain | ||
setup_cros_cargo.sh | ||
test_all | ||
unblocked_terms.txt |
crosvm - The Chrome OS Virtual Machine Monitor
crosvm is a virtual machine monitor (VMM) based on Linux’s 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 doesn’t 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.
- Documentation
- Source code
- API doc, useful for searching API.
- For contribution, see the contributor guide. Mirror repository is available at GitHub for your convenience, but we don't accept bug reports or pull requests there.
- Issue tracker