xref: /linux/arch/powerpc/include/asm/percpu.h (revision 9a95c5bfbf02a0a7f5983280fe284a0ff0836c34)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_POWERPC_PERCPU_H_
3 #define _ASM_POWERPC_PERCPU_H_
4 #ifdef __powerpc64__
5 
6 /*
7  * Same as asm-generic/percpu.h, except that we store the per cpu offset
8  * in the paca. Based on the x86-64 implementation.
9  */
10 
11 #ifdef CONFIG_SMP
12 
13 #define __my_cpu_offset local_paca->data_offset
14 
15 #endif /* CONFIG_SMP */
16 #endif /* __powerpc64__ */
17 
18 #if defined(CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK) && defined(CONFIG_SMP)
19 #include <linux/jump_label.h>
20 DECLARE_STATIC_KEY_FALSE(__percpu_first_chunk_is_paged);
21 
22 #define percpu_first_chunk_is_paged	\
23 		(static_key_enabled(&__percpu_first_chunk_is_paged.key))
24 #else
25 #define percpu_first_chunk_is_paged	false
26 #endif /* CONFIG_PPC64 && CONFIG_SMP */
27 
28 #include <asm-generic/percpu.h>
29 
30 #include <asm/paca.h>
31 
32 #endif /* _ASM_POWERPC_PERCPU_H_ */
33