X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fasm-s390%2Fsmp.h;h=ae89cf2478fcabee3a0e4acf1834465286a9224e;hb=13c48c490208d9e70d8d66d56f96c5054db69af7;hp=c7b74326a527b15eaa059cca78bdbe1fb4b57d69;hpb=d0d42df2a440003d96c8bf29991c2afb691ef720;p=linux-2.6 diff --git a/include/asm-s390/smp.h b/include/asm-s390/smp.h index c7b74326a5..ae89cf2478 100644 --- a/include/asm-s390/smp.h +++ b/include/asm-s390/smp.h @@ -19,6 +19,7 @@ #include #include #include +#include /* s390 specific smp.c headers @@ -53,10 +54,7 @@ extern void machine_power_off_smp(void); static inline __u16 hard_smp_processor_id(void) { - __u16 cpu_address; - - asm volatile("stap %0" : "=m" (cpu_address)); - return cpu_address; + return stap(); } /* @@ -90,6 +88,9 @@ extern void __cpu_die (unsigned int cpu); extern void cpu_die (void) __attribute__ ((noreturn)); extern int __cpu_up (unsigned int cpu); +extern struct mutex smp_cpu_state_mutex; +extern int smp_cpu_polarization[]; + extern int smp_call_function_mask(cpumask_t mask, void (*func)(void *), void *info, int wait); #endif @@ -105,5 +106,11 @@ static inline void smp_send_stop(void) #define smp_cpu_not_running(cpu) 1 #endif +#ifdef CONFIG_HOTPLUG_CPU +extern int smp_rescan_cpus(void); +#else +static inline int smp_rescan_cpus(void) { return 0; } +#endif + extern union save_area *zfcpdump_save_areas[NR_CPUS + 1]; #endif