]> err.no Git - linux-2.6/blobdiff - include/asm-s390/smp.h
Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq
[linux-2.6] / include / asm-s390 / smp.h
index c3cf030ada4d480bebcf788d5ce688fe1de37d91..0a28e6d6ef405f576a63e5012e6bc683ddc2a975 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <asm/lowcore.h>
 #include <asm/sigp.h>
+#include <asm/ptrace.h>
 
 /*
   s390 specific smp.c headers
@@ -30,6 +31,10 @@ typedef struct
        __u16      cpu;
 } sigp_info;
 
+extern void machine_restart_smp(char *);
+extern void machine_halt_smp(void);
+extern void machine_power_off_smp(void);
+
 extern void smp_setup_cpu_possible_map(void);
 extern int smp_call_function_on(void (*func) (void *info), void *info,
                                int nonatomic, int wait, int cpu);
@@ -49,9 +54,6 @@ extern int smp_call_function_on(void (*func) (void *info), void *info,
 
 #define raw_smp_processor_id() (S390_lowcore.cpu_data.cpu_nr)
 
-extern int smp_get_cpu(cpumask_t cpu_map);
-extern void smp_put_cpu(int cpu);
-
 static inline __u16 hard_smp_processor_id(void)
 {
         __u16 cpu_address;
@@ -101,10 +103,16 @@ smp_call_function_on(void (*func) (void *info), void *info,
        func(info);
        return 0;
 }
+
+static inline void smp_send_stop(void)
+{
+       /* Disable all interrupts/machine checks */
+       __load_psw_mask(psw_kernel_bits & ~PSW_MASK_MCHECK);
+}
+
 #define smp_cpu_not_running(cpu)       1
-#define smp_get_cpu(cpu) ({ 0; })
-#define smp_put_cpu(cpu) ({ 0; })
 #define smp_setup_cpu_possible_map()   do { } while (0)
 #endif
 
+extern union save_area *zfcpdump_save_areas[NR_CPUS + 1];
 #endif