aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/smp.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-07-15 17:12:58 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-15 17:12:58 -0400
commit1e09481365ce248dbb4eb06dad70129bb5807037 (patch)
treec0cff5bef95c8b5e7486f144718ade9a06c284dc /include/asm-x86/smp.h
parent3e2f69fdd1b00166e7d589bce56b2d36a9e74374 (diff)
parentb9d2252c1e44fa83a4e65fdc9eb93db6297c55af (diff)
Merge branch 'linus' into core/softlockup
Conflicts: kernel/softlockup.c Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86/smp.h')
-rw-r--r--include/asm-x86/smp.h27
1 files changed, 11 insertions, 16 deletions
diff --git a/include/asm-x86/smp.h b/include/asm-x86/smp.h
index 1ebaa5cd3112..2e221f1ce0b2 100644
--- a/include/asm-x86/smp.h
+++ b/include/asm-x86/smp.h
@@ -29,21 +29,12 @@ extern int smp_num_siblings;
29extern unsigned int num_processors; 29extern unsigned int num_processors;
30extern cpumask_t cpu_initialized; 30extern cpumask_t cpu_initialized;
31 31
32#ifdef CONFIG_SMP
33extern u16 x86_cpu_to_apicid_init[];
34extern u16 x86_bios_cpu_apicid_init[];
35extern void *x86_cpu_to_apicid_early_ptr;
36extern void *x86_bios_cpu_apicid_early_ptr;
37#else
38#define x86_cpu_to_apicid_early_ptr NULL
39#define x86_bios_cpu_apicid_early_ptr NULL
40#endif
41
42DECLARE_PER_CPU(cpumask_t, cpu_sibling_map); 32DECLARE_PER_CPU(cpumask_t, cpu_sibling_map);
43DECLARE_PER_CPU(cpumask_t, cpu_core_map); 33DECLARE_PER_CPU(cpumask_t, cpu_core_map);
44DECLARE_PER_CPU(u16, cpu_llc_id); 34DECLARE_PER_CPU(u16, cpu_llc_id);
45DECLARE_PER_CPU(u16, x86_cpu_to_apicid); 35
46DECLARE_PER_CPU(u16, x86_bios_cpu_apicid); 36DECLARE_EARLY_PER_CPU(u16, x86_cpu_to_apicid);
37DECLARE_EARLY_PER_CPU(u16, x86_bios_cpu_apicid);
47 38
48/* Static state in head.S used to set up a CPU */ 39/* Static state in head.S used to set up a CPU */
49extern struct { 40extern struct {
@@ -118,8 +109,6 @@ int native_cpu_up(unsigned int cpunum);
118extern int __cpu_disable(void); 109extern int __cpu_disable(void);
119extern void __cpu_die(unsigned int cpu); 110extern void __cpu_die(unsigned int cpu);
120 111
121extern void prefill_possible_map(void);
122
123void smp_store_cpu_info(int id); 112void smp_store_cpu_info(int id);
124#define cpu_physical_id(cpu) per_cpu(x86_cpu_to_apicid, cpu) 113#define cpu_physical_id(cpu) per_cpu(x86_cpu_to_apicid, cpu)
125 114
@@ -130,6 +119,14 @@ static inline int num_booting_cpus(void)
130} 119}
131#endif /* CONFIG_SMP */ 120#endif /* CONFIG_SMP */
132 121
122#if defined(CONFIG_SMP) && defined(CONFIG_HOTPLUG_CPU)
123extern void prefill_possible_map(void);
124#else
125static inline void prefill_possible_map(void)
126{
127}
128#endif
129
133extern unsigned disabled_cpus __cpuinitdata; 130extern unsigned disabled_cpus __cpuinitdata;
134 131
135#ifdef CONFIG_X86_32_SMP 132#ifdef CONFIG_X86_32_SMP
@@ -197,11 +194,9 @@ static inline int hard_smp_processor_id(void)
197#endif /* CONFIG_X86_LOCAL_APIC */ 194#endif /* CONFIG_X86_LOCAL_APIC */
198 195
199#ifdef CONFIG_HOTPLUG_CPU 196#ifdef CONFIG_HOTPLUG_CPU
200extern void cpu_exit_clear(void);
201extern void cpu_uninit(void); 197extern void cpu_uninit(void);
202#endif 198#endif
203 199
204extern void smp_alloc_memory(void);
205extern void lock_ipi_call_lock(void); 200extern void lock_ipi_call_lock(void);
206extern void unlock_ipi_call_lock(void); 201extern void unlock_ipi_call_lock(void);
207#endif /* __ASSEMBLY__ */ 202#endif /* __ASSEMBLY__ */