Re: [PATCH v3] KVM: x86: Add x2APIC "features" to control EOI broadcast suppression
From: Khushit Shah
Date: Wed Dec 03 2025 - 02:46:41 EST
> On 2 Dec 2025, at 10:06 PM, Sean Christopherson <seanjc@xxxxxxxxxx> wrote:
>
> + if (cap->args[0] & KVM_X2APIC_ENABLE_SUPPRESS_EOI_BROADCAST)
> + kvm->arch.suppress_eoi_broadcast = KVM_SUPPRESS_EOI_ENABLED;
> + if (cap->args[0] & KVM_X2APIC_DISABLE_SUPPRESS_EOI_BROADCAST)
> + kvm->arch.suppress_eoi_broadcast = KVM_SUPPRESS_EOI_DISABLED;
Should this also update existing vCPUs by calling kvm_apic_set_version()
for all already-created vCPUs? or is the intent that userspace must set these flags
before any vCPUs are created? If so, should this warn if called after vcpus are
created?
QEMU currently creates vCPUs before initializing the I/O APIC, so deciding KVM’s
SEOIB behavior at vCPU initialization time is just a bit awkward. It’s manageable
either way, I just want to confirm the uAPI semantics.
For reference, the initial QEMU side patch:
https://patchew.org/QEMU/20251126093742.2110483-1-khushit.shah@xxxxxxxxxxx/