20 lines
		
	
	
	
		
			322 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			20 lines
		
	
	
	
		
			322 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#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);
							 |