xref: /openbmc/linux/arch/x86/xen/smp.h (revision 74ce1896)
1 #ifndef _XEN_SMP_H
2 
3 #ifdef CONFIG_SMP
4 extern void xen_send_IPI_mask(const struct cpumask *mask,
5 			      int vector);
6 extern void xen_send_IPI_mask_allbutself(const struct cpumask *mask,
7 				int vector);
8 extern void xen_send_IPI_allbutself(int vector);
9 extern void xen_send_IPI_all(int vector);
10 extern void xen_send_IPI_self(int vector);
11 
12 extern int xen_smp_intr_init(unsigned int cpu);
13 extern void xen_smp_intr_free(unsigned int cpu);
14 int xen_smp_intr_init_pv(unsigned int cpu);
15 void xen_smp_intr_free_pv(unsigned int cpu);
16 
17 void xen_smp_cpus_done(unsigned int max_cpus);
18 
19 void xen_smp_send_reschedule(int cpu);
20 void xen_smp_send_call_function_ipi(const struct cpumask *mask);
21 void xen_smp_send_call_function_single_ipi(int cpu);
22 
23 struct xen_common_irq {
24 	int irq;
25 	char *name;
26 };
27 #else /* CONFIG_SMP */
28 
29 static inline int xen_smp_intr_init(unsigned int cpu)
30 {
31 	return 0;
32 }
33 static inline void xen_smp_intr_free(unsigned int cpu) {}
34 
35 static inline int xen_smp_intr_init_pv(unsigned int cpu)
36 {
37 	return 0;
38 }
39 static inline void xen_smp_intr_free_pv(unsigned int cpu) {}
40 #endif /* CONFIG_SMP */
41 
42 #endif
43