mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Dou Liyang <douly.fnst@cn.fujitsu.com>
To: <x86@kernel.org>, <linux-kernel@vger.kernel.org>
Cc: <tglx@linutronix.de>, <mingo@kernel.org>, <hpa@zytor.com>,
	<yinghai@kernel.org>, <bhe@redhat.com>,
	Dou Liyang <douly.fnst@cn.fujitsu.com>
Subject: [PATCH v9 12/12] x86/apic: Remove the init_bsp_APIC()
Date: Wed, 13 Sep 2017 17:12:55 +0800	[thread overview]
Message-ID: <1505293975-26005-13-git-send-email-douly.fnst@cn.fujitsu.com> (raw)
In-Reply-To: <1505293975-26005-1-git-send-email-douly.fnst@cn.fujitsu.com>

The init_bsp_APIC() which works for the virtual wire mode is used
in ISA irq initialization at the booting time.

Currently, enable and setup the interrupt mode has been unified
and advanced just behind the timer IRQ setup. Kernel switches to
the final interrupt delivery mode directly. So init_bsp_APIC()
is redundant.

Remove the init_bsp_APIC() function.

Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com>
---
 arch/x86/include/asm/apic.h |  1 -
 arch/x86/kernel/apic/apic.c | 49 ---------------------------------------------
 arch/x86/kernel/irqinit.c   |  3 ---
 3 files changed, 53 deletions(-)

diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index 983a0dc..7d247b2 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -136,7 +136,6 @@ extern void disconnect_bsp_APIC(int virt_wire_setup);
 extern void disable_local_APIC(void);
 extern void lapic_shutdown(void);
 extern void sync_Arb_IDs(void);
-extern void init_bsp_APIC(void);
 extern void apic_intr_mode_init(void);
 extern void setup_local_APIC(void);
 extern void init_apic_mappings(void);
diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index 3d08649..a4ee367 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1282,55 +1282,6 @@ static int __init apic_intr_mode_select(void)
 	return APIC_SYMMETRIC_IO;
 }
 
-/*
- * An initial setup of the virtual wire mode.
- */
-void __init init_bsp_APIC(void)
-{
-	unsigned int value;
-
-	/*
-	 * Don't do the setup now if we have a SMP BIOS as the
-	 * through-I/O-APIC virtual wire mode might be active.
-	 */
-	if (smp_found_config || !boot_cpu_has(X86_FEATURE_APIC))
-		return;
-
-	/*
-	 * Do not trust the local APIC being empty at bootup.
-	 */
-	clear_local_APIC();
-
-	/*
-	 * Enable APIC.
-	 */
-	value = apic_read(APIC_SPIV);
-	value &= ~APIC_VECTOR_MASK;
-	value |= APIC_SPIV_APIC_ENABLED;
-
-#ifdef CONFIG_X86_32
-	/* This bit is reserved on P4/Xeon and should be cleared */
-	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);
-
-	/*
-	 * Set up the virtual wire mode.
-	 */
-	apic_write(APIC_LVT0, APIC_DM_EXTINT);
-	value = APIC_DM_NMI;
-	if (!lapic_is_integrated())		/* 82489DX */
-		value |= APIC_LVT_LEVEL_TRIGGER;
-	if (apic_extnmi == APIC_EXTNMI_NONE)
-		value |= APIC_LVT_MASKED;
-	apic_write(APIC_LVT1, value);
-}
-
 /* Init the interrupt delivery mode for the BSP */
 void __init apic_intr_mode_init(void)
 {
diff --git a/arch/x86/kernel/irqinit.c b/arch/x86/kernel/irqinit.c
index 1add9e0..beafcf5 100644
--- a/arch/x86/kernel/irqinit.c
+++ b/arch/x86/kernel/irqinit.c
@@ -60,9 +60,6 @@ void __init init_ISA_irqs(void)
 	struct irq_chip *chip = legacy_pic->chip;
 	int i;
 
-#if defined(CONFIG_X86_64) || defined(CONFIG_X86_LOCAL_APIC)
-	init_bsp_APIC();
-#endif
 	legacy_pic->init(0);
 
 	for (i = 0; i < nr_legacy_irqs(); i++)
-- 
2.5.5

  parent reply	other threads:[~2017-09-13  9:17 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-13  9:12 [PATCH v9 00/12] Unify the interrupt delivery mode and do its setup in advance Dou Liyang
2017-09-13  9:12 ` [PATCH v9 01/12] x86/apic: Construct a selector for the interrupt delivery mode Dou Liyang
2017-09-13  9:12 ` [PATCH v9 02/12] x86/apic: Prepare for unifying the interrupt delivery modes setup Dou Liyang
2017-09-13  9:12 ` [PATCH v9 03/12] x86/apic: Split local APIC timer setup from the APIC setup Dou Liyang
2017-09-13  9:12 ` [PATCH v9 04/12] x86/apic: Move logical APIC ID away from apic_bsp_setup() Dou Liyang
2017-09-13  9:12 ` [PATCH v9 05/12] x86/apic: Unify interrupt mode setup for SMP-capable system Dou Liyang
2017-09-13  9:12 ` [PATCH v9 06/12] x86/apic: Mark the apic_intr_mode extern for sanity check cleanup Dou Liyang
2017-09-13  9:12 ` [PATCH v9 07/12] x86/apic: Unify interrupt mode setup for UP system Dou Liyang
2017-09-13  9:12 ` [PATCH v9 08/12] x86/ioapic: Refactor the delay logic in timer_irq_works() Dou Liyang
2017-09-13  9:12 ` [PATCH v9 09/12] x86/init: add intr_mode_init to x86_init_ops Dou Liyang
2017-09-13  9:12 ` [PATCH v9 10/12] x86/xen: Bypass intr mode setup in enlighten_pv system Dou Liyang
2017-09-13  9:45   ` [Xen-devel] " Juergen Gross
2017-09-13 10:09     ` Dou Liyang
2017-09-13 10:22   ` [PATCH v10 " Dou Liyang
2017-09-13  9:12 ` [PATCH v9 11/12] x86/time: Initialize interrupt mode behind timer init Dou Liyang
2017-09-13  9:12 ` Dou Liyang [this message]
2017-09-13  9:17 ` [PATCH v9] ACPI / init: Invoke early ACPI initialization earlier Dou Liyang
2017-09-27  1:41   ` Dou Liyang
2017-09-27  7:19     ` Thomas Gleixner
2017-09-27  7:33       ` Dou Liyang
2017-09-27  9:02   ` Borislav Petkov
2017-09-27 10:06     ` Dou Liyang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1505293975-26005-13-git-send-email-douly.fnst@cn.fujitsu.com \
    --to=douly.fnst@cn.fujitsu.com \
    --cc=bhe@redhat.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®