kernel_samsung_a53x/arch/x86/kvm
Jim Mattson 9d44a55435 KVM: x86: Mask LVTPC when handling a PMI
commit a16eb25b09c02a54c1c1b449d4b6cfa2cf3f013a upstream.

Per the SDM, "When the local APIC handles a performance-monitoring
counters interrupt, it automatically sets the mask flag in the LVT
performance counter register."  Add this behavior to KVM's local APIC
emulation.

Failure to mask the LVTPC entry results in spurious PMIs, e.g. when
running Linux as a guest, PMI handlers that do a "late_ack" spew a large
number of "dazed and confused" spurious NMI warnings.

Fixes: f5132b01386b ("KVM: Expose a version 2 architectural PMU to a guests")
Cc: stable@vger.kernel.org
Signed-off-by: Jim Mattson <jmattson@google.com>
Tested-by: Mingwei Zhang <mizhang@google.com>
Signed-off-by: Mingwei Zhang <mizhang@google.com>
Link: https://lore.kernel.org/r/20230925173448.3518223-3-mizhang@google.com
[sean: massage changelog, correct Fixes]
Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-08 11:26:08 +01:00
..
mmu Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
svm Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vmx Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpuid.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpuid.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debugfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
emulate.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hyperv.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hyperv.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
i8254.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
i8254.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
i8259.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ioapic.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ioapic.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
irq.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
irq.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
irq_comm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kvm_cache_regs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kvm_emulate.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
lapic.c KVM: x86: Mask LVTPC when handling a PMI 2024-11-08 11:26:08 +01:00
lapic.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmu.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mtrr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pmu.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pmu.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tss.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
x86.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
x86.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00