Merge tag 'for-5.15/parisc' of git://git.kernel.org/pub/scm/linux/kernel/git/deller...
[linux-2.6-microblaze.git] / arch / sparc / include / asm / percpu_64.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ARCH_SPARC64_PERCPU__
3 #define __ARCH_SPARC64_PERCPU__
4
5 #include <linux/compiler.h>
6
7 #ifndef BUILD_VDSO
8 register unsigned long __local_per_cpu_offset asm("g5");
9 #endif
10
11 #ifdef CONFIG_SMP
12
13 #include <asm/trap_block.h>
14
15 #define __per_cpu_offset(__cpu) \
16         (trap_block[(__cpu)].__per_cpu_base)
17 #define per_cpu_offset(x) (__per_cpu_offset(x))
18
19 #define __my_cpu_offset __local_per_cpu_offset
20
21 #else /* ! SMP */
22
23 #endif  /* SMP */
24
25 #include <asm-generic/percpu.h>
26
27 #endif /* __ARCH_SPARC64_PERCPU__ */