]> git.proxmox.com Git - mirror_ubuntu-kernels.git/blob - include/asm-x86/smp_32.h
x86: merge includes in smp.h
[mirror_ubuntu-kernels.git] / include / asm-x86 / smp_32.h
1 #ifndef __ASM_SMP_H
2 #define __ASM_SMP_H
3
4 #ifndef __ASSEMBLY__
5
6 extern cpumask_t cpu_callin_map;
7
8 extern void (*mtrr_hook)(void);
9 extern void zap_low_mappings(void);
10
11 #ifdef CONFIG_SMP
12 /*
13 * This function is needed by all SMP systems. It must _always_ be valid
14 * from the initial startup. We map APIC_BASE very early in page_setup(),
15 * so this is correct in the x86 case.
16 */
17 DECLARE_PER_CPU(int, cpu_number);
18 #define raw_smp_processor_id() (x86_read_percpu(cpu_number))
19
20 extern int safe_smp_processor_id(void);
21
22 /* We don't mark CPUs online until __cpu_up(), so we need another measure */
23 static inline int num_booting_cpus(void)
24 {
25 return cpus_weight(cpu_callout_map);
26 }
27
28 #else /* CONFIG_SMP */
29 #define safe_smp_processor_id() 0
30 #endif /* !CONFIG_SMP */
31
32 #endif /* !ASSEMBLY */
33 #endif