diff options
Diffstat (limited to 'arch/x86/include/asm/percpu.h')
| -rw-r--r-- | arch/x86/include/asm/percpu.h | 17 | 
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h index d9b8e3f7f42..1104afaba52 100644 --- a/arch/x86/include/asm/percpu.h +++ b/arch/x86/include/asm/percpu.h @@ -551,6 +551,12 @@ DECLARE_PER_CPU(unsigned long, this_cpu_off);  				{ [0 ... NR_CPUS-1] = _initvalue };	\  	__typeof__(_type) *_name##_early_ptr __refdata = _name##_early_map +#define DEFINE_EARLY_PER_CPU_READ_MOSTLY(_type, _name, _initvalue)	\ +	DEFINE_PER_CPU_READ_MOSTLY(_type, _name) = _initvalue;		\ +	__typeof__(_type) _name##_early_map[NR_CPUS] __initdata =	\ +				{ [0 ... NR_CPUS-1] = _initvalue };	\ +	__typeof__(_type) *_name##_early_ptr __refdata = _name##_early_map +  #define EXPORT_EARLY_PER_CPU_SYMBOL(_name)			\  	EXPORT_PER_CPU_SYMBOL(_name) @@ -559,6 +565,11 @@ DECLARE_PER_CPU(unsigned long, this_cpu_off);  	extern __typeof__(_type) *_name##_early_ptr;		\  	extern __typeof__(_type)  _name##_early_map[] +#define DECLARE_EARLY_PER_CPU_READ_MOSTLY(_type, _name)		\ +	DECLARE_PER_CPU_READ_MOSTLY(_type, _name);		\ +	extern __typeof__(_type) *_name##_early_ptr;		\ +	extern __typeof__(_type)  _name##_early_map[] +  #define	early_per_cpu_ptr(_name) (_name##_early_ptr)  #define	early_per_cpu_map(_name, _idx) (_name##_early_map[_idx])  #define	early_per_cpu(_name, _cpu) 				\ @@ -570,12 +581,18 @@ DECLARE_PER_CPU(unsigned long, this_cpu_off);  #define	DEFINE_EARLY_PER_CPU(_type, _name, _initvalue)		\  	DEFINE_PER_CPU(_type, _name) = _initvalue +#define DEFINE_EARLY_PER_CPU_READ_MOSTLY(_type, _name, _initvalue)	\ +	DEFINE_PER_CPU_READ_MOSTLY(_type, _name) = _initvalue +  #define EXPORT_EARLY_PER_CPU_SYMBOL(_name)			\  	EXPORT_PER_CPU_SYMBOL(_name)  #define DECLARE_EARLY_PER_CPU(_type, _name)			\  	DECLARE_PER_CPU(_type, _name) +#define DECLARE_EARLY_PER_CPU_READ_MOSTLY(_type, _name)		\ +	DECLARE_PER_CPU_READ_MOSTLY(_type, _name) +  #define	early_per_cpu(_name, _cpu) per_cpu(_name, _cpu)  #define	early_per_cpu_ptr(_name) NULL  /* no early_per_cpu_map() */  |