.. SPDX-License-Identifier: GPL-2.0

==============
KVM CPUID bits
==============

:Author: Glauber Costa <glommer@gmail.com>

A guest running on a kvm host, can check some of its features using
cpuid. This is not always guaranteed to work, since userspace can
mask-out some, or even all KVM-related cpuid features before launching
a guest.

KVM cpuid functions are:

function: KVM_CPUID_SIGNATURE (0x40000000)

returns::

   eax = 0x40000001
   ebx = 0x4b4d564b
   ecx = 0x564b4d56
   edx = 0x4d

Note that this value in ebx, ecx and edx corresponds to the string "KVMKVMKVM".
The value in eax corresponds to the maximum cpuid function present in this leaf,
and will be updated if more functions are added in the future.
Note also that old hosts set eax value to 0x0. This should
be interpreted as if the value was 0x40000001.
This function queries the presence of KVM cpuid leafs.

function: define KVM_CPUID_FEATURES (0x40000001)

returns::

          ebx, ecx
          eax = an OR'ed group of (1 << flag)

where ``flag`` is defined as below:

================================= =========== ================================
flag                              value       meaning
================================= =========== ================================
KVM_FEATURE_CLOCKSOURCE           0           kvmclock available at msrs
                                              0x11 and 0x12

KVM_FEATURE_NOP_IO_DELAY          1           not necessary to perform delays
                                              on PIO operations

KVM_FEATURE_MMU_OP                2           deprecated

KVM_FEATURE_CLOCKSOURCE2          3           kvmclock available at msrs

                                              0x4b564d00 and 0x4b564d01
KVM_FEATURE_ASYNC_PF              4           async pf can be enabled by
                                              writing to msr 0x4b564d02

KVM_FEATURE_STEAL_TIME            5           steal time can be enabled by
                                              writing to msr 0x4b564d03

KVM_FEATURE_PV_EOI                6           paravirtualized end of interrupt
                                              handler can be enabled by
                                              writing to msr 0x4b564d04

KVM_FEATURE_PV_UNHAULT            7           guest checks this feature bit
                                              before enabling paravirtualized
                                              spinlock support

KVM_FEATURE_PV_TLB_FLUSH          9           guest checks this feature bit
                                              before enabling paravirtualized
                                              tlb flush

KVM_FEATURE_ASYNC_PF_VMEXIT       10          paravirtualized async PF VM EXIT
                                              can be enabled by setting bit 2
                                              when writing to msr 0x4b564d02

KVM_FEATURE_PV_SEND_IPI           11          guest checks this feature bit
                                              before enabling paravirtualized
                                              sebd IPIs

KVM_FEATURE_PV_POLL_CONTROL       12          host-side polling on HLT can
                                              be disabled by writing
                                              to msr 0x4b564d05.

KVM_FEATURE_PV_SCHED_YIELD        13          guest checks this feature bit
                                              before using paravirtualized
                                              sched yield.

KVM_FEATURE_CLOCSOURCE_STABLE_BIT 24          host will warn if no guest-side
                                              per-cpu warps are expeced in
                                              kvmclock
================================= =========== ================================

::

      edx = an OR'ed group of (1 << flag)

Where ``flag`` here is defined as below:

================== ============ =================================
flag               value        meaning
================== ============ =================================
KVM_HINTS_REALTIME 0            guest checks this feature bit to
                                determine that vCPUs are never
                                preempted for an unlimited time
                                allowing optimizations
================== ============ =================================
