cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

errata.rst (1312B)


      1.. SPDX-License-Identifier: GPL-2.0
      2
      3=======================================
      4Known limitations of CPU virtualization
      5=======================================
      6
      7Whenever perfect emulation of a CPU feature is impossible or too hard, KVM
      8has to choose between not implementing the feature at all or introducing
      9behavioral differences between virtual machines and bare metal systems.
     10
     11This file documents some of the known limitations that KVM has in
     12virtualizing CPU features.
     13
     14x86
     15===
     16
     17``KVM_GET_SUPPORTED_CPUID`` issues
     18----------------------------------
     19
     20x87 features
     21~~~~~~~~~~~~
     22
     23Unlike most other CPUID feature bits, CPUID[EAX=7,ECX=0]:EBX[6]
     24(FDP_EXCPTN_ONLY) and CPUID[EAX=7,ECX=0]:EBX]13] (ZERO_FCS_FDS) are
     25clear if the features are present and set if the features are not present.
     26
     27Clearing these bits in CPUID has no effect on the operation of the guest;
     28if these bits are set on hardware, the features will not be present on
     29any virtual machine that runs on that hardware.
     30
     31**Workaround:** It is recommended to always set these bits in guest CPUID.
     32Note however that any software (e.g ``WIN87EM.DLL``) expecting these features
     33to be present likely predates these CPUID feature bits, and therefore
     34doesn't know to check for them anyway.
     35
     36Nested virtualization features
     37------------------------------
     38
     39TBD