mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-24 20:48:55 +00:00
5f39227a17
The previous VcpuSignalHandle code used a weak reference to the Arc that was owned by the main Vcpu instance, but this is more complex than necessary. What we really want to ensure is that the VcpuSignalHandle has a valid pointer to the memory-mapped VCPU file descriptor, which we can ensure by tracking the MemoryMapping lifetime inside an Arc and cloning it to provide the VcpuSignalHandle with a strong reference, cleaning up some unnecessarily tricky and unsafe code. BUG=b:285026749 TEST=tools/dev_container tools/presubmit TEST=boot and shut down ARCVM and Crostini on x86 and arm Change-Id: Ia15a677a0b6c09eb2e41c4c97d5ba4b4ebf331c3 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4575991 Commit-Queue: Daniel Verkamp <dverkamp@chromium.org> Reviewed-by: Alexandre Courbot <acourbot@chromium.org> Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org> |
||
---|---|---|
.. | ||
src | ||
tests | ||
Cargo.toml | ||
README.md |
Hypervisor Support
Multiple hypervisor backends are supported. See Advanced Usage for overriding the default backend.
Hypervisors added to crosvm must meet the following requirements:
- Hypervisor code must be buildable in crosvm upstream.
- Within reason, crosvm maintainers will ensure the hypervisor's code continues to build.
- Hypervisors are not required to be tested upstream.
- We can't require testing upstream because some hypervisors require specialized hardware.
- When not tested upstream, the hypervisor's maintainers are expected to test it downstream. If a change to crosvm breaks something downstream, then the hypervisor's maintainers are expected to supply the fix and can't expect a revert of the culprit change to be accepted upstream.
KVM
- Platforms: Linux
- Tested upstream: yes
KVM is crosvm's preferred hypervisor for Linux.
WHPX
- Platforms: Windows
- Tested upstream: no
- Contacts: vnagarnaik@google.com
HAXM
- Platforms: Windows
- Tested upstream: no
- Contacts: vnagarnaik@google.com
Android Specific
The hypervisors in this section are used as backends of the Android Virtualization Framework.
Geniezone
- Platforms: Linux, aarch64 only
- Tested upstream: no
- Contacts: fmayle@google.com, smoreland@google.com
Gunyah
- Platforms: Linux, aarch64 only
- Tested upstream: no
- Contacts: fmayle@google.com, smoreland@google.com