xref: /openbmc/linux/arch/x86/lib/cache-smp.c (revision a7b480e7)
1a7b480e7SBorislav Petkov #include <linux/smp.h>
2a7b480e7SBorislav Petkov #include <linux/module.h>
3a7b480e7SBorislav Petkov 
4a7b480e7SBorislav Petkov static void __wbinvd(void *dummy)
5a7b480e7SBorislav Petkov {
6a7b480e7SBorislav Petkov 	wbinvd();
7a7b480e7SBorislav Petkov }
8a7b480e7SBorislav Petkov 
9a7b480e7SBorislav Petkov void wbinvd_on_cpu(int cpu)
10a7b480e7SBorislav Petkov {
11a7b480e7SBorislav Petkov 	smp_call_function_single(cpu, __wbinvd, NULL, 1);
12a7b480e7SBorislav Petkov }
13a7b480e7SBorislav Petkov EXPORT_SYMBOL(wbinvd_on_cpu);
14a7b480e7SBorislav Petkov 
15a7b480e7SBorislav Petkov int wbinvd_on_all_cpus(void)
16a7b480e7SBorislav Petkov {
17a7b480e7SBorislav Petkov 	return on_each_cpu(__wbinvd, NULL, 1);
18a7b480e7SBorislav Petkov }
19a7b480e7SBorislav Petkov EXPORT_SYMBOL(wbinvd_on_all_cpus);
20