2 Glauber Costa <glommer@redhat.com>, Red Hat Inc, 2010
3 =====================================================
5 A guest running on a kvm host, can check some of its features using
6 cpuid. This is not always guaranteed to work, since userspace can
7 mask-out some, or even all KVM-related cpuid features before launching
10 KVM cpuid functions are:
12 function: KVM_CPUID_SIGNATURE (0x40000000)
17 Note that this value in ebx, ecx and edx corresponds to the string "KVMKVMKVM".
18 This function queries the presence of KVM cpuid leafs.
21 function: define KVM_CPUID_FEATURES (0x40000001)
22 returns : ebx, ecx, edx = 0
23 eax = and OR'ed group of (1 << flag), where each flags is:
26 flag || value || meaning
27 =============================================================================
28 KVM_FEATURE_CLOCKSOURCE || 0 || kvmclock available at msrs
30 ------------------------------------------------------------------------------
31 KVM_FEATURE_NOP_IO_DELAY || 1 || not necessary to perform delays
32 || || on PIO operations.
33 ------------------------------------------------------------------------------
34 KVM_FEATURE_MMU_OP || 2 || deprecated.
35 ------------------------------------------------------------------------------
36 KVM_FEATURE_CLOCKSOURCE2 || 3 || kvmclock available at msrs
37 || || 0x4b564d00 and 0x4b564d01
38 ------------------------------------------------------------------------------
39 KVM_FEATURE_ASYNC_PF || 4 || async pf can be enabled by
40 || || writing to msr 0x4b564d02
41 ------------------------------------------------------------------------------
42 KVM_FEATURE_CLOCKSOURCE_STABLE_BIT || 24 || host will warn if no guest-side
43 || || per-cpu warps are expected in
45 ------------------------------------------------------------------------------