smp.h 476 B

123456789101112131415161718192021222324252627282930
  1. #ifndef ASMARM_ARCH_SMP_H
  2. #define ASMARM_ARCH_SMP_H
  3. #include <asm/hardware/gic.h>
  4. #define hard_smp_processor_id() \
  5. ({ \
  6. unsigned int cpunum; \
  7. __asm__("mrc p15, 0, %0, c0, c0, 5" \
  8. : "=r" (cpunum)); \
  9. cpunum &= 0x0F; \
  10. })
  11. /*
  12. * We use IRQ1 as the IPI
  13. */
  14. static inline void smp_cross_call(cpumask_t callmap)
  15. {
  16. gic_raise_softirq(callmap, 1);
  17. }
  18. /*
  19. * Do nothing on MPcore.
  20. */
  21. static inline void smp_cross_call_done(cpumask_t callmap)
  22. {
  23. }
  24. #endif