percpu_64.h 647 B

12345678910111213141516171819202122232425262728
  1. #ifndef __ARCH_SPARC64_PERCPU__
  2. #define __ARCH_SPARC64_PERCPU__
  3. #include <linux/compiler.h>
  4. register unsigned long __local_per_cpu_offset asm("g5");
  5. #ifdef CONFIG_SMP
  6. extern void real_setup_per_cpu_areas(void);
  7. extern unsigned long __per_cpu_base;
  8. extern unsigned long __per_cpu_shift;
  9. #define __per_cpu_offset(__cpu) \
  10. (__per_cpu_base + ((unsigned long)(__cpu) << __per_cpu_shift))
  11. #define per_cpu_offset(x) (__per_cpu_offset(x))
  12. #define __my_cpu_offset __local_per_cpu_offset
  13. #else /* ! SMP */
  14. #define real_setup_per_cpu_areas() do { } while (0)
  15. #endif /* SMP */
  16. #include <asm-generic/percpu.h>
  17. #endif /* __ARCH_SPARC64_PERCPU__ */