smp.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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_send_reschedule(int cpu);
  15. void xen_smp_send_call_function_ipi(const struct cpumask *mask);
  16. void xen_smp_send_call_function_single_ipi(int cpu);
  17. struct xen_common_irq {
  18. int irq;
  19. char *name;
  20. };
  21. #else /* CONFIG_SMP */
  22. static inline int xen_smp_intr_init(unsigned int cpu)
  23. {
  24. return 0;
  25. }
  26. static inline void xen_smp_intr_free(unsigned int cpu) {}
  27. static inline int xen_smp_intr_init_pv(unsigned int cpu)
  28. {
  29. return 0;
  30. }
  31. static inline void xen_smp_intr_free_pv(unsigned int cpu) {}
  32. #endif /* CONFIG_SMP */
  33. #endif