diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-11-09 10:37:10 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-11-09 10:37:10 +0100 |
commit | 9b085d6e889076928d307f05cabf76e35db1e63b (patch) | |
tree | 89c83eec98ed9bf07d07d8a7b0dea51564ecd61a /arch/x86/hyperv/hv_apic.c | |
parent | dt-bindings: serial: 8250_omap: Add compatible for UART controller on AM64 SoC (diff) | |
parent | Linux 5.10-rc3 (diff) | |
download | linux-9b085d6e889076928d307f05cabf76e35db1e63b.tar.xz linux-9b085d6e889076928d307f05cabf76e35db1e63b.zip |
Merge 5.10-rc3 into tty-next
We need the TTY/vt/serial fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/x86/hyperv/hv_apic.c')
-rw-r--r-- | arch/x86/hyperv/hv_apic.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/x86/hyperv/hv_apic.c b/arch/x86/hyperv/hv_apic.c index 40e0e322161d..284e73661a18 100644 --- a/arch/x86/hyperv/hv_apic.c +++ b/arch/x86/hyperv/hv_apic.c @@ -273,11 +273,15 @@ void __init hv_apic_init(void) pr_info("Hyper-V: Using enlightened APIC (%s mode)", x2apic_enabled() ? "x2apic" : "xapic"); /* - * With x2apic, architectural x2apic MSRs are equivalent to the - * respective synthetic MSRs, so there's no need to override - * the apic accessors. The only exception is - * hv_apic_eoi_write, because it benefits from lazy EOI when - * available, but it works for both xapic and x2apic modes. + * When in x2apic mode, don't use the Hyper-V specific APIC + * accessors since the field layout in the ICR register is + * different in x2apic mode. Furthermore, the architectural + * x2apic MSRs function just as well as the Hyper-V + * synthetic APIC MSRs, so there's no benefit in having + * separate Hyper-V accessors for x2apic mode. The only + * exception is hv_apic_eoi_write, because it benefits from + * lazy EOI when available, but the same accessor works for + * both xapic and x2apic because the field layout is the same. */ apic_set_eoi_write(hv_apic_eoi_write); if (!x2apic_enabled()) { |