[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1469175026-29447-1-git-send-email-weijg.fnst@cn.fujitsu.com>
Date: Fri, 22 Jul 2016 16:10:24 +0800
From: Wei Jiangang <weijg.fnst@...fujitsu.com>
To: <linux-kernel@...r.kernel.org>
CC: <x86@...nel.org>, <kexec@...ts.infradead.org>,
<tglx@...utronix.de>, <mingo@...hat.com>, <hpa@...or.com>,
<ebiederm@...ssion.com>, <kernel@...p.com>, <bhe@...hat.com>,
<xpang@...hat.com>, Wei Jiangang <weijg.fnst@...fujitsu.com>,
Cao jin <caoj.fnst@...fujitsu.com>
Subject: [PATCH 1/3] x86/apic: Remove "focus disabled" for 64bit case
Disable processor focus for 64bit causes a crash,
Call Trace as following:
[<ffffffff8133499f>] dump_stack+0x63/0x84
[<ffffffff810800f1>] __warn+0xd1/0xf0
[<ffffffff8108016f>] warn_slowpath_fmt+0x5f/0x80
[<ffffffff81068ab2>] ex_handler_wrmsr_unsafe+0x62/0x70
[<ffffffff81068b29>] fixup_exception+0x39/0x50
[<ffffffff8102e030>] do_general_protection+0x80/0x160
[<ffffffff816a89a8>] general_protection+0x28/0x30
[<ffffffff81062554>] ? native_write_msr+0x4/0x30
[<ffffffff81059c52>] ? native_apic_msr_write+0x32/0x40
[<ffffffff81d92964>] init_bsp_APIC+0x5f/0x118
[<ffffffff81d87489>] init_ISA_irqs+0x19/0x4c
[<ffffffff81d87512>] native_init_IRQ+0xd/0x377
[<ffffffff81d874fe>] init_IRQ+0x42/0x49
[<ffffffff81d7afc6>] start_kernel+0x2ce/0x4c8
[<ffffffff81d7aae6>] ? set_init_arg+0x55/0x55
[<ffffffff81d7a120>] ? early_idt_handler_array+0x120/0x120
[<ffffffff81d7a5db>] x86_64_start_reservations+0x2f/0x31
[<ffffffff81d7a729>] x86_64_start_kernel+0x14c/0x16f
Keep a consistent implementation with the setup_local_APIC(),
always use processor focus for 64bit.
more details refer to commit 89c38c2867eb ("x86: apic - unify
setup_local_APIC")
Signed-off-by: Cao jin <caoj.fnst@...fujitsu.com>
Signed-off-by: Wei Jiangang <weijg.fnst@...fujitsu.com>
---
arch/x86/kernel/apic/apic.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index 60078a67d7e3..0273b652c689 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1154,9 +1154,7 @@ void __init init_bsp_APIC(void)
if ((boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) &&
(boot_cpu_data.x86 == 15))
value &= ~APIC_SPIV_FOCUS_DISABLED;
- else
#endif
- value |= APIC_SPIV_FOCUS_DISABLED;
value |= SPURIOUS_APIC_VECTOR;
apic_write(APIC_SPIV, value);
--
1.9.3
Powered by blists - more mailing lists