xref: /linux/arch/sparc/include/asm/percpu_64.h (revision 0526b56cbc3c489642bd6a5fe4b718dea7ef0ee8)
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__ */
28