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