162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef __ALPHA_PERCPU_H 362306a36Sopenharmony_ci#define __ALPHA_PERCPU_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci/* 662306a36Sopenharmony_ci * To calculate addresses of locally defined variables, GCC uses 762306a36Sopenharmony_ci * 32-bit displacement from the GP. Which doesn't work for per cpu 862306a36Sopenharmony_ci * variables in modules, as an offset to the kernel per cpu area is 962306a36Sopenharmony_ci * way above 4G. 1062306a36Sopenharmony_ci * 1162306a36Sopenharmony_ci * Always use weak definitions for percpu variables in modules. 1262306a36Sopenharmony_ci */ 1362306a36Sopenharmony_ci#if defined(MODULE) && defined(CONFIG_SMP) 1462306a36Sopenharmony_ci#define ARCH_NEEDS_WEAK_PER_CPU 1562306a36Sopenharmony_ci#endif 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci#include <asm-generic/percpu.h> 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci#endif /* __ALPHA_PERCPU_H */ 20