KVM: VMX: Use arch_xchg() when processing PIR to avoid instrumentation

Use arch_xchg() when moving IRQs from the PIR to the vIRR, purely to avoid
instrumentation so that KVM is compatible with the needs of posted MSI.
This will allow extracting the core PIR logic to common code and sharing
it between KVM and posted MSI handling.

Link: https://lore.kernel.org/r/20250401163447.846608-8-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
Sean Christopherson 2025-04-01 09:34:46 -07:00
parent b41f8638b9
commit baf68a0e3b

View File

@ -678,7 +678,7 @@ bool __kvm_apic_update_irr(unsigned long *pir, void *regs, int *max_irr)
if (!pir_vals[i])
continue;
pir_vals[i] = xchg(&pir[i], 0);
pir_vals[i] = arch_xchg(&pir[i], 0);
}
for (i = vec = 0; i <= 7; i++, vec += 32) {