mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-06 02:25:23 +00:00
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> |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |