1// SPDX-License-Identifier: GPL-2.0
2#include <asm/paravirt.h>
3#include <linux/smp.h>
4#include <linux/export.h>
5
6static void __wbinvd(void *dummy)
7{
8 wbinvd();
9}
10
11void wbinvd_on_cpu(int cpu)
12{
13 smp_call_function_single(cpuid: cpu, func: __wbinvd, NULL, wait: 1);
14}
15EXPORT_SYMBOL(wbinvd_on_cpu);
16
17int wbinvd_on_all_cpus(void)
18{
19 on_each_cpu(func: __wbinvd, NULL, wait: 1);
20 return 0;
21}
22EXPORT_SYMBOL(wbinvd_on_all_cpus);
23

source code of linux/arch/x86/lib/cache-smp.c