1 #ifndef __XEN_STOP_MACHINE_H__
2 #define __XEN_STOP_MACHINE_H__
3 
4 /**
5  * stop_machine_run: freeze the machine on all CPUs and run this function
6  * @fn: the function to run
7  * @data: the data ptr for the @fn()
8  * @cpu: the cpu to run @fn() on (or all, if @cpu == NR_CPUS).
9  *
10  * Description: This causes every other cpu to enter a safe point, with
11  * each of which disables interrupts, and finally interrupts are disabled
12  * on the current CPU.  The result is that none is holding a spinlock
13  * or inside any other preempt-disabled region when @fn() runs.
14  *
15  * This can be thought of as a very heavy write lock, equivalent to
16  * grabbing every spinlock in the kernel. */
17 int stop_machine_run(int (*fn)(void *), void *data, unsigned int cpu);
18 
19 #endif /* __XEN_STOP_MACHINE_H__ */
20