• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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