smp.h 707 B

123456789101112131415161718192021222324252627282930
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * SMP definitions for the Hexagon architecture
  4. *
  5. * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
  6. */
  7. #ifndef __ASM_SMP_H
  8. #define __ASM_SMP_H
  9. #include <linux/cpumask.h>
  10. #define raw_smp_processor_id() (current_thread_info()->cpu)
  11. enum ipi_message_type {
  12. IPI_NOP = 0,
  13. IPI_RESCHEDULE = 1,
  14. IPI_CALL_FUNC,
  15. IPI_CPU_STOP,
  16. IPI_TIMER,
  17. };
  18. extern void send_ipi(const struct cpumask *cpumask, enum ipi_message_type msg);
  19. extern void smp_start_cpus(void);
  20. extern void arch_send_call_function_single_ipi(int cpu);
  21. extern void arch_send_call_function_ipi_mask(const struct cpumask *mask);
  22. extern void smp_vm_unmask_irq(void *info);
  23. #endif