diff options
Diffstat (limited to 'arch/x86/lib/cache-smp.c')
-rw-r--r-- | arch/x86/lib/cache-smp.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/x86/lib/cache-smp.c b/arch/x86/lib/cache-smp.c new file mode 100644 index 000000000..7c48ff4ae --- /dev/null +++ b/arch/x86/lib/cache-smp.c @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: GPL-2.0 +#include <linux/smp.h> +#include <linux/export.h> + +static void __wbinvd(void *dummy) +{ + wbinvd(); +} + +void wbinvd_on_cpu(int cpu) +{ + smp_call_function_single(cpu, __wbinvd, NULL, 1); +} +EXPORT_SYMBOL(wbinvd_on_cpu); + +int wbinvd_on_all_cpus(void) +{ + on_each_cpu(__wbinvd, NULL, 1); + return 0; +} +EXPORT_SYMBOL(wbinvd_on_all_cpus); |