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*4882a593Smuzhiyunstatic void __wbinvd(void *dummy) 6*4882a593Smuzhiyun { 7*4882a593Smuzhiyun wbinvd(); 8*4882a593Smuzhiyun } 9*4882a593Smuzhiyun wbinvd_on_cpu(int cpu)10*4882a593Smuzhiyunvoid 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*4882a593Smuzhiyunint 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