HV_X64_HYPERVISOR_CPU_MANAGEMENT_FEATURES

The HV_X64_PLATFORM_CAPABILITIES collects the flags that a Microsoft-compatible hypervisor’s cpuid leaf 0x40000007 produces in the eax, ebx, ecx and edx registers. It is defined for Windows 10.

Documentation Status

The HV_X64_HYPERVISOR_CPU_MANAGEMENT_FEATURES is not documented. The hypervisor’s cpuid implementation is documented in the Hypervisor Top-Level Functional Specification, which Microsoft provides under the Microsoft Open Specification Promise. What’s offered there today (12th November 2016) as the specification’s most recent version is a PDF that is three years old and extends only to leaf 0x40000006.

Layout

The is 0x10 bytes. The masks and definitions below are from type information in symbol files for URLMON.DLL in Windows 10.

Offset Definition
0x00
UINT StartLogicalProcessor : 1;             // 0x00000001
UINT CreateRootVirtualProcessor : 1;        // 0x00000002
UINT Reserved0 : 29;
UINT ReservedIdentityBit : 1;               // 0x80000000
0x04
UINT ProcessorPowerManagement : 1;          // 0x00000001
UINT MwaitIdleStates : 1;                   // 0x00000002
UINT LogicalProcessorIdling : 1;            // 0x00000004
UINT Reserved1 : 29;
0x08
UINT ReservedEcx;
0x0C
UINT ReservedEdx;