aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-i386/smp.h36
1 files changed, 21 insertions, 15 deletions
diff --git a/include/asm-i386/smp.h b/include/asm-i386/smp.h
index 3243fa6f455f..0c7132787062 100644
--- a/include/asm-i386/smp.h
+++ b/include/asm-i386/smp.h
@@ -124,20 +124,6 @@ static inline int num_booting_cpus(void)
124 return cpus_weight(cpu_callout_map); 124 return cpus_weight(cpu_callout_map);
125} 125}
126 126
127#ifdef CONFIG_X86_LOCAL_APIC
128
129#ifdef APIC_DEFINITION
130extern int hard_smp_processor_id(void);
131#else
132#include <mach_apicdef.h>
133static inline int hard_smp_processor_id(void)
134{
135 /* we don't want to mark this access volatile - bad code generation */
136 return GET_APIC_ID(*(unsigned long *)(APIC_BASE+APIC_ID));
137}
138#endif
139#endif
140
141extern int safe_smp_processor_id(void); 127extern int safe_smp_processor_id(void);
142extern int __cpu_disable(void); 128extern int __cpu_disable(void);
143extern void __cpu_die(unsigned int cpu); 129extern void __cpu_die(unsigned int cpu);
@@ -147,7 +133,6 @@ extern unsigned int num_processors;
147 133
148#else /* CONFIG_SMP */ 134#else /* CONFIG_SMP */
149 135
150#define hard_smp_processor_id() 0
151#define safe_smp_processor_id() 0 136#define safe_smp_processor_id() 0
152#define cpu_physical_id(cpu) boot_cpu_physical_apicid 137#define cpu_physical_id(cpu) boot_cpu_physical_apicid
153 138
@@ -157,6 +142,27 @@ extern unsigned int num_processors;
157 142
158#ifndef __ASSEMBLY__ 143#ifndef __ASSEMBLY__
159 144
145#ifdef CONFIG_X86_LOCAL_APIC
146
147#ifdef APIC_DEFINITION
148extern int hard_smp_processor_id(void);
149#else
150#include <mach_apicdef.h>
151static inline int hard_smp_processor_id(void)
152{
153 /* we don't want to mark this access volatile - bad code generation */
154 return GET_APIC_ID(*(unsigned long *)(APIC_BASE+APIC_ID));
155}
156#endif /* APIC_DEFINITION */
157
158#else /* CONFIG_X86_LOCAL_APIC */
159
160#ifndef CONFIG_SMP
161#define hard_smp_processor_id() 0
162#endif
163
164#endif /* CONFIG_X86_LOCAL_APIC */
165
160extern u8 apicid_2_node[]; 166extern u8 apicid_2_node[];
161 167
162#ifdef CONFIG_X86_LOCAL_APIC 168#ifdef CONFIG_X86_LOCAL_APIC