X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-mips%2Fsmp.h;h=1608fd71d6f7ffd7d1e1a39cf181515c658c3ea4;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=4146d42d48fe20a26549480f25ce326b446047a9;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/include/asm-mips/smp.h b/include/asm-mips/smp.h index 4146d42d4..1608fd71d 100644 --- a/include/asm-mips/smp.h +++ b/include/asm-mips/smp.h @@ -11,7 +11,6 @@ #ifndef __ASM_SMP_H #define __ASM_SMP_H -#include #ifdef CONFIG_SMP @@ -21,7 +20,7 @@ #include #include -#define smp_processor_id() (current_thread_info()->cpu) +#define raw_smp_processor_id() (current_thread_info()->cpu) /* Map from cpu id to sequential logical cpu number. This will only not be idempotent when cpus failed to come on-line. */ @@ -48,11 +47,8 @@ extern struct call_data_struct *call_data; #define SMP_CALL_FUNCTION 0x2 extern cpumask_t phys_cpu_present_map; -extern cpumask_t cpu_online_map; #define cpu_possible_map phys_cpu_present_map -#define cpu_online(cpu) cpu_isset(cpu, cpu_online_map) - extern cpumask_t cpu_callout_map; /* We don't mark CPUs online until __cpu_up(), so we need another measure */ static inline int num_booting_cpus(void) @@ -60,7 +56,9 @@ static inline int num_booting_cpus(void) return cpus_weight(cpu_callout_map); } -/* These are defined by the board-specific code. */ +/* + * These are defined by the board-specific code. + */ /* * Cause the function described by call_data to be executed on the passed @@ -69,11 +67,6 @@ static inline int num_booting_cpus(void) */ extern void core_send_ipi(int cpu, unsigned int action); -/* - * Detect available CPUs, populate phys_cpu_present_map - */ -extern void prom_build_cpu_map(void); - /* * Firmware CPU startup hook */ @@ -86,15 +79,14 @@ extern void prom_boot_secondary(int cpu, struct task_struct *idle); extern void prom_init_secondary(void); /* - * Callout to firmware before smp_init + * Populate cpu_possible_map before smp_init, called from setup_arch. */ -extern void prom_prepare_cpus(unsigned int max_cpus); +extern void plat_smp_setup(void); /* - * Do whatever setup needs to be done for SMP at the board level. Return - * the number of cpus in the system, including this one + * Called in smp_prepare_cpus. */ -extern int prom_setup_smp(void); +extern void plat_prepare_cpus(unsigned int max_cpus); /* * Last chance for the board code to finish SMP initialization before