diff options
Diffstat (limited to 'include/asm-x86/smp.h')
| -rw-r--r-- | include/asm-x86/smp.h | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/include/asm-x86/smp.h b/include/asm-x86/smp.h index 1ebaa5cd311..2e221f1ce0b 100644 --- a/include/asm-x86/smp.h +++ b/include/asm-x86/smp.h | |||
| @@ -29,21 +29,12 @@ extern int smp_num_siblings; | |||
| 29 | extern unsigned int num_processors; | 29 | extern unsigned int num_processors; |
| 30 | extern cpumask_t cpu_initialized; | 30 | extern cpumask_t cpu_initialized; |
| 31 | 31 | ||
| 32 | #ifdef CONFIG_SMP | ||
| 33 | extern u16 x86_cpu_to_apicid_init[]; | ||
| 34 | extern u16 x86_bios_cpu_apicid_init[]; | ||
| 35 | extern void *x86_cpu_to_apicid_early_ptr; | ||
| 36 | extern 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 | |||
| 42 | DECLARE_PER_CPU(cpumask_t, cpu_sibling_map); | 32 | DECLARE_PER_CPU(cpumask_t, cpu_sibling_map); |
| 43 | DECLARE_PER_CPU(cpumask_t, cpu_core_map); | 33 | DECLARE_PER_CPU(cpumask_t, cpu_core_map); |
| 44 | DECLARE_PER_CPU(u16, cpu_llc_id); | 34 | DECLARE_PER_CPU(u16, cpu_llc_id); |
| 45 | DECLARE_PER_CPU(u16, x86_cpu_to_apicid); | 35 | |
| 46 | DECLARE_PER_CPU(u16, x86_bios_cpu_apicid); | 36 | DECLARE_EARLY_PER_CPU(u16, x86_cpu_to_apicid); |
| 37 | DECLARE_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 */ |
| 49 | extern struct { | 40 | extern struct { |
| @@ -118,8 +109,6 @@ int native_cpu_up(unsigned int cpunum); | |||
| 118 | extern int __cpu_disable(void); | 109 | extern int __cpu_disable(void); |
| 119 | extern void __cpu_die(unsigned int cpu); | 110 | extern void __cpu_die(unsigned int cpu); |
| 120 | 111 | ||
| 121 | extern void prefill_possible_map(void); | ||
| 122 | |||
| 123 | void smp_store_cpu_info(int id); | 112 | void 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) | ||
| 123 | extern void prefill_possible_map(void); | ||
| 124 | #else | ||
| 125 | static inline void prefill_possible_map(void) | ||
| 126 | { | ||
| 127 | } | ||
| 128 | #endif | ||
| 129 | |||
| 133 | extern unsigned disabled_cpus __cpuinitdata; | 130 | extern 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 |
| 200 | extern void cpu_exit_clear(void); | ||
| 201 | extern void cpu_uninit(void); | 197 | extern void cpu_uninit(void); |
| 202 | #endif | 198 | #endif |
| 203 | 199 | ||
| 204 | extern void smp_alloc_memory(void); | ||
| 205 | extern void lock_ipi_call_lock(void); | 200 | extern void lock_ipi_call_lock(void); |
| 206 | extern void unlock_ipi_call_lock(void); | 201 | extern void unlock_ipi_call_lock(void); |
| 207 | #endif /* __ASSEMBLY__ */ | 202 | #endif /* __ASSEMBLY__ */ |
