xref: /openbmc/linux/arch/x86/xen/smp.h (revision efe4a1ac)
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_send_reschedule(int cpu);
18 void xen_smp_send_call_function_ipi(const struct cpumask *mask);
19 void xen_smp_send_call_function_single_ipi(int cpu);
20 
21 struct xen_common_irq {
22 	int irq;
23 	char *name;
24 };
25 #else /* CONFIG_SMP */
26 
27 static inline int xen_smp_intr_init(unsigned int cpu)
28 {
29 	return 0;
30 }
31 static inline void xen_smp_intr_free(unsigned int cpu) {}
32 
33 static inline int xen_smp_intr_init_pv(unsigned int cpu)
34 {
35 	return 0;
36 }
37 static inline void xen_smp_intr_free_pv(unsigned int cpu) {}
38 #endif /* CONFIG_SMP */
39 
40 #endif
41