[tip:x86/apic] x86: io_apic: Split setup_ioapic_ids_from_mpc()

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: tip-bot for Sebastian Andrzej Siewior
Date: Monday, December 6, 2010 - 6:33 am

Commit-ID:  a38c5380ef9f088be9f49b6e4c5d80af8b1b5cd4
Gitweb:     http://git.kernel.org/tip/a38c5380ef9f088be9f49b6e4c5d80af8b1b5cd4
Author:     Sebastian Andrzej Siewior <bigeasy@linutronix.de>
AuthorDate: Fri, 26 Nov 2010 17:50:20 +0100
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Mon, 6 Dec 2010 14:30:28 +0100

x86: io_apic: Split setup_ioapic_ids_from_mpc()

Sodaville needs to setup the IO_APIC ids as the boot loader leaves
them uninitialized. Split out the setter function so it can be called
unconditionally from the sodaville board code.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <20101126165020.GA26361@www.tglx.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/x86/include/asm/io_apic.h |    1 +
 arch/x86/kernel/apic/io_apic.c |   28 ++++++++++++++++------------
 2 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/arch/x86/include/asm/io_apic.h b/arch/x86/include/asm/io_apic.h
index 240a0a5..d7d46cb 100644
--- a/arch/x86/include/asm/io_apic.h
+++ b/arch/x86/include/asm/io_apic.h
@@ -169,6 +169,7 @@ extern void mask_IO_APIC_setup(struct IO_APIC_route_entry **ioapic_entries);
 extern int restore_IO_APIC_setup(struct IO_APIC_route_entry **ioapic_entries);
 
 extern void setup_ioapic_ids_from_mpc(void);
+extern void setup_ioapic_ids_from_mpc_nocheck(void);
 
 struct mp_ioapic_gsi{
 	u32 gsi_base;
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index ce3c6fb..4f026a6 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -1934,8 +1934,7 @@ void disable_IO_APIC(void)
  *
  * by Matt Domsch <Matt_Domsch@dell.com>  Tue Dec 21 12:25:05 CST 1999
  */
-
-void __init setup_ioapic_ids_from_mpc(void)
+void __init setup_ioapic_ids_from_mpc_nocheck(void)
 {
 	union IO_APIC_reg_00 reg_00;
 	physid_mask_t phys_id_present_map;
@@ -1944,15 +1943,6 @@ void __init setup_ioapic_ids_from_mpc(void)
 	unsigned char old_id;
 	unsigned long flags;
 
-	if (acpi_ioapic)
-		return;
-	/*
-	 * Don't check I/O APIC IDs for xAPIC systems.  They have
-	 * no meaning without the serial APIC bus.
-	 */
-	if (!(boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
-		|| APIC_XAPIC(apic_version[boot_cpu_physical_apicid]))
-		return;
 	/*
 	 * This is broken; anything with a real cpu count has to
 	 * circumvent this idiocy regardless.
@@ -2006,7 +1996,6 @@ void __init setup_ioapic_ids_from_mpc(void)
 			physids_or(phys_id_present_map, phys_id_present_map, tmp);
 		}
 
-
 		/*
 		 * We need to adjust the IRQ routing table
 		 * if the ID changed.
@@ -2042,6 +2031,21 @@ void __init setup_ioapic_ids_from_mpc(void)
 			apic_printk(APIC_VERBOSE, " ok.\n");
 	}
 }
+
+void __init setup_ioapic_ids_from_mpc(void)
+{
+
+	if (acpi_ioapic)
+		return;
+	/*
+	 * Don't check I/O APIC IDs for xAPIC systems.  They have
+	 * no meaning without the serial APIC bus.
+	 */
+	if (!(boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
+		|| APIC_XAPIC(apic_version[boot_cpu_physical_apicid]))
+		return;
+	setup_ioapic_ids_from_mpc_nocheck();
+}
 #endif
 
 int no_timer_check __initdata;
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Add device tree support for x86, Sebastian Andrzej Si ..., (Thu Nov 25, 10:39 am)
[PATCH 01/11] x86/kernel: remove conditional early remap i ..., Sebastian Andrzej Si ..., (Thu Nov 25, 10:39 am)
[PATCH 02/11] x86: Add device tree support, Sebastian Andrzej Si ..., (Thu Nov 25, 10:39 am)
[PATCH 03/11] x86/dtb: Add a device tree for CE4100, Sebastian Andrzej Si ..., (Thu Nov 25, 10:39 am)
[PATCH 04/11] x86/dtb: add irq host abstraction, Sebastian Andrzej Si ..., (Thu Nov 25, 10:39 am)
[PATCH 05/11] x86/dtb: add early parsing of APIC and IO APIC, Sebastian Andrzej Si ..., (Thu Nov 25, 10:39 am)
[PATCH 06/11] x86/dtb: add support hpet, Sebastian Andrzej Si ..., (Thu Nov 25, 10:39 am)
[PATCH 07/11] x86/dtb: add support for PCI devices backed ..., Sebastian Andrzej Si ..., (Thu Nov 25, 10:39 am)
[PATCH 08/11] x86/dtb: Add generic bus probe, Sebastian Andrzej Si ..., (Thu Nov 25, 10:39 am)
[PATCH 09/11] x86/ioapic: Add OF bindings for IO-APIC, Sebastian Andrzej Si ..., (Thu Nov 25, 10:39 am)
[PATCH 10/11] x86/io_apic: add simply id set, Sebastian Andrzej Si ..., (Thu Nov 25, 10:40 am)
[PATCH 11/11] x86/ce4100: use OF for ioapic, Sebastian Andrzej Si ..., (Thu Nov 25, 10:40 am)
Re: [PATCH 04/11] x86/dtb: add irq host abstraction , Jon Loeliger, (Thu Nov 25, 12:30 pm)
Re: [PATCH 10/11] x86/io_apic: add simply id set, Yinghai Lu, (Thu Nov 25, 2:04 pm)
Re: [PATCH 02/11] x86: Add device tree support, Sam Ravnborg, (Thu Nov 25, 3:53 pm)
Re: [PATCH 02/11] x86: Add device tree support, Sebastian Andrzej Si ..., (Fri Nov 26, 2:06 am)
Re: [PATCH 10/11] x86/io_apic: add simply id set, Sebastian Andrzej Si ..., (Fri Nov 26, 4:03 am)
Re: [PATCH 04/11] x86/dtb: add irq host abstraction, Sebastian Andrzej Si ..., (Fri Nov 26, 7:19 am)
[PATCH] x86/io_apic: split setup_ioapic_ids_from_mpc() int ..., Sebastian Andrzej Si ..., (Fri Nov 26, 9:50 am)
Re: [PATCH 04/11] x86/dtb: add irq host abstraction, Benjamin Herrenschmidt, (Fri Nov 26, 2:36 pm)
Re: [PATCH 02/11] x86: Add device tree support, Benjamin Herrenschmidt, (Fri Nov 26, 2:42 pm)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, Benjamin Herrenschmidt, (Fri Nov 26, 2:57 pm)
Re: [PATCH 04/11] x86/dtb: add irq host abstraction , Jon Loeliger, (Fri Nov 26, 8:11 pm)
Re: [PATCH 07/11] x86/dtb: add support for PCI devices bac ..., Benjamin Herrenschmidt, (Sat Nov 27, 3:33 pm)
Re: [PATCH 02/11] x86: Add device tree support, Sebastian Andrzej Si ..., (Sun Nov 28, 6:49 am)
Re: [PATCH 07/11] x86/dtb: add support for PCI devices bac ..., Sebastian Andrzej Si ..., (Sun Nov 28, 7:04 am)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, Sebastian Andrzej Si ..., (Sun Nov 28, 9:04 am)
Re: [PATCH 02/11] x86: Add device tree support, Benjamin Herrenschmidt, (Sun Nov 28, 3:28 pm)
Re: [PATCH 07/11] x86/dtb: add support for PCI devices bac ..., Benjamin Herrenschmidt, (Sun Nov 28, 3:32 pm)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, Benjamin Herrenschmidt, (Sun Nov 28, 3:53 pm)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, Mitch Bradley, (Sun Nov 28, 6:34 pm)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, David Gibson, (Sun Nov 28, 7:22 pm)
Re: [sodaville] [PATCH 03/11] x86/dtb: Add a device tree f ..., Sebastian Andrzej Si ..., (Mon Nov 29, 12:36 pm)
Re: [sodaville] [PATCH 03/11] x86/dtb: Add a device tree f ..., Sebastian Andrzej Si ..., (Mon Nov 29, 12:44 pm)
Re: [sodaville] [PATCH 03/11] x86/dtb: Add a device tree f ..., Benjamin Herrenschmidt, (Mon Nov 29, 1:03 pm)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, Benjamin Herrenschmidt, (Mon Nov 29, 1:05 pm)
Re: [sodaville] [PATCH 03/11] x86/dtb: Add a device tree f ..., Benjamin Herrenschmidt, (Mon Nov 29, 1:14 pm)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, Mitch Bradley, (Mon Nov 29, 1:32 pm)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, Benjamin Herrenschmidt, (Mon Nov 29, 1:44 pm)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, Mitch Bradley, (Mon Nov 29, 2:32 pm)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, David Gibson, (Mon Nov 29, 4:58 pm)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, Benjamin Herrenschmidt, (Mon Nov 29, 7:50 pm)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, Sebastian Andrzej Si ..., (Tue Nov 30, 4:20 am)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, Sebastian Andrzej Si ..., (Tue Nov 30, 4:51 am)
Re: [PATCH 03/11] x86/dtb: Add a device tree for CE4100, Benjamin Herrenschmidt, (Tue Nov 30, 1:31 pm)
Re: [sodaville] [PATCH 04/11] x86/dtb: add irq host abstra ..., Sebastian Andrzej Si ..., (Wed Dec 1, 3:31 am)
Re: [PATCH 07/11] x86/dtb: add support for PCI devices bac ..., Sebastian Andrzej Si ..., (Thu Dec 2, 9:17 am)
[tip:x86/apic] x86: io_apic: Split setup_ioapic_ids_from_mpc(), tip-bot for Sebastia ..., (Mon Dec 6, 6:33 am)
Re: [sodaville] [PATCH 01/11] x86/kernel: remove condition ..., Sebastian Andrzej Si ..., (Wed Dec 8, 1:38 am)
[tip:x86/apic-cleanups] x86, ioapic: Avoid writing io_apic ..., tip-bot for Yinghai Lu, (Thu Dec 9, 1:56 pm)
Re: [PATCH 01/11] x86/kernel: remove conditional early rem ..., Sebastian Andrzej Si ..., (Thu Dec 16, 2:55 am)
Re: [PATCH 02/11] x86: Add device tree support, Grant Likely, (Thu Dec 30, 1:26 am)
Re: [PATCH 02/11] x86: Add device tree support, Rob Landley, (Thu Dec 30, 1:45 am)
Re: [PATCH 02/11] x86: Add device tree support, Grant Likely, (Thu Dec 30, 1:57 pm)
Re: [PATCH 02/11] x86: Add device tree support, Grant Likely, (Thu Dec 30, 1:58 pm)
Re: [sodaville] [PATCH 02/11] x86: Add device tree support, H. Peter Anvin, (Thu Dec 30, 5:51 pm)
Re: [sodaville] [PATCH 02/11] x86: Add device tree support, H. Peter Anvin, (Mon Jan 3, 11:06 am)
Re: [sodaville] [PATCH 02/11] x86: Add device tree support, H. Peter Anvin, (Mon Jan 3, 11:10 am)