Skip to content

Commit dbf563e

Browse files
kelleymhliuw
authored andcommitted
x86/hyperv: Clarify comment on x2apic mode
The comment about Hyper-V accessors is unclear regarding their potential use in x2apic mode, as is the associated commit message in e211288. Clarify that while the architectural and synthetic MSRs are equivalent in x2apic mode, the full set of xapic accessors cannot be used because of register layout differences. Fixes: e211288 ("x86/hyperv: Make vapic support x2apic mode") Signed-off-by: Michael Kelley <mikelley@microsoft.com> Link: https://lore.kernel.org/r/1603723972-81303-1-git-send-email-mikelley@microsoft.com Signed-off-by: Wei Liu <wei.liu@kernel.org>
1 parent 2c3bd2a commit dbf563e

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

arch/x86/hyperv/hv_apic.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -273,11 +273,15 @@ void __init hv_apic_init(void)
273273
pr_info("Hyper-V: Using enlightened APIC (%s mode)",
274274
x2apic_enabled() ? "x2apic" : "xapic");
275275
/*
276-
* With x2apic, architectural x2apic MSRs are equivalent to the
277-
* respective synthetic MSRs, so there's no need to override
278-
* the apic accessors. The only exception is
279-
* hv_apic_eoi_write, because it benefits from lazy EOI when
280-
* available, but it works for both xapic and x2apic modes.
276+
* When in x2apic mode, don't use the Hyper-V specific APIC
277+
* accessors since the field layout in the ICR register is
278+
* different in x2apic mode. Furthermore, the architectural
279+
* x2apic MSRs function just as well as the Hyper-V
280+
* synthetic APIC MSRs, so there's no benefit in having
281+
* separate Hyper-V accessors for x2apic mode. The only
282+
* exception is hv_apic_eoi_write, because it benefits from
283+
* lazy EOI when available, but the same accessor works for
284+
* both xapic and x2apic because the field layout is the same.
281285
*/
282286
apic_set_eoi_write(hv_apic_eoi_write);
283287
if (!x2apic_enabled()) {

0 commit comments

Comments
 (0)