xref: /kvm-unit-tests/lib/on-cpus.h (revision 17f6f2fd17935eb5e564f621c71244b4a3ddeafb)
1b2d54669SAndrew Jones /* SPDX-License-Identifier: GPL-2.0-only */
2b2d54669SAndrew Jones #ifndef _ON_CPUS_H_
3b2d54669SAndrew Jones #define _ON_CPUS_H_
4b2d54669SAndrew Jones #include <stdbool.h>
5*d012cfd5SAndrew Jones #include <cpumask.h>
6b2d54669SAndrew Jones 
7b2d54669SAndrew Jones extern bool cpu0_calls_idle;
8b2d54669SAndrew Jones 
9b2d54669SAndrew Jones void do_idle(void);
10b2d54669SAndrew Jones 
11b2d54669SAndrew Jones void on_cpu_async(int cpu, void (*func)(void *data), void *data);
12b2d54669SAndrew Jones void on_cpu(int cpu, void (*func)(void *data), void *data);
13b2d54669SAndrew Jones void on_cpus(void (*func)(void *data), void *data);
14*d012cfd5SAndrew Jones void on_cpumask_async(const cpumask_t *mask, void (*func)(void *data), void *data);
15*d012cfd5SAndrew Jones void on_cpumask(const cpumask_t *mask, void (*func)(void *data), void *data);
16b2d54669SAndrew Jones 
17b2d54669SAndrew Jones #endif /* _ON_CPUS_H_ */
18