xref: /aosp_15_r20/external/crosvm/hypervisor/README.md (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker# Hypervisor Support
2*bb4ee6a4SAndroid Build Coastguard Worker
3*bb4ee6a4SAndroid Build Coastguard WorkerMultiple hypervisor backends are supported. See
4*bb4ee6a4SAndroid Build Coastguard Worker[Advanced Usage](running_crosvm/advanced_usage.md#hypervisor) for overriding the default backend.
5*bb4ee6a4SAndroid Build Coastguard Worker
6*bb4ee6a4SAndroid Build Coastguard WorkerHypervisors added to crosvm must meet the following requirements:
7*bb4ee6a4SAndroid Build Coastguard Worker
8*bb4ee6a4SAndroid Build Coastguard Worker- Hypervisor code must be buildable in crosvm upstream.
9*bb4ee6a4SAndroid Build Coastguard Worker  - Within reason, crosvm maintainers will ensure the hypervisor's code continues to build.
10*bb4ee6a4SAndroid Build Coastguard Worker- Hypervisors are not required to be tested upstream.
11*bb4ee6a4SAndroid Build Coastguard Worker  - We can't require testing upstream because some hypervisors require specialized hardware.
12*bb4ee6a4SAndroid Build Coastguard Worker  - When not tested upstream, the hypervisor's maintainers are expected to test it downstream. If a
13*bb4ee6a4SAndroid Build Coastguard Worker    change to crosvm breaks something downstream, then the hypervisor's maintainers are expected to
14*bb4ee6a4SAndroid Build Coastguard Worker    supply the fix and can't expect a revert of the culprit change to be accepted upstream.
15*bb4ee6a4SAndroid Build Coastguard Worker
16*bb4ee6a4SAndroid Build Coastguard Worker## KVM
17*bb4ee6a4SAndroid Build Coastguard Worker
18*bb4ee6a4SAndroid Build Coastguard Worker- Platforms: Linux
19*bb4ee6a4SAndroid Build Coastguard Worker- Tested upstream: yes
20*bb4ee6a4SAndroid Build Coastguard Worker
21*bb4ee6a4SAndroid Build Coastguard WorkerKVM is crosvm's preferred hypervisor for Linux.
22*bb4ee6a4SAndroid Build Coastguard Worker
23*bb4ee6a4SAndroid Build Coastguard Worker## WHPX
24*bb4ee6a4SAndroid Build Coastguard Worker
25*bb4ee6a4SAndroid Build Coastguard Worker- Platforms: Windows
26*bb4ee6a4SAndroid Build Coastguard Worker- Tested upstream: no
27*bb4ee6a4SAndroid Build Coastguard Worker- Contacts: [email protected]
28*bb4ee6a4SAndroid Build Coastguard Worker
29*bb4ee6a4SAndroid Build Coastguard Worker## HAXM
30*bb4ee6a4SAndroid Build Coastguard Worker
31*bb4ee6a4SAndroid Build Coastguard Worker- Platforms: Windows
32*bb4ee6a4SAndroid Build Coastguard Worker- Tested upstream: no
33*bb4ee6a4SAndroid Build Coastguard Worker- Contacts: [email protected]
34*bb4ee6a4SAndroid Build Coastguard Worker
35*bb4ee6a4SAndroid Build Coastguard Worker## Android Specific
36*bb4ee6a4SAndroid Build Coastguard Worker
37*bb4ee6a4SAndroid Build Coastguard WorkerThe hypervisors in this section are used as backends of the
38*bb4ee6a4SAndroid Build Coastguard Worker[Android Virtualization Framework](https://source.android.com/docs/core/virtualization).
39*bb4ee6a4SAndroid Build Coastguard Worker
40*bb4ee6a4SAndroid Build Coastguard Worker### Geniezone
41*bb4ee6a4SAndroid Build Coastguard Worker
42*bb4ee6a4SAndroid Build Coastguard Worker- Platforms: Linux, aarch64 only
43*bb4ee6a4SAndroid Build Coastguard Worker- Tested upstream: no
44*bb4ee6a4SAndroid Build Coastguard Worker- Contacts: [email protected], [email protected]
45*bb4ee6a4SAndroid Build Coastguard Worker
46*bb4ee6a4SAndroid Build Coastguard Worker### Gunyah
47*bb4ee6a4SAndroid Build Coastguard Worker
48*bb4ee6a4SAndroid Build Coastguard Worker- Platforms: Linux, aarch64 only
49*bb4ee6a4SAndroid Build Coastguard Worker- Tested upstream: no
50*bb4ee6a4SAndroid Build Coastguard Worker- Contacts: [email protected], [email protected], [email protected],
51*bb4ee6a4SAndroid Build Coastguard Worker  [email protected]
52