blob: 33320cea5a016102e34946827b30d4712fb67a90 [file] [log] [blame]
Ben Guthrof447d562012-04-21 00:11:04 +08001#ifndef _XEN_SMP_H
2
Boris Ostrovsky5fc509b2016-08-03 13:22:27 -04003#ifdef CONFIG_SMP
Ben Guthrof447d562012-04-21 00:11:04 +08004extern void xen_send_IPI_mask(const struct cpumask *mask,
5 int vector);
6extern void xen_send_IPI_mask_allbutself(const struct cpumask *mask,
7 int vector);
8extern void xen_send_IPI_allbutself(int vector);
Ben Guthrof447d562012-04-21 00:11:04 +08009extern void xen_send_IPI_all(int vector);
10extern void xen_send_IPI_self(int vector);
11
Boris Ostrovsky5fc509b2016-08-03 13:22:27 -040012extern int xen_smp_intr_init(unsigned int cpu);
13extern void xen_smp_intr_free(unsigned int cpu);
Vitaly Kuznetsov04e95762017-03-14 18:35:42 +010014int xen_smp_intr_init_pv(unsigned int cpu);
15void xen_smp_intr_free_pv(unsigned int cpu);
Boris Ostrovsky5fc509b2016-08-03 13:22:27 -040016
17#else /* CONFIG_SMP */
18
19static inline int xen_smp_intr_init(unsigned int cpu)
20{
21 return 0;
22}
23static inline void xen_smp_intr_free(unsigned int cpu) {}
Vitaly Kuznetsov04e95762017-03-14 18:35:42 +010024
25static inline int xen_smp_intr_init_pv(unsigned int cpu)
26{
27 return 0;
28}
29static inline void xen_smp_intr_free_pv(unsigned int cpu) {}
Boris Ostrovsky5fc509b2016-08-03 13:22:27 -040030#endif /* CONFIG_SMP */
31
Ben Guthrof447d562012-04-21 00:11:04 +080032#endif