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
8register 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