22 #include <asm/ptrace.h>
39 extern void smp4m_irq_rotate(
int cpu);
49 void smp_boot_cpus(
void);
62 unsigned long arg2,
unsigned long arg3,
70 static inline void xc0(smpfunc_t
func)
72 sparc32_ipi_ops->cross_call(func, *cpu_online_mask, 0, 0, 0, 0);
75 static inline void xc1(smpfunc_t func,
unsigned long arg1)
77 sparc32_ipi_ops->cross_call(func, *cpu_online_mask, arg1, 0, 0, 0);
79 static inline void xc2(smpfunc_t func,
unsigned long arg1,
unsigned long arg2)
81 sparc32_ipi_ops->cross_call(func, *cpu_online_mask, arg1, arg2, 0, 0);
84 static inline void xc3(smpfunc_t func,
unsigned long arg1,
unsigned long arg2,
87 sparc32_ipi_ops->cross_call(func, *cpu_online_mask,
91 static inline void xc4(smpfunc_t func,
unsigned long arg1,
unsigned long arg2,
92 unsigned long arg3,
unsigned long arg4)
94 sparc32_ipi_ops->cross_call(func, *cpu_online_mask,
95 arg1, arg2, arg3, arg4);
108 #define raw_smp_processor_id() (current_thread_info()->cpu)
110 #define prof_multiplier(__cpu) cpu_data(__cpu).multiplier
111 #define prof_counter(__cpu) cpu_data(__cpu).counter
118 #define MSG_CROSS_CALL 0x0005
126 #define MBOX_STOPCPU 0xFB
127 #define MBOX_IDLECPU 0xFC
128 #define MBOX_IDLECPU2 0xFD
129 #define MBOX_STOPCPU2 0xFE
133 #define hard_smp_processor_id() 0
134 #define smp_setup_cpu_possible_map() do { } while (0)