x86, lib: Add wbinvd smp helpers
Add wbinvd_on_cpu and wbinvd_on_all_cpus stubs for executing wbinvd on a particular CPU. [ hpa: renamed lib/smp.c to lib/cache-smp.c ] [ hpa: wbinvd_on_all_cpus() returns int, but wbinvd() returns void. Thus, the former cannot be a macro for the latter, replace with an inline function. ] Signed-off-by: Borislav Petkov <borislav.petkov@amd.com> LKML-Reference: <1264172467-25155-2-git-send-email-bp@amd64.org> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
committed by
H. Peter Anvin
parent
92dcffb916
commit
a7b480e7f3
19
arch/x86/lib/cache-smp.c
Normal file
19
arch/x86/lib/cache-smp.c
Normal file
@@ -0,0 +1,19 @@
|
||||
#include <linux/smp.h>
|
||||
#include <linux/module.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)
|
||||
{
|
||||
return on_each_cpu(__wbinvd, NULL, 1);
|
||||
}
|
||||
EXPORT_SYMBOL(wbinvd_on_all_cpus);
|
Reference in New Issue
Block a user