linux/arch/x86/kvm
Paolo Bonzini bab0c318ba KVM: x86: do not reset microcode version on INIT or RESET
Do not initialize the microcode version at RESET or INIT, only on vCPU
creation.   Microcode updates are not lost during INIT, and exact
behavior across a warm RESET is not specified by the architecture.

Since we do not support a microcode update directly from the hypervisor,
but only as a result of userspace setting the microcode version MSR,
it's simpler for userspace if we do nothing in KVM and let userspace
emulate behavior for RESET as it sees fit.

Userspace can tie the fix to the availability of MSR_IA32_UCODE_REV in
the list of emulated MSRs.

Reported-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-02-12 09:25:37 +01:00
..
mmu kvm: mmu: Separate generating and setting mmio ptes 2020-02-05 15:54:07 +01:00
vmx KVM: x86: do not reset microcode version on INIT or RESET 2020-02-12 09:25:37 +01:00
cpuid.c kvm/svm: PKU not currently supported 2020-01-27 19:59:35 +01:00
cpuid.h KVM: x86: Refactor and rename bit() to feature_bit() macro 2020-01-21 14:45:28 +01:00
debugfs.c KVM: no need to check return value of debugfs_create functions 2019-08-05 12:55:49 +02:00
emulate.c KVM: x86: Use a typedef for fastop functions 2020-01-27 20:00:11 +01:00
hyperv.c kvm: x86: hyperv: Use APICv update request interface 2020-02-05 15:17:43 +01:00
hyperv.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 499 2019-06-19 17:09:53 +02:00
i8254.c kvm: i8254: Deactivate APICv when using in-kernel PIT re-injection mode. 2020-02-05 15:17:44 +01:00
i8254.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
i8259.c KVM: x86: Refactor picdev_write() to prevent Spectre-v1/L1TF attacks 2020-01-27 19:59:37 +01:00
ioapic.c kvm: ioapic: Lazy update IOAPIC EOI 2020-02-05 15:17:44 +01:00
ioapic.h KVM: X86: Move irrelevant declarations out of ioapic.h 2020-01-08 17:33:14 +01:00
irq_comm.c KVM: LAPIC: micro-optimize fixed mode ipi delivery 2020-01-21 13:57:15 +01:00
irq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 320 2019-06-05 17:37:05 +02:00
irq.h KVM: X86: Move irrelevant declarations out of ioapic.h 2020-01-08 17:33:14 +01:00
Kconfig KVM: VMX: Allow KVM_INTEL when building for Centaur and/or Zhaoxin CPUs 2020-01-13 19:35:33 +01:00
kvm_cache_regs.h KVM: x86: Fold decache_cr3() into cache_reg() 2019-10-22 13:34:16 +02:00
lapic.c kvm: lapic: Introduce APICv update helper function 2020-02-05 15:17:40 +01:00
lapic.h kvm: lapic: Introduce APICv update helper function 2020-02-05 15:17:40 +01:00
Makefile KVM: x86: create mmu/ subdirectory 2019-11-21 12:03:50 +01:00
mmu_audit.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 499 2019-06-19 17:09:53 +02:00
mmu.h kvm: x86: mmu: Recovery of shattered NX large pages 2019-11-04 20:26:00 +01:00
mmutrace.h KVM: x86: Use gpa_t for cr2/gpa to fix TDP support on 32-bit KVM 2020-01-08 18:16:02 +01:00
mtrr.c KVM: x86: Protect MSR-based index computations in fixed_msr_to_seg_unit() from Spectre-v1/L1TF attacks 2020-01-27 19:59:39 +01:00
pmu_amd.c KVM: x86/vPMU: Add lazy mechanism to release perf_event per vPMC 2019-11-15 11:44:10 +01:00
pmu.c Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-11-26 15:42:43 -08:00
pmu.h KVM: x86: Protect MSR-based index computations in pmu.h from Spectre-v1/L1TF attacks 2020-01-27 19:59:40 +01:00
svm.c KVM: x86: do not reset microcode version on INIT or RESET 2020-02-12 09:25:37 +01:00
trace.h kvm: x86: Add APICv (de)activate request trace points 2020-02-05 15:17:41 +01:00
tss.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
x86.c KVM: x86: Mark CR4.UMIP as reserved based on associated CPUID bit 2020-02-05 16:30:19 +01:00
x86.h KVM: x86: Take a u64 when checking for a valid dr7 value 2020-02-05 15:17:45 +01:00