Virtualization products executing on processors that support virtualization hardware assists must correctly expose the CPUID information to the virtual instance of Windows.
To support software that may need to determine if it is executing in a virtualized environment, the Server Virtualization Validation Program requires virtualization products
executing on processors that support virtualization hardware assists to correctly expose the CPUID information to the virtual instance of Windows or applications.
To support utility or application software that may need to determine if it is executing in a virtualized environment, one of the Server Virtualization Validation Program
tests determines if virtualization products correctly expose the CPUID information to the virtual instance of Windows or applications. Software in the virtual instance
of Windows can determine if it is running within a virtualized environment by executing the CPUID instruction with an input (EAX register) value of 1. When the CPUID
instruction is executed by the software and it checks bit 31 of register ECX, the "hypervisor-present" bit should be set by the virtualization product.
There is no requirement for any further information to be provided in registers and leaves by the virtualization product.
Virtualization products executing on processors that support virtualization hardware assists must also correctly expose the SMBIOS information related to the system being virtual to the virtual instance of Windows.
SMBIOS specification 2.6 and later. The hierarchy under which this information is found is
BIOS Information (Type 0)
Table that describes the BIOS information structure includes...
BIOS Characteristics Extension Bytes
The table for BIOS Characteristics Extension Byte 2 defines
Bit 4 SMBIOS table describes a virtual machine. (If this bit is not set, no inference can be made about the virtuality of the system.)
Virtualization products executing on processors that support virtualization hardware assists must correctly additionally expose the VM Generation ID information to the virtual instance of Windows.
See this link for information
https://docs.microsoft.com/en-us/windows/win32/hyperv_v2/virtual-machine-generation-identifier
Also see the links for the 3
rd party virtualization products that are participating in SVVP for the equivalent information
Notes:
Product and company names mentioned herein are the trademarks of their respective owners
Processor virtualization hardware assist is referred to as 'VT' by Intel and 'Pacifica' by AMD
All SVVP testing must take place on systems Logo qualified for the most recent version of Windows Server.
For more information on this requirement, contact
svvpfb@microsoft.com