aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/apic_64.c2
-rw-r--r--arch/x86/kernel/crash.c4
-rw-r--r--arch/x86/kernel/io_apic_64.c2
-rw-r--r--arch/x86/kernel/smp.c6
-rw-r--r--arch/x86/kernel/tlb_64.c3
-rw-r--r--include/asm-x86/mach-default/mach_ipi.h10
-rw-r--r--include/asm-x86/mach_apic.h3
7 files changed, 17 insertions, 13 deletions
diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
index 5362cfd30ecd..206278f1c6f4 100644
--- a/arch/x86/kernel/apic_64.c
+++ b/arch/x86/kernel/apic_64.c
@@ -41,6 +41,8 @@
41#include <asm/timex.h> 41#include <asm/timex.h>
42#include <asm/apic.h> 42#include <asm/apic.h>
43 43
44#include <mach_ipi.h>
45
44int disable_apic_timer __cpuinitdata; 46int disable_apic_timer __cpuinitdata;
45static int apic_calibrate_pmtmr __initdata; 47static int apic_calibrate_pmtmr __initdata;
46int disable_apic; 48int disable_apic;
diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c
index 9a5fa0abfcc7..2251d0ae9570 100644
--- a/arch/x86/kernel/crash.c
+++ b/arch/x86/kernel/crash.c
@@ -26,11 +26,7 @@
26#include <linux/kdebug.h> 26#include <linux/kdebug.h>
27#include <asm/smp.h> 27#include <asm/smp.h>
28 28
29#ifdef CONFIG_X86_32
30#include <mach_ipi.h> 29#include <mach_ipi.h>
31#else
32#include <asm/mach_apic.h>
33#endif
34 30
35/* This keeps a track of which one is crashing cpu. */ 31/* This keeps a track of which one is crashing cpu. */
36static int crashing_cpu; 32static int crashing_cpu;
diff --git a/arch/x86/kernel/io_apic_64.c b/arch/x86/kernel/io_apic_64.c
index 1627c0d53e0b..7d5cdf320eba 100644
--- a/arch/x86/kernel/io_apic_64.c
+++ b/arch/x86/kernel/io_apic_64.c
@@ -50,6 +50,8 @@
50#include <asm/msidef.h> 50#include <asm/msidef.h>
51#include <asm/hypertransport.h> 51#include <asm/hypertransport.h>
52 52
53#include <mach_ipi.h>
54
53struct irq_cfg { 55struct irq_cfg {
54 cpumask_t domain; 56 cpumask_t domain;
55 cpumask_t old_domain; 57 cpumask_t old_domain;
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c
index 16c52aaaca35..8f75893a6467 100644
--- a/arch/x86/kernel/smp.c
+++ b/arch/x86/kernel/smp.c
@@ -26,12 +26,8 @@
26#include <asm/tlbflush.h> 26#include <asm/tlbflush.h>
27#include <asm/mmu_context.h> 27#include <asm/mmu_context.h>
28#include <asm/proto.h> 28#include <asm/proto.h>
29#ifdef CONFIG_X86_32
30#include <mach_apic.h>
31#include <mach_ipi.h> 29#include <mach_ipi.h>
32#else 30#include <mach_apic.h>
33#include <asm/mach_apic.h>
34#endif
35/* 31/*
36 * Some notes on x86 processor bugs affecting SMP operation: 32 * Some notes on x86 processor bugs affecting SMP operation:
37 * 33 *
diff --git a/arch/x86/kernel/tlb_64.c b/arch/x86/kernel/tlb_64.c
index 615d84817758..1558e513757e 100644
--- a/arch/x86/kernel/tlb_64.c
+++ b/arch/x86/kernel/tlb_64.c
@@ -11,11 +11,12 @@
11#include <asm/mtrr.h> 11#include <asm/mtrr.h>
12#include <asm/pgalloc.h> 12#include <asm/pgalloc.h>
13#include <asm/tlbflush.h> 13#include <asm/tlbflush.h>
14#include <asm/mach_apic.h>
15#include <asm/mmu_context.h> 14#include <asm/mmu_context.h>
16#include <asm/proto.h> 15#include <asm/proto.h>
17#include <asm/apicdef.h> 16#include <asm/apicdef.h>
18#include <asm/idle.h> 17#include <asm/idle.h>
18
19#include <mach_ipi.h>
19/* 20/*
20 * Smarter SMP flushing macros. 21 * Smarter SMP flushing macros.
21 * c/o Linus Torvalds. 22 * 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 0dba244c86db..be323364e68f 100644
--- a/include/asm-x86/mach-default/mach_ipi.h
+++ b/include/asm-x86/mach-default/mach_ipi.h
@@ -9,10 +9,15 @@ void __send_IPI_shortcut(unsigned int shortcut, int vector);
9 9
10extern int no_broadcast; 10extern int no_broadcast;
11 11
12#ifdef CONFIG_X86_64
13#include <asm/genapic.h>
14#define send_IPI_mask (genapic->send_IPI_mask)
15#else
12static inline void send_IPI_mask(cpumask_t mask, int vector) 16static inline void send_IPI_mask(cpumask_t mask, int vector)
13{ 17{
14 send_IPI_mask_bitmask(mask, vector); 18 send_IPI_mask_bitmask(mask, vector);
15} 19}
20#endif
16 21
17static inline void __local_send_IPI_allbutself(int vector) 22static inline void __local_send_IPI_allbutself(int vector)
18{ 23{
@@ -33,6 +38,10 @@ static inline void __local_send_IPI_all(int vector)
33 __send_IPI_shortcut(APIC_DEST_ALLINC, vector); 38 __send_IPI_shortcut(APIC_DEST_ALLINC, vector);
34} 39}
35 40
41#ifdef CONFIG_X86_64
42#define send_IPI_allbutself (genapic->send_IPI_allbutself)
43#define send_IPI_all (genapic->send_IPI_all)
44#else
36static inline void send_IPI_allbutself(int vector) 45static inline void send_IPI_allbutself(int vector)
37{ 46{
38 /* 47 /*
@@ -50,5 +59,6 @@ static inline void send_IPI_all(int vector)
50{ 59{
51 __local_send_IPI_all(vector); 60 __local_send_IPI_all(vector);
52} 61}
62#endif
53 63
54#endif /* __ASM_MACH_IPI_H */ 64#endif /* __ASM_MACH_IPI_H */
diff --git a/include/asm-x86/mach_apic.h b/include/asm-x86/mach_apic.h
index 7b7115a0c1c9..1bc68c0c0cdf 100644
--- a/include/asm-x86/mach_apic.h
+++ b/include/asm-x86/mach_apic.h
@@ -20,9 +20,6 @@
20#define vector_allocation_domain (genapic->vector_allocation_domain) 20#define vector_allocation_domain (genapic->vector_allocation_domain)
21#define apic_id_registered (genapic->apic_id_registered) 21#define apic_id_registered (genapic->apic_id_registered)
22#define init_apic_ldr (genapic->init_apic_ldr) 22#define init_apic_ldr (genapic->init_apic_ldr)
23#define send_IPI_mask (genapic->send_IPI_mask)
24#define send_IPI_allbutself (genapic->send_IPI_allbutself)
25#define send_IPI_all (genapic->send_IPI_all)
26#define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid) 23#define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid)
27#define phys_pkg_id (genapic->phys_pkg_id) 24#define phys_pkg_id (genapic->phys_pkg_id)
28 25