smp.h 544 B

1234567891011121314151617181920212223242526272829
  1. /* linux/arch/arm/mach-s5pv310/include/mach/smp.h
  2. *
  3. * Cloned from arch/arm/mach-realview/include/mach/smp.h
  4. */
  5. #ifndef ASM_ARCH_SMP_H
  6. #define ASM_ARCH_SMP_H __FILE__
  7. #include <asm/hardware/gic.h>
  8. extern void __iomem *gic_cpu_base_addr;
  9. #define hard_smp_processor_id() \
  10. ({ \
  11. unsigned int cpunum; \
  12. __asm__("mrc p15, 0, %0, c0, c0, 5" \
  13. : "=r" (cpunum)); \
  14. cpunum &= 0x03; \
  15. })
  16. /*
  17. * We use IRQ1 as the IPI
  18. */
  19. static inline void smp_cross_call(const struct cpumask *mask)
  20. {
  21. gic_raise_softirq(mask, 1);
  22. }
  23. #endif