xref: /OK3568_Linux_fs/kernel/arch/x86/lib/cache-smp.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun #include <linux/smp.h>
3*4882a593Smuzhiyun #include <linux/export.h>
4*4882a593Smuzhiyun 
__wbinvd(void * dummy)5*4882a593Smuzhiyun static void __wbinvd(void *dummy)
6*4882a593Smuzhiyun {
7*4882a593Smuzhiyun 	wbinvd();
8*4882a593Smuzhiyun }
9*4882a593Smuzhiyun 
wbinvd_on_cpu(int cpu)10*4882a593Smuzhiyun void wbinvd_on_cpu(int cpu)
11*4882a593Smuzhiyun {
12*4882a593Smuzhiyun 	smp_call_function_single(cpu, __wbinvd, NULL, 1);
13*4882a593Smuzhiyun }
14*4882a593Smuzhiyun EXPORT_SYMBOL(wbinvd_on_cpu);
15*4882a593Smuzhiyun 
wbinvd_on_all_cpus(void)16*4882a593Smuzhiyun int wbinvd_on_all_cpus(void)
17*4882a593Smuzhiyun {
18*4882a593Smuzhiyun 	on_each_cpu(__wbinvd, NULL, 1);
19*4882a593Smuzhiyun 	return 0;
20*4882a593Smuzhiyun }
21*4882a593Smuzhiyun EXPORT_SYMBOL(wbinvd_on_all_cpus);
22