linux-mainline/arch/x86/kvm
Tom Lendacky 916e3e5f26 KVM: SVM: Do not use user return MSR support for virtualized TSC_AUX
When the TSC_AUX MSR is virtualized, the TSC_AUX value is swap type "B"
within the VMSA. This means that the guest value is loaded on VMRUN and
the host value is restored from the host save area on #VMEXIT.

Since the value is restored on #VMEXIT, the KVM user return MSR support
for TSC_AUX can be replaced by populating the host save area with the
current host value of TSC_AUX. And, since TSC_AUX is not changed by Linux
post-boot, the host save area can be set once in svm_hardware_enable().
This eliminates the two WRMSR instructions associated with the user return
MSR support.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Message-Id: <d381de38eb0ab6c9c93dda8503b72b72546053d7.1694811272.git.thomas.lendacky@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2023-09-23 05:35:49 -04:00
..
mmu KVM: x86/mmu: Stop zapping invalidated TDP MMU roots asynchronously 2023-09-23 05:35:48 -04:00
svm KVM: SVM: Do not use user return MSR support for virtualized TSC_AUX 2023-09-23 05:35:49 -04:00
vmx ARM: 2023-09-07 13:52:20 -07:00
.gitignore
cpuid.c
cpuid.h
debugfs.c
emulate.c
fpu.h
governed_features.h
hyperv.c
hyperv.h
i8254.c
i8254.h
i8259.c
ioapic.c
ioapic.h
irq_comm.c
irq.c
irq.h
Kconfig KVM: x86/mmu: Replace MMU_DEBUG with proper KVM_PROVE_MMU Kconfig 2023-08-31 13:48:47 -04:00
kvm_cache_regs.h
kvm_emulate.h
kvm_onhyperv.c
kvm_onhyperv.h
kvm-asm-offsets.c
lapic.c
lapic.h
Makefile
mmu.h KVM: x86/mmu: Don't bounce through page-track mechanism for guest PTEs 2023-08-31 13:49:00 -04:00
mtrr.c
pmu.c
pmu.h
reverse_cpuid.h
smm.c
smm.h
trace.h
tss.h
x86.c KVM: x86/mmu: Stop zapping invalidated TDP MMU roots asynchronously 2023-09-23 05:35:48 -04:00
x86.h
xen.c
xen.h