]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: x86: Check target, not vCPU's x2APIC ID, when applying hotplug hack
authorSean Christopherson <seanjc@google.com>
Tue, 12 Jul 2022 18:46:53 +0000 (11:46 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 14 Jul 2022 16:26:30 +0000 (12:26 -0400)
commit18043236cc559c0dc68c42cf08f3aeaa6b93a63a
tree66cbe1d6ff7879f3c6ea8ae19fb614f5ce3b9841
parent1936711a49a758a781583c6e20d3620810c27571
KVM: x86: Check target, not vCPU's x2APIC ID, when applying hotplug hack

When applying the hotplug hack to match x2APIC IDs for vCPUs in xAPIC
mode, check the target APID ID for being unaddressable in xAPIC mode
instead of checking the vCPU's x2APIC ID, and in that case proceed as
if apic_x2apic_mode(vcpu) were true.

Functionally, it does not matter whether you compare kvm_x2apic_id(apic)
or mda with 0xff, since the two values are then checked for equality.
But in isolation, checking the x2APIC ID takes an unnecessary dependency
on the x2APIC ID being read-only (which isn't strictly true on AMD CPUs,
and is difficult to document as well); it also requires KVM to fallthrough
and check the xAPIC ID as well to deal with a writable xAPIC ID, whereas
the xAPIC ID _can't_ match a target ID greater than 0xff.

Opportunistically reword the comment to call out the various subtleties,
and to fix a typo reported by Zhang Jiaming.

No functional change intended.

Cc: Zhang Jiaming <jiaming@nfschina.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/lapic.c