mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-10 12:09:31 +00:00
Add support for shared memory regions to vhost-user. This is adding support for a front-end message to query for necessary shared memory regions plus back-end message to support mapping/unmapping files from the shared memory region. go/vvu-shared-memory BUG=b:201745804 TEST=compiles Change-Id: I35c5d260ee09175b68f6778b81883e0070ee0265 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3716344 Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org> Commit-Queue: David Stevens <stevensd@chromium.org> Reviewed-by: Alexandre Courbot <acourbot@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> |
||
---|---|---|
.. | ||
.buildkite | ||
.cargo | ||
.github | ||
docs | ||
src | ||
.gitignore | ||
.gitmodules | ||
Cargo.toml | ||
CODEOWNERS | ||
LICENSE | ||
LICENSE-BSD-3-Clause | ||
LICENSE-BSD-Chromium | ||
README.md |
vHost
A pure rust library for vhost-user. This is a fork of rust-vmm/vhost.
The vhost-user protocol aims to implement vhost backend drivers in userspace, which complements the ioctl interface used to control the vhost implementation in the Linux kernel. It implements the control plane needed to establish virtqueue sharing with a user space process on the same host. It uses communication over a Unix domain socket to share file descriptors in the ancillary data of the message.
The protocol defines two sides of the communication, master and slave. Master is the application that shares its virtqueues, slave is the consumer of the virtqueues. Master and slave can be either a client (i.e. connecting) or server (listening) in the socket communication.