Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Use new __init_task_data macro in arch init_task.c files.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Tim Abbott <tabbott@ksplice.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

authored by

Joe Perches and committed by
Sam Ravnborg
d200c922 42f29a25

+46 -62
+2 -3
arch/arm/kernel/init_task.c
··· 24 24 * 25 25 * The things we do for performance.. 26 26 */ 27 - union thread_union init_thread_union 28 - __attribute__((__section__(".data.init_task"))) = 29 - { INIT_THREAD_INFO(init_task) }; 27 + union thread_union init_thread_union __init_task_data = 28 + { INIT_THREAD_INFO(init_task) }; 30 29 31 30 /* 32 31 * Initial task structure.
+2 -3
arch/avr32/kernel/init_task.c
··· 18 18 /* 19 19 * Initial thread structure. Must be aligned on an 8192-byte boundary. 20 20 */ 21 - union thread_union init_thread_union 22 - __attribute__((__section__(".data.init_task"))) = 23 - { INIT_THREAD_INFO(init_task) }; 21 + union thread_union init_thread_union __init_task_data = 22 + { INIT_THREAD_INFO(init_task) }; 24 23 25 24 /* 26 25 * Initial task structure.
+2 -3
arch/cris/kernel/process.c
··· 45 45 * way process stacks are handled. This is done by having a special 46 46 * "init_task" linker map entry.. 47 47 */ 48 - union thread_union init_thread_union 49 - __attribute__((__section__(".data.init_task"))) = 50 - { INIT_THREAD_INFO(init_task) }; 48 + union thread_union init_thread_union __init_task_data = 49 + { INIT_THREAD_INFO(init_task) }; 51 50 52 51 /* 53 52 * Initial task structure.
+2 -3
arch/frv/kernel/init_task.c
··· 19 19 * way process stacks are handled. This is done by having a special 20 20 * "init_task" linker map entry.. 21 21 */ 22 - union thread_union init_thread_union 23 - __attribute__((__section__(".data.init_task"))) = 24 - { INIT_THREAD_INFO(init_task) }; 22 + union thread_union init_thread_union __init_task_data = 23 + { INIT_THREAD_INFO(init_task) }; 25 24 26 25 /* 27 26 * Initial task structure.
+2 -3
arch/h8300/kernel/init_task.c
··· 31 31 * way process stacks are handled. This is done by having a special 32 32 * "init_task" linker map entry.. 33 33 */ 34 - union thread_union init_thread_union 35 - __attribute__((__section__(".data.init_task"))) = 36 - { INIT_THREAD_INFO(init_task) }; 34 + union thread_union init_thread_union __init_task_data = 35 + { INIT_THREAD_INFO(init_task) }; 37 36
+2 -1
arch/ia64/kernel/init_task.c
··· 33 33 struct thread_info thread_info; 34 34 } s; 35 35 unsigned long stack[KERNEL_STACK_SIZE/sizeof (unsigned long)]; 36 - } init_task_mem asm ("init_task") __attribute__((section(".data.init_task"))) = {{ 36 + } init_task_mem asm ("init_task") __init_task_data = 37 + {{ 37 38 .task = INIT_TASK(init_task_mem.s.task), 38 39 .thread_info = INIT_THREAD_INFO(init_task_mem.s.task) 39 40 }};
+2 -3
arch/m32r/kernel/init_task.c
··· 20 20 * way process stacks are handled. This is done by having a special 21 21 * "init_task" linker map entry.. 22 22 */ 23 - union thread_union init_thread_union 24 - __attribute__((__section__(".data.init_task"))) = 25 - { INIT_THREAD_INFO(init_task) }; 23 + union thread_union init_thread_union __init_task_data = 24 + { INIT_THREAD_INFO(init_task) }; 26 25 27 26 /* 28 27 * Initial task structure.
+3 -3
arch/m68k/kernel/process.c
··· 42 42 */ 43 43 static struct signal_struct init_signals = INIT_SIGNALS(init_signals); 44 44 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); 45 - union thread_union init_thread_union 46 - __attribute__((section(".data.init_task"), aligned(THREAD_SIZE))) 47 - = { INIT_THREAD_INFO(init_task) }; 45 + union thread_union init_thread_union __init_task_data 46 + __attribute__((aligned(THREAD_SIZE))) = 47 + { INIT_THREAD_INFO(init_task) }; 48 48 49 49 /* initial task structure */ 50 50 struct task_struct init_task = INIT_TASK(init_task);
+2 -3
arch/m68knommu/kernel/init_task.c
··· 31 31 * way process stacks are handled. This is done by having a special 32 32 * "init_task" linker map entry.. 33 33 */ 34 - union thread_union init_thread_union 35 - __attribute__((__section__(".data.init_task"))) = 36 - { INIT_THREAD_INFO(init_task) }; 34 + union thread_union init_thread_union __init_task_data = 35 + { INIT_THREAD_INFO(init_task) }; 37 36
+2 -3
arch/microblaze/kernel/init_task.c
··· 19 19 static struct signal_struct init_signals = INIT_SIGNALS(init_signals); 20 20 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); 21 21 22 - union thread_union init_thread_union 23 - __attribute__((__section__(".data.init_task"))) = 24 - { INIT_THREAD_INFO(init_task) }; 22 + union thread_union init_thread_union __init_task_data = 23 + { INIT_THREAD_INFO(init_task) }; 25 24 26 25 struct task_struct init_task = INIT_TASK(init_task); 27 26 EXPORT_SYMBOL(init_task);
+2 -3
arch/mips/kernel/init_task.c
··· 21 21 * 22 22 * The things we do for performance.. 23 23 */ 24 - union thread_union init_thread_union 25 - __attribute__((__section__(".data.init_task"), 26 - __aligned__(THREAD_SIZE))) = 24 + union thread_union init_thread_union __init_task_data 25 + __attribute__((__aligned__(THREAD_SIZE))) = 27 26 { INIT_THREAD_INFO(init_task) }; 28 27 29 28 /*
+2 -3
arch/mn10300/kernel/init_task.c
··· 27 27 * way process stacks are handled. This is done by having a special 28 28 * "init_task" linker map entry.. 29 29 */ 30 - union thread_union init_thread_union 31 - __attribute__((__section__(".data.init_task"))) = 32 - { INIT_THREAD_INFO(init_task) }; 30 + union thread_union init_thread_union __init_task_data = 31 + { INIT_THREAD_INFO(init_task) }; 33 32 34 33 /* 35 34 * Initial task structure.
+2 -2
arch/parisc/kernel/init_task.c
··· 43 43 * way process stacks are handled. This is done by having a special 44 44 * "init_task" linker map entry.. 45 45 */ 46 - union thread_union init_thread_union 47 - __attribute__((aligned(128))) __attribute__((__section__(".data.init_task"))) = 46 + union thread_union init_thread_union __init_task_data 47 + __attribute__((aligned(128))) = 48 48 { INIT_THREAD_INFO(init_task) }; 49 49 50 50 #if PT_NLEVELS == 3
+2 -3
arch/powerpc/kernel/init_task.c
··· 16 16 * way process stacks are handled. This is done by having a special 17 17 * "init_task" linker map entry.. 18 18 */ 19 - union thread_union init_thread_union 20 - __attribute__((__section__(".data.init_task"))) = 21 - { INIT_THREAD_INFO(init_task) }; 19 + union thread_union init_thread_union __init_task_data = 20 + { INIT_THREAD_INFO(init_task) }; 22 21 23 22 /* 24 23 * Initial task structure.
+3 -2
arch/powerpc/kernel/machine_kexec_64.c
··· 13 13 #include <linux/kexec.h> 14 14 #include <linux/smp.h> 15 15 #include <linux/thread_info.h> 16 + #include <linux/init_task.h> 16 17 #include <linux/errno.h> 17 18 18 19 #include <asm/page.h> ··· 250 249 * We could use a smaller stack if we don't care about anything using 251 250 * current, but that audit has not been performed. 252 251 */ 253 - static union thread_union kexec_stack 254 - __attribute__((__section__(".data.init_task"))) = { }; 252 + static union thread_union kexec_stack __init_task_data = 253 + { }; 255 254 256 255 /* Our assembly helper, in kexec_stub.S */ 257 256 extern NORET_TYPE void kexec_sequence(void *newstack, unsigned long start,
+2 -3
arch/s390/kernel/init_task.c
··· 25 25 * way process stacks are handled. This is done by having a special 26 26 * "init_task" linker map entry.. 27 27 */ 28 - union thread_union init_thread_union 29 - __attribute__((__section__(".data.init_task"))) = 30 - { INIT_THREAD_INFO(init_task) }; 28 + union thread_union init_thread_union __init_task_data = 29 + { INIT_THREAD_INFO(init_task) }; 31 30 32 31 /* 33 32 * Initial task structure.
+2 -3
arch/score/kernel/init_task.c
··· 34 34 * way process stacks are handled. This is done by having a special 35 35 * "init_task" linker map entry.. 36 36 */ 37 - union thread_union init_thread_union 38 - __attribute__((__section__(".data.init_task"), __aligned__(THREAD_SIZE))) = 39 - { INIT_THREAD_INFO(init_task) }; 37 + union thread_union init_thread_union __init_task_data = 38 + { INIT_THREAD_INFO(init_task) }; 40 39 41 40 /* 42 41 * Initial task structure.
+2 -3
arch/sh/kernel/init_task.c
··· 17 17 * way process stacks are handled. This is done by having a special 18 18 * "init_task" linker map entry.. 19 19 */ 20 - union thread_union init_thread_union 21 - __attribute__((__section__(".data.init_task"))) = 22 - { INIT_THREAD_INFO(init_task) }; 20 + union thread_union init_thread_union __init_task_data = 21 + { INIT_THREAD_INFO(init_task) }; 23 22 24 23 /* 25 24 * Initial task structure.
+2 -3
arch/sparc/kernel/init_task.c
··· 18 18 * If this is not aligned on a 8k boundry, then you should change code 19 19 * in etrap.S which assumes it. 20 20 */ 21 - union thread_union init_thread_union 22 - __attribute__((section (".data.init_task"))) 23 - = { INIT_THREAD_INFO(init_task) }; 21 + union thread_union init_thread_union __init_task_data = 22 + { INIT_THREAD_INFO(init_task) };
+2 -3
arch/um/kernel/init_task.c
··· 30 30 * "init_task" linker map entry.. 31 31 */ 32 32 33 - union thread_union init_thread_union 34 - __attribute__((__section__(".data.init_task"))) = 35 - { INIT_THREAD_INFO(init_task) }; 33 + union thread_union init_thread_union __init_task_data = 34 + { INIT_THREAD_INFO(init_task) }; 36 35 37 36 union thread_union cpu0_irqstack 38 37 __attribute__((__section__(".data.init_irqstack"))) =
+2 -3
arch/x86/kernel/init_task.c
··· 20 20 * way process stacks are handled. This is done by having a special 21 21 * "init_task" linker map entry.. 22 22 */ 23 - union thread_union init_thread_union 24 - __attribute__((__section__(".data.init_task"))) = 25 - { INIT_THREAD_INFO(init_task) }; 23 + union thread_union init_thread_union __init_task_data = 24 + { INIT_THREAD_INFO(init_task) }; 26 25 27 26 /* 28 27 * Initial task structure.
+2 -3
arch/xtensa/kernel/init_task.c
··· 23 23 24 24 static struct signal_struct init_signals = INIT_SIGNALS(init_signals); 25 25 static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); 26 - union thread_union init_thread_union 27 - __attribute__((__section__(".data.init_task"))) = 28 - { INIT_THREAD_INFO(init_task) }; 26 + union thread_union init_thread_union __init_task_data = 27 + { INIT_THREAD_INFO(init_task) }; 29 28 30 29 struct task_struct init_task = INIT_TASK(init_task); 31 30