]> git.proxmox.com Git - mirror_ubuntu-kernels.git/blame - include/asm-x86/smp_32.h
x86: merge includes in smp.h
[mirror_ubuntu-kernels.git] / include / asm-x86 / smp_32.h
CommitLineData
1da177e4
LT
1#ifndef __ASM_SMP_H
2#define __ASM_SMP_H
3
ae9d983b 4#ifndef __ASSEMBLY__
1da177e4 5
ae9d983b 6extern cpumask_t cpu_callin_map;
1da177e4 7
2fec394a
JP
8extern void (*mtrr_hook)(void);
9extern void zap_low_mappings(void);
1da177e4 10
ae9d983b 11#ifdef CONFIG_SMP
1da177e4
LT
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 */
7c3576d2
JF
17DECLARE_PER_CPU(int, cpu_number);
18#define raw_smp_processor_id() (x86_read_percpu(cpu_number))
1da177e4 19
ae9d983b
TG
20extern int safe_smp_processor_id(void);
21
1da177e4
LT
22/* We don't mark CPUs online until __cpu_up(), so we need another measure */
23static inline int num_booting_cpus(void)
24{
25 return cpus_weight(cpu_callout_map);
26}
27
b4033c17 28#else /* CONFIG_SMP */
dc2bc768 29#define safe_smp_processor_id() 0
ae9d983b 30#endif /* !CONFIG_SMP */
815a965b 31
ae9d983b 32#endif /* !ASSEMBLY */
1da177e4 33#endif