xref: /kvm-unit-tests/lib/x86/smp.h (revision cc47ddc1a5785a5b995be5afab95ccc13b1cec6e)
1 #ifndef __SMP_H
2 #define __SMP_H
3 #include <asm/spinlock.h>
4 
5 #define mb() 	asm volatile("mfence":::"memory")
6 #define rmb()	asm volatile("lfence":::"memory")
7 #define wmb()	asm volatile("sfence" ::: "memory")
8 
9 void smp_init(void);
10 
11 int cpu_count(void);
12 int smp_id(void);
13 void on_cpu(int cpu, void (*function)(void *data), void *data);
14 void on_cpu_async(int cpu, void (*function)(void *data), void *data);
15 
16 #endif
17