mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-25 13:23:08 +00:00
0cd3606024
This is mostly a place holder that will be replaced if and when we determine a complete plan for consuming crates from rust-vmm. Change-Id: I8eec6313f40822a887b34d51b462268de5d01fd8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2429813 Reviewed-by: Zach Reizner <zachr@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Tested-by: Dylan Reid <dgreid@chromium.org> Commit-Queue: Dylan Reid <dgreid@chromium.org>
28 lines
1.5 KiB
Markdown
28 lines
1.5 KiB
Markdown
# Summary
|
|
crosvm is open to using rust-vmm modules. However, as of Fall 2020 there has been no progress toward
|
|
that goal. Among other areas, differences in host operating system support methods in `sys-util`
|
|
make integration challenging . It is possible to overcome this and enable crosvm to use common
|
|
modules, but that work is not yet started.
|
|
|
|
# Background
|
|
|
|
## VMMs
|
|
|
|
Soon after crosvm's code was public, Amazon used it as the basis for their own VMM named
|
|
Firecracker. After Firecracker came other rust-based VMM implementations, all using parts of
|
|
crosvm. In order to drive collaboration and code sharing, an independent organization was created,
|
|
named [rust-vmm](https://github.com/rust-vmm).
|
|
|
|
## Sharing Model
|
|
|
|
Rust-vmm aims to provide common components consumed by various implementations of VMMs using rust.
|
|
This allows for sharing components such as virtio queue parsing while allowing full customization by
|
|
individual VMM implementation. The goal is for several VMM projects, Firecracker, Cloud Hypervisor,
|
|
and crosvm to use the shared components.
|
|
|
|
## Future
|
|
crosvm and rust-vmm are most alike in the
|
|
[kvm-bindings](https://github.com/rust-vmm/kvm-bindings)(limited by crosvm's use of aarch64 bindings
|
|
on arm32 hosts), and [vmm-sys-util](https://github.com/rust-vmm/vmm-sys-util)(currently limited by
|
|
differences in non-linux OS support strategy). Integrating these two modules would open the gates to
|
|
sharing more code with rust-vmm, but that work remains low priority for crosvm.
|