mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
Hygon Family 18h CPUs are derived from AMD Family 17h (Zen1) silicon and
share the same erratum #1235: hardware may read a stale IsRunning=1 bit
during ICR write emulation and silently fail to generate an
AVIC_IPI_FAILURE_TARGET_NOT_RUNNING VM-Exit on the sending vCPU.
The absence of the VM-Exit causes KVM to miss the required wakeup of
blocking target vCPUs, leading to hung vCPUs and unbounded delays in
guest execution.
Extend the existing AMD Family 17h erratum #1235 workaround to also cover
Hygon Family 18h. With IPI virtualization disabled, KVM never sets
IsRunning=1 in the Physical ID table, so every non-self IPI generates a
VM-Exit and is correctly emulated.
Fixes:
|
||
|---|---|---|
| .. | ||
| avic.c | ||
| hyperv.c | ||
| hyperv.h | ||
| nested.c | ||
| pmu.c | ||
| sev.c | ||
| svm_onhyperv.c | ||
| svm_onhyperv.h | ||
| svm_ops.h | ||
| svm.c | ||
| svm.h | ||
| vmenter.S | ||