1*7d36db35SAvi Kivity #ifndef __SMP_H 2*7d36db35SAvi Kivity #define __SMP_H 3*7d36db35SAvi Kivity 4*7d36db35SAvi Kivity struct spinlock { 5*7d36db35SAvi Kivity int v; 6*7d36db35SAvi Kivity }; 7*7d36db35SAvi Kivity 8*7d36db35SAvi Kivity void smp_init(void); 9*7d36db35SAvi Kivity 10*7d36db35SAvi Kivity int cpu_count(void); 11*7d36db35SAvi Kivity int smp_id(void); 12*7d36db35SAvi Kivity void on_cpu(int cpu, void (*function)(void *data), void *data); 13*7d36db35SAvi Kivity void on_cpu_async(int cpu, void (*function)(void *data), void *data); 14*7d36db35SAvi Kivity void spin_lock(struct spinlock *lock); 15*7d36db35SAvi Kivity void spin_unlock(struct spinlock *lock); 16*7d36db35SAvi Kivity 17*7d36db35SAvi Kivity #endif 18