2005-04-16 16:20:36 -06:00
|
|
|
#ifndef __ALPHA_PERCPU_H
|
|
|
|
#define __ALPHA_PERCPU_H
|
2009-05-12 14:19:39 -06:00
|
|
|
|
2008-06-20 17:25:39 -06:00
|
|
|
/*
|
2009-06-24 00:13:52 -06:00
|
|
|
* To calculate addresses of locally defined variables, GCC uses
|
|
|
|
* 32-bit displacement from the GP. Which doesn't work for per cpu
|
|
|
|
* variables in modules, as an offset to the kernel per cpu area is
|
|
|
|
* way above 4G.
|
2008-06-20 17:25:39 -06:00
|
|
|
*
|
2009-06-24 00:13:52 -06:00
|
|
|
* Always use weak definitions for percpu variables in modules.
|
2008-06-20 17:25:39 -06:00
|
|
|
*/
|
2009-06-24 00:13:52 -06:00
|
|
|
#if defined(MODULE) && defined(CONFIG_SMP)
|
|
|
|
#define ARCH_NEEDS_WEAK_PER_CPU
|
2009-05-12 14:19:39 -06:00
|
|
|
#endif
|
|
|
|
|
2009-06-24 00:13:52 -06:00
|
|
|
#include <asm-generic/percpu.h>
|
2005-04-16 16:20:36 -06:00
|
|
|
|
|
|
|
#endif /* __ALPHA_PERCPU_H */
|