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