crosvm/hypervisor
Kaiyi Li a1033831c4 hypervisor: allow test to config the TR register
This allows the long mode tests to config task state segment and IST,
which further allows tests to switch the interrupt stack without having
to change the privilege level.

TEST=./tools/dev_container cargo nextest run --workspace --profile=default -E 'package(hypervisor) & binary(hypervisor_virtualization)'  --retries 0 --no-capture
BUG=b:354901961

Change-Id: I9a118fb6eee1e7186b40f9e877583381acaa2aef
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5838082
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Kaiyi Li <kaiyili@google.com>
2024-09-10 00:01:48 +00:00
..
hypervisor_test_macro
src
tests hypervisor: allow test to config the TR register 2024-09-10 00:01:48 +00:00
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

HAXM

Android Specific

The hypervisors in this section are used as backends of the Android Virtualization Framework.

Geniezone

Gunyah