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