1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2a439fe51SSam Ravnborg #ifndef __ARCH_SPARC64_PERCPU__ 3a439fe51SSam Ravnborg #define __ARCH_SPARC64_PERCPU__ 4a439fe51SSam Ravnborg 5a439fe51SSam Ravnborg #include <linux/compiler.h> 6a439fe51SSam Ravnborg 748017e54SPeter Zijlstra #ifndef BUILD_VDSO 8a439fe51SSam Ravnborg register unsigned long __local_per_cpu_offset asm("g5"); 948017e54SPeter Zijlstra #endif 10a439fe51SSam Ravnborg 11a439fe51SSam Ravnborg #ifdef CONFIG_SMP 12a439fe51SSam Ravnborg 135a5488d3SDavid S. Miller #include <asm/trap_block.h> 145a5488d3SDavid S. Miller 15a439fe51SSam Ravnborg #define __per_cpu_offset(__cpu) \ 165a5488d3SDavid S. Miller (trap_block[(__cpu)].__per_cpu_base) 17a439fe51SSam Ravnborg #define per_cpu_offset(x) (__per_cpu_offset(x)) 18a439fe51SSam Ravnborg 19a439fe51SSam Ravnborg #define __my_cpu_offset __local_per_cpu_offset 20a439fe51SSam Ravnborg 21a439fe51SSam Ravnborg #else /* ! SMP */ 22a439fe51SSam Ravnborg 23a439fe51SSam Ravnborg #endif /* SMP */ 24a439fe51SSam Ravnborg 25a439fe51SSam Ravnborg #include <asm-generic/percpu.h> 26a439fe51SSam Ravnborg 27a439fe51SSam Ravnborg #endif /* __ARCH_SPARC64_PERCPU__ */ 28