public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] move ipi definitions to mach_ipi.h
@ 2008-03-24 19:52 Glauber Costa
  2008-03-24 19:52 ` [PATCH 2/2] move apic declarations to mach_apic.h Glauber Costa
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Glauber Costa @ 2008-03-24 19:52 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, glommer, mingo, tglx, yhlu.kernel

take them out of the x86_64-only asm/mach_apic.h

Signed-off-by: Glauber Costa <gcosta@redhat.com>
---
 arch/x86/kernel/apic_64.c               |    2 ++
 arch/x86/kernel/crash.c                 |    4 ----
 arch/x86/kernel/io_apic_64.c            |    2 ++
 arch/x86/kernel/smp.c                   |    6 +-----
 arch/x86/kernel/tlb_64.c                |    3 ++-
 include/asm-x86/mach-default/mach_ipi.h |   17 +++++++++++++----
 include/asm-x86/mach_apic.h             |    3 ---
 7 files changed, 20 insertions(+), 17 deletions(-)

diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
index 5362cfd..206278f 100644
--- a/arch/x86/kernel/apic_64.c
+++ b/arch/x86/kernel/apic_64.c
@@ -41,6 +41,8 @@ #include <asm/proto.h>
 #include <asm/timex.h>
 #include <asm/apic.h>
 
+#include <mach_ipi.h>
+
 int disable_apic_timer __cpuinitdata;
 static int apic_calibrate_pmtmr __initdata;
 int disable_apic;
diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c
index 9a5fa0a..2251d0a 100644
--- a/arch/x86/kernel/crash.c
+++ b/arch/x86/kernel/crash.c
@@ -26,11 +26,7 @@ #include <asm/hpet.h>
 #include <linux/kdebug.h>
 #include <asm/smp.h>
 
-#ifdef CONFIG_X86_32
 #include <mach_ipi.h>
-#else
-#include <asm/mach_apic.h>
-#endif
 
 /* This keeps a track of which one is crashing cpu. */
 static int crashing_cpu;
diff --git a/arch/x86/kernel/io_apic_64.c b/arch/x86/kernel/io_apic_64.c
index 1627c0d..7d5cdf3 100644
--- a/arch/x86/kernel/io_apic_64.c
+++ b/arch/x86/kernel/io_apic_64.c
@@ -50,6 +50,8 @@ #include <asm/nmi.h>
 #include <asm/msidef.h>
 #include <asm/hypertransport.h>
 
+#include <mach_ipi.h>
+
 struct irq_cfg {
 	cpumask_t domain;
 	cpumask_t old_domain;
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c
index 16c52aa..8f75893 100644
--- a/arch/x86/kernel/smp.c
+++ b/arch/x86/kernel/smp.c
@@ -26,12 +26,8 @@ #include <asm/mtrr.h>
 #include <asm/tlbflush.h>
 #include <asm/mmu_context.h>
 #include <asm/proto.h>
-#ifdef CONFIG_X86_32
-#include <mach_apic.h>
 #include <mach_ipi.h>
-#else
-#include <asm/mach_apic.h>
-#endif
+#include <mach_apic.h>
 /*
  *	Some notes on x86 processor bugs affecting SMP operation:
  *
diff --git a/arch/x86/kernel/tlb_64.c b/arch/x86/kernel/tlb_64.c
index 615d848..1558e51 100644
--- a/arch/x86/kernel/tlb_64.c
+++ b/arch/x86/kernel/tlb_64.c
@@ -11,11 +11,12 @@ #include <linux/interrupt.h>
 #include <asm/mtrr.h>
 #include <asm/pgalloc.h>
 #include <asm/tlbflush.h>
-#include <asm/mach_apic.h>
 #include <asm/mmu_context.h>
 #include <asm/proto.h>
 #include <asm/apicdef.h>
 #include <asm/idle.h>
+
+#include <mach_ipi.h>
 /*
  *	Smarter SMP flushing macros.
  *		c/o Linus Torvalds.
diff --git a/include/asm-x86/mach-default/mach_ipi.h b/include/asm-x86/mach-default/mach_ipi.h
index 0dba244..f00467b 100644
--- a/include/asm-x86/mach-default/mach_ipi.h
+++ b/include/asm-x86/mach-default/mach_ipi.h
@@ -9,10 +9,7 @@ void __send_IPI_shortcut(unsigned int sh
 
 extern int no_broadcast;
 
-static inline void send_IPI_mask(cpumask_t mask, int vector)
-{
-	send_IPI_mask_bitmask(mask, vector);
-}
+void send_IPI_mask(cpumask_t mask, int vector);
 
 static inline void __local_send_IPI_allbutself(int vector)
 {
@@ -33,6 +30,17 @@ static inline void __local_send_IPI_all(
 		__send_IPI_shortcut(APIC_DEST_ALLINC, vector);
 }
 
+#ifdef CONFIG_X86_64
+#include <asm/genapic.h>
+#define send_IPI_mask (genapic->send_IPI_mask)
+#define send_IPI_allbutself (genapic->send_IPI_allbutself)
+#define send_IPI_all (genapic->send_IPI_all)
+#else
+static inline void send_IPI_mask(cpumask_t mask, int vector);
+{
+	send_IPI_mask_bitmask(mask, vector);
+}
+
 static inline void send_IPI_allbutself(int vector)
 {
 	/*
@@ -50,5 +58,6 @@ static inline void send_IPI_all(int vect
 {
 	__local_send_IPI_all(vector);
 }
+#endif
 
 #endif /* __ASM_MACH_IPI_H */
diff --git a/include/asm-x86/mach_apic.h b/include/asm-x86/mach_apic.h
index 7b7115a..1bc68c0 100644
--- a/include/asm-x86/mach_apic.h
+++ b/include/asm-x86/mach_apic.h
@@ -20,9 +20,6 @@ #define TARGET_CPUS	  (genapic->target_c
 #define vector_allocation_domain	(genapic->vector_allocation_domain)
 #define apic_id_registered (genapic->apic_id_registered)
 #define init_apic_ldr (genapic->init_apic_ldr)
-#define send_IPI_mask (genapic->send_IPI_mask)
-#define send_IPI_allbutself (genapic->send_IPI_allbutself)
-#define send_IPI_all (genapic->send_IPI_all)
 #define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid)
 #define phys_pkg_id	(genapic->phys_pkg_id)
 
-- 
1.4.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread
* [PATCH 2/2] [PATCH] move apic declarations to mach_apic.h
@ 2008-03-25 21:10 Glauber Costa
  0 siblings, 0 replies; 16+ messages in thread
From: Glauber Costa @ 2008-03-25 21:10 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, glommer, mingo, tglx, yhlu.kernel

take them out of the x86_64-specific asm/mach_apic.h

Signed-off-by: Glauber Costa <gcosta@redhat.com>
---
 arch/x86/kernel/apic_64.c                |    2 +-
 arch/x86/kernel/cpu/amd.c                |    2 +-
 arch/x86/kernel/io_apic_64.c             |    2 +-
 arch/x86/kernel/setup_64.c               |    2 +-
 include/asm-x86/mach-default/mach_apic.h |   80 ++++++++++++++++--------------
 include/asm-x86/mach_apic.h              |   26 ----------
 6 files changed, 47 insertions(+), 67 deletions(-)
 delete mode 100644 include/asm-x86/mach_apic.h

Index: linux-2.6-x86/arch/x86/kernel/apic_64.c
===================================================================
--- linux-2.6-x86.orig/arch/x86/kernel/apic_64.c
+++ linux-2.6-x86/arch/x86/kernel/apic_64.c
@@ -34,7 +34,6 @@
 #include <asm/mpspec.h>
 #include <asm/hpet.h>
 #include <asm/pgalloc.h>
-#include <asm/mach_apic.h>
 #include <asm/nmi.h>
 #include <asm/idle.h>
 #include <asm/proto.h>
@@ -42,6 +41,7 @@
 #include <asm/apic.h>
 
 #include <mach_ipi.h>
+#include <mach_apic.h>
 
 int disable_apic_timer __cpuinitdata;
 static int apic_calibrate_pmtmr __initdata;
Index: linux-2.6-x86/arch/x86/kernel/cpu/amd.c
===================================================================
--- linux-2.6-x86.orig/arch/x86/kernel/cpu/amd.c
+++ linux-2.6-x86/arch/x86/kernel/cpu/amd.c
@@ -4,8 +4,8 @@
 #include <asm/io.h>
 #include <asm/processor.h>
 #include <asm/apic.h>
-#include <asm/mach_apic.h>
 
+#include <mach_apic.h>
 #include "cpu.h"
 
 /*
Index: linux-2.6-x86/arch/x86/kernel/io_apic_64.c
===================================================================
--- linux-2.6-x86.orig/arch/x86/kernel/io_apic_64.c
+++ linux-2.6-x86/arch/x86/kernel/io_apic_64.c
@@ -43,7 +43,6 @@
 #include <asm/smp.h>
 #include <asm/desc.h>
 #include <asm/proto.h>
-#include <asm/mach_apic.h>
 #include <asm/acpi.h>
 #include <asm/dma.h>
 #include <asm/nmi.h>
@@ -51,6 +50,7 @@
 #include <asm/hypertransport.h>
 
 #include <mach_ipi.h>
+#include <mach_apic.h>
 
 struct irq_cfg {
 	cpumask_t domain;
Index: linux-2.6-x86/arch/x86/kernel/setup_64.c
===================================================================
--- linux-2.6-x86.orig/arch/x86/kernel/setup_64.c
+++ linux-2.6-x86/arch/x86/kernel/setup_64.c
@@ -60,7 +60,6 @@
 #include <asm/mmu_context.h>
 #include <asm/proto.h>
 #include <asm/setup.h>
-#include <asm/mach_apic.h>
 #include <asm/numa.h>
 #include <asm/sections.h>
 #include <asm/dmi.h>
@@ -69,6 +68,7 @@
 #include <asm/ds.h>
 #include <asm/topology.h>
 
+#include <mach_apic.h>
 #ifdef CONFIG_PARAVIRT
 #include <asm/paravirt.h>
 #else
Index: linux-2.6-x86/include/asm-x86/mach-default/mach_apic.h
===================================================================
--- linux-2.6-x86.orig/include/asm-x86/mach-default/mach_apic.h
+++ linux-2.6-x86/include/asm-x86/mach-default/mach_apic.h
@@ -1,6 +1,8 @@
 #ifndef __ASM_MACH_APIC_H
 #define __ASM_MACH_APIC_H
 
+#ifdef CONFIG_X86_LOCAL_APIC
+
 #include <mach_apicdef.h>
 #include <asm/smp.h>
 
@@ -14,24 +16,25 @@ static inline cpumask_t target_cpus(void
 	return cpumask_of_cpu(0);
 #endif
 } 
-#define TARGET_CPUS (target_cpus())
 
 #define NO_BALANCE_IRQ (0)
 #define esr_disable (0)
 
+#ifdef CONFIG_X86_64
+#include <asm/genapic.h>
+#define INT_DELIVERY_MODE (genapic->int_delivery_mode)
+#define INT_DEST_MODE (genapic->int_dest_mode)
+#define TARGET_CPUS	  (genapic->target_cpus())
+#define apic_id_registered (genapic->apic_id_registered)
+#define init_apic_ldr (genapic->init_apic_ldr)
+#define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid)
+#define phys_pkg_id	(genapic->phys_pkg_id)
+#define vector_allocation_domain    (genapic->vector_allocation_domain)
+extern void setup_apic_routing(void);
+#else
 #define INT_DELIVERY_MODE dest_LowestPrio
 #define INT_DEST_MODE 1     /* logical delivery broadcast to all procs */
-
-static inline unsigned long check_apicid_used(physid_mask_t bitmap, int apicid)
-{
-	return physid_isset(apicid, bitmap);
-}
-
-static inline unsigned long check_apicid_present(int bit)
-{
-	return physid_isset(bit, phys_cpu_present_map);
-}
-
+#define TARGET_CPUS (target_cpus())
 /*
  * Set up the logical destination ID.
  *
@@ -49,32 +52,52 @@ static inline void init_apic_ldr(void)
 	apic_write_around(APIC_LDR, val);
 }
 
-static inline physid_mask_t ioapic_phys_id_map(physid_mask_t phys_map)
+static inline int apic_id_registered(void)
 {
-	return phys_map;
+	return physid_isset(GET_APIC_ID(apic_read(APIC_ID)), phys_cpu_present_map);
+}
+
+static inline unsigned int cpu_mask_to_apicid(cpumask_t cpumask)
+{
+	return cpus_addr(cpumask)[0];
+}
+
+static inline u32 phys_pkg_id(u32 cpuid_apic, int index_msb)
+{
+	return cpuid_apic >> index_msb;
 }
 
-#ifdef CONFIG_X86_64
-extern void setup_apic_routing(void);
-#else
 static inline void setup_apic_routing(void)
 {
 	printk("Enabling APIC mode:  %s.  Using %d I/O APICs\n",
 					"Flat", nr_ioapics);
 }
-#endif
 
-static inline int multi_timer_check(int apic, int irq)
+static inline int apicid_to_node(int logical_apicid)
 {
 	return 0;
 }
+#endif
 
-#ifdef CONFIG_X86_32
-static inline int apicid_to_node(int logical_apicid)
+static inline unsigned long check_apicid_used(physid_mask_t bitmap, int apicid)
+{
+	return physid_isset(apicid, bitmap);
+}
+
+static inline unsigned long check_apicid_present(int bit)
+{
+	return physid_isset(bit, phys_cpu_present_map);
+}
+
+static inline physid_mask_t ioapic_phys_id_map(physid_mask_t phys_map)
+{
+	return phys_map;
+}
+
+static inline int multi_timer_check(int apic, int irq)
 {
 	return 0;
 }
-#endif
 
 /* Mapping from cpu number to logical apicid */
 static inline int cpu_to_logical_apicid(int cpu)
@@ -109,23 +132,9 @@ static inline int check_phys_apicid_pres
 	return physid_isset(boot_cpu_physical_apicid, phys_cpu_present_map);
 }
 
-static inline int apic_id_registered(void)
-{
-	return physid_isset(GET_APIC_ID(apic_read(APIC_ID)), phys_cpu_present_map);
-}
-
-static inline unsigned int cpu_mask_to_apicid(cpumask_t cpumask)
-{
-	return cpus_addr(cpumask)[0];
-}
-
 static inline void enable_apic_mode(void)
 {
 }
 
-static inline u32 phys_pkg_id(u32 cpuid_apic, int index_msb)
-{
-	return cpuid_apic >> index_msb;
-}
-
+#endif /* CONFIG_X86_LOCAL_APIC */
 #endif /* __ASM_MACH_APIC_H */
Index: linux-2.6-x86/include/asm-x86/mach_apic.h
===================================================================
--- linux-2.6-x86.orig/include/asm-x86/mach_apic.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef __ASM_MACH_APIC_H
-#define __ASM_MACH_APIC_H
-
-/*
- * Copyright 2004 James Cleverdon, IBM.
- * Subject to the GNU Public License, v.2
- *
- * Generic APIC sub-arch defines.
- *
- * Hacked for x86-64 by James Cleverdon from i386 architecture code by
- * Martin Bligh, Andi Kleen, James Bottomley, John Stultz, and
- * James Cleverdon.
- */
-
-#include <asm/genapic.h>
-
-#define INT_DELIVERY_MODE (genapic->int_delivery_mode)
-#define INT_DEST_MODE (genapic->int_dest_mode)
-#define TARGET_CPUS	  (genapic->target_cpus())
-#define vector_allocation_domain	(genapic->vector_allocation_domain)
-#define apic_id_registered (genapic->apic_id_registered)
-#define init_apic_ldr (genapic->init_apic_ldr)
-#define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid)
-#define phys_pkg_id	(genapic->phys_pkg_id)
-
-#endif /* __ASM_MACH_APIC_H */

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2008-03-26 11:49 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-24 19:52 [PATCH 1/2] move ipi definitions to mach_ipi.h Glauber Costa
2008-03-24 19:52 ` [PATCH 2/2] move apic declarations to mach_apic.h Glauber Costa
2008-03-24 22:44   ` Yinghai Lu
2008-03-25 14:37   ` Ingo Molnar
2008-03-25 14:37 ` [PATCH 1/2] move ipi definitions to mach_ipi.h Ingo Molnar
2008-03-25 15:06 ` Ingo Molnar
2008-03-25 16:28   ` [PATCH 0/2] get rid of mach_apic.h Glauber Costa
2008-03-25 16:28     ` [PATCH 1/2] [PATCH] move ipi definitions to mach_ipi.h Glauber Costa
2008-03-25 16:28       ` [PATCH 2/2] [PATCH] move apic declarations to mach_apic.h Glauber Costa
2008-03-25 19:58         ` Ingo Molnar
2008-03-25 21:10           ` Glauber Costa
2008-03-26  4:47             ` Ingo Molnar
2008-03-26  4:49               ` Ingo Molnar
2008-03-26 11:49                 ` Glauber Costa
2008-03-25 16:33     ` [PATCH 0/2] get rid of mach_apic.h Ingo Molnar
  -- strict thread matches above, loose matches on Subject: below --
2008-03-25 21:10 [PATCH 2/2] [PATCH] move apic declarations to mach_apic.h Glauber Costa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox