smp.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef _XEN_SMP_H
  2. #ifdef CONFIG_SMP
  3. extern void xen_send_IPI_mask(const struct cpumask *mask,
  4. int vector);
  5. extern void xen_send_IPI_mask_allbutself(const struct cpumask *mask,
  6. int vector);
  7. extern void xen_send_IPI_allbutself(int vector);
  8. extern void xen_send_IPI_all(int vector);
  9. extern void xen_send_IPI_self(int vector);
  10. extern int xen_smp_intr_init(unsigned int cpu);
  11. extern void xen_smp_intr_free(unsigned int cpu);
  12. int xen_smp_intr_init_pv(unsigned int cpu);
  13. void xen_smp_intr_free_pv(unsigned int cpu);
  14. void xen_smp_cpus_done(unsigned int max_cpus);
  15. void xen_smp_send_reschedule(int cpu);
  16. void xen_smp_send_call_function_ipi(const struct cpumask *mask);
  17. void xen_smp_send_call_function_single_ipi(int cpu);
  18. struct xen_common_irq {
  19. int irq;
  20. char *name;
  21. };
  22. #else /* CONFIG_SMP */
  23. static inline int xen_smp_intr_init(unsigned int cpu)
  24. {
  25. return 0;
  26. }
  27. static inline void xen_smp_intr_free(unsigned int cpu) {}
  28. static inline int xen_smp_intr_init_pv(unsigned int cpu)
  29. {
  30. return 0;
  31. }
  32. static inline void xen_smp_intr_free_pv(unsigned int cpu) {}
  33. #endif /* CONFIG_SMP */
  34. #endif