-
-
Notifications
You must be signed in to change notification settings - Fork 17
Supported Platforms and Features
virt86 supports the following hypervisors and operating systems:
Windows | Linux | macOS | |
---|---|---|---|
Intel HAXM | ✔ | ✔ | ✔ |
Windows Hypervisor Platform | ✔1 | - | - |
KVM | - | ✔ | - |
Hypervisor.Framework | - | - |
1 Windows Hypervisor Platform requires Windows 10 SDK 10.0.17134.0 or later.
2 Hypervisor.Framework support is under development. See issue #1 and the hvf
branch.
The hypervisor platforms themselves support the following hardware-assisted virtualization technologies:
Intel VT-x | AMD-V | |
---|---|---|
Intel HAXM | ✔ | - |
Windows Hypervisor Platform | ✔ | ✔ |
KVM | ✔ | ✔ |
Hypervisor.Framework | ✔ | N/A |
These are the features exposed by each hypervisor platform:
FeaturePlatformFeatures field |
virt86 version |
HAXM | WHPX | KVM | HvF1 |
---|---|---|---|---|---|
Unrestricted Guest2unrestrictedGuest
|
1.0.0 | ✔ | ✔ | ✔ | ? |
Extended Page Tables (EPT)2extendedPageTables
|
1.0.0 | ✔ | ✔ | ✔ | ? |
Guest debuggingaguestDebugging
|
1.0.0 | ✔ (7.3.0) |
- | ✔ | ? |
Guest memory protectionguestMemoryProtection
|
1.0.0 | ✔ (7.2.0) |
- | ✔ | ? |
Dirty page trackingdirtyPageTracking
|
1.0.0 | - | ✔ (10.0.17763.0) |
✔ | ? |
Partial dirty bitmap queryingbpartialDirtyBitmap
|
1.0.0 | - | ✔ (10.0.17763.0) |
- | ? |
Large memory allocation (> 4 GiB)largeMemoryAllocation
|
1.0.0 | ✔ (7.1.0) |
✔ | ✔ | ? |
GPA range aliasingmemoryAliasing
|
1.0.1 | ✔ | ✔ | ✔ | ? |
Partial GPA range unmappingpartialUnmapping
|
1.0.0 | ✔ | ✔ (10.0.17763.0) |
- | ? |
Extended VM exitsextendedVMExits
|
1.0.0 | - | ✔3 (10.0.17763.0) |
✔4 | ? |
Custom CPUID responsescustomCPUIDs
|
1.0.0 | - | ✔ (10.0.17134.0) |
✔5 | ? |
Guest TSC scaling and virtual offsetcguestTSCScaling
|
1.2.0 | - | ✔ (Insider Preview 19H2) |
✔2 | ? |
1 virt86 does not implement an adapter for the Hypervisor.Framework yet. See issue #1.
2 Depends on the capabilities of the host's CPU.
3 VM exit on CPUID instruction, MSR access and CPU exception.
4 VM exit on CPU exception only.
5 Also provides a list of supported CPUID responses and default values in supportedCustomCPUIDs
.
a Single stepping, software and hardware breakpoints.
b Allows querying subsets of mapped GPA ranges. If dirty page tracking is supported but partial dirty bitmap querying is not, the hypervisor will only allow querying entire mapped GPA ranges.
c Not implemented yet. See issue #27.