162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci#include <linux/smp.h> 362306a36Sopenharmony_ci#include <linux/export.h> 462306a36Sopenharmony_ci 562306a36Sopenharmony_cistatic void __wbinvd(void *dummy) 662306a36Sopenharmony_ci{ 762306a36Sopenharmony_ci wbinvd(); 862306a36Sopenharmony_ci} 962306a36Sopenharmony_ci 1062306a36Sopenharmony_civoid wbinvd_on_cpu(int cpu) 1162306a36Sopenharmony_ci{ 1262306a36Sopenharmony_ci smp_call_function_single(cpu, __wbinvd, NULL, 1); 1362306a36Sopenharmony_ci} 1462306a36Sopenharmony_ciEXPORT_SYMBOL(wbinvd_on_cpu); 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciint wbinvd_on_all_cpus(void) 1762306a36Sopenharmony_ci{ 1862306a36Sopenharmony_ci on_each_cpu(__wbinvd, NULL, 1); 1962306a36Sopenharmony_ci return 0; 2062306a36Sopenharmony_ci} 2162306a36Sopenharmony_ciEXPORT_SYMBOL(wbinvd_on_all_cpus); 22