~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/virt/kvm/x86/errata.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/virt/kvm/x86/errata.rst (Version linux-6.12-rc7) and /Documentation/virt/kvm/x86/errata.rst (Version linux-6.3.13)


  1 .. SPDX-License-Identifier: GPL-2.0                 1 .. SPDX-License-Identifier: GPL-2.0
  2                                                     2 
  3 =======================================             3 =======================================
  4 Known limitations of CPU virtualization             4 Known limitations of CPU virtualization
  5 =======================================             5 =======================================
  6                                                     6 
  7 Whenever perfect emulation of a CPU feature is      7 Whenever perfect emulation of a CPU feature is impossible or too hard, KVM
  8 has to choose between not implementing the fea      8 has to choose between not implementing the feature at all or introducing
  9 behavioral differences between virtual machine      9 behavioral differences between virtual machines and bare metal systems.
 10                                                    10 
 11 This file documents some of the known limitati     11 This file documents some of the known limitations that KVM has in
 12 virtualizing CPU features.                         12 virtualizing CPU features.
 13                                                    13 
 14 x86                                                14 x86
 15 ===                                                15 ===
 16                                                    16 
 17 ``KVM_GET_SUPPORTED_CPUID`` issues                 17 ``KVM_GET_SUPPORTED_CPUID`` issues
 18 ----------------------------------                 18 ----------------------------------
 19                                                    19 
 20 x87 features                                       20 x87 features
 21 ~~~~~~~~~~~~                                       21 ~~~~~~~~~~~~
 22                                                    22 
 23 Unlike most other CPUID feature bits, CPUID[EA     23 Unlike most other CPUID feature bits, CPUID[EAX=7,ECX=0]:EBX[6]
 24 (FDP_EXCPTN_ONLY) and CPUID[EAX=7,ECX=0]:EBX]1     24 (FDP_EXCPTN_ONLY) and CPUID[EAX=7,ECX=0]:EBX]13] (ZERO_FCS_FDS) are
 25 clear if the features are present and set if t     25 clear if the features are present and set if the features are not present.
 26                                                    26 
 27 Clearing these bits in CPUID has no effect on      27 Clearing these bits in CPUID has no effect on the operation of the guest;
 28 if these bits are set on hardware, the feature     28 if these bits are set on hardware, the features will not be present on
 29 any virtual machine that runs on that hardware     29 any virtual machine that runs on that hardware.
 30                                                    30 
 31 **Workaround:** It is recommended to always se     31 **Workaround:** It is recommended to always set these bits in guest CPUID.
 32 Note however that any software (e.g ``WIN87EM.     32 Note however that any software (e.g ``WIN87EM.DLL``) expecting these features
 33 to be present likely predates these CPUID feat     33 to be present likely predates these CPUID feature bits, and therefore
 34 doesn't know to check for them anyway.             34 doesn't know to check for them anyway.
 35                                                    35 
 36 Nested virtualization features                     36 Nested virtualization features
 37 ------------------------------                     37 ------------------------------
 38                                                    38 
 39 TBD                                                39 TBD
 40                                                    40 
 41 x2APIC                                             41 x2APIC
 42 ------                                             42 ------
 43 When KVM_X2APIC_API_USE_32BIT_IDS is enabled,      43 When KVM_X2APIC_API_USE_32BIT_IDS is enabled, KVM activates a hack/quirk that
 44 allows sending events to a single vCPU using i     44 allows sending events to a single vCPU using its x2APIC ID even if the target
 45 vCPU has legacy xAPIC enabled, e.g. to bring u     45 vCPU has legacy xAPIC enabled, e.g. to bring up hotplugged vCPUs via INIT-SIPI
 46 on VMs with > 255 vCPUs.  A side effect of the     46 on VMs with > 255 vCPUs.  A side effect of the quirk is that, if multiple vCPUs
 47 have the same physical APIC ID, KVM will deliv     47 have the same physical APIC ID, KVM will deliver events targeting that APIC ID
 48 only to the vCPU with the lowest vCPU ID.  If      48 only to the vCPU with the lowest vCPU ID.  If KVM_X2APIC_API_USE_32BIT_IDS is
 49 not enabled, KVM follows x86 architecture when     49 not enabled, KVM follows x86 architecture when processing interrupts (all vCPUs
 50 matching the target APIC ID receive the interr     50 matching the target APIC ID receive the interrupt).
 51                                                << 
 52 MTRRs                                          << 
 53 -----                                          << 
 54 KVM does not virtualize guest MTRR memory type << 
 55 MSRs, i.e. {RD,WR}MSR in the guest will behave << 
 56 honor guest MTRRs when determining the effecti << 
 57 treats all of guest memory as having Writeback << 
 58                                                << 
 59 CR0.CD                                         << 
 60 ------                                         << 
 61 KVM does not virtualize CR0.CD on Intel CPUs.  << 
 62 emulates CR0.CD accesses so that loads and sto << 
 63 expected, but setting CR0.CD=1 has no impact o << 
 64 memory.                                        << 
 65                                                << 
 66 Note, this erratum does not affect AMD CPUs, w << 
 67 hardware, i.e. put the CPU caches into "no fil << 
 68 running in the guest.                          << 
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php