aboutsummaryrefslogtreecommitdiffstats
path: root/virt/kvm/kvm_main.c
diff options
context:
space:
mode:
authorAaron Lewis <aaronlewis@google.com>2019-11-07 21:14:39 -0800
committerPaolo Bonzini <pbonzini@redhat.com>2019-11-15 11:44:20 +0100
commit662f1d1d19317e792ccfc53dee625c02dcefac58 (patch)
tree81e6b19586e6b13772f35d2fc98532e9d0829bee /virt/kvm/kvm_main.c
parentkvm: vmx: Rename function find_msr() to vmx_find_msr_index() (diff)
downloadlinux-dev-662f1d1d19317e792ccfc53dee625c02dcefac58.tar.xz
linux-dev-662f1d1d19317e792ccfc53dee625c02dcefac58.zip
KVM: nVMX: Add support for capturing highest observable L2 TSC
The L1 hypervisor may include the IA32_TIME_STAMP_COUNTER MSR in the vmcs12 MSR VM-exit MSR-store area as a way of determining the highest TSC value that might have been observed by L2 prior to VM-exit. The current implementation does not capture a very tight bound on this value. To tighten the bound, add the IA32_TIME_STAMP_COUNTER MSR to the vmcs02 VM-exit MSR-store area whenever it appears in the vmcs12 VM-exit MSR-store area. When L0 processes the vmcs12 VM-exit MSR-store area during the emulation of an L2->L1 VM-exit, special-case the IA32_TIME_STAMP_COUNTER MSR, using the value stored in the vmcs02 VM-exit MSR-store area to derive the value to be stored in the vmcs12 VM-exit MSR-store area. Reviewed-by: Liran Alon <liran.alon@oracle.com> Reviewed-by: Jim Mattson <jmattson@google.com> Signed-off-by: Aaron Lewis <aaronlewis@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'virt/kvm/kvm_main.c')
0 files changed, 0 insertions, 0 deletions