diff options
| -rw-r--r-- | arch/arm/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/avr32/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/cris/kernel/process.c | 5 | ||||
| -rw-r--r-- | arch/frv/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/h8300/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/ia64/kernel/init_task.c | 3 | ||||
| -rw-r--r-- | arch/m32r/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/m68k/kernel/process.c | 6 | ||||
| -rw-r--r-- | arch/m68knommu/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/microblaze/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/mips/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/mn10300/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/parisc/kernel/init_task.c | 4 | ||||
| -rw-r--r-- | arch/powerpc/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/powerpc/kernel/machine_kexec_64.c | 5 | ||||
| -rw-r--r-- | arch/s390/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/score/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/sh/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/sparc/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/um/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/x86/kernel/init_task.c | 5 | ||||
| -rw-r--r-- | arch/xtensa/kernel/init_task.c | 5 |
22 files changed, 46 insertions, 62 deletions
diff --git a/arch/arm/kernel/init_task.c b/arch/arm/kernel/init_task.c index 3f470866bb89..e7cbb50dc356 100644 --- a/arch/arm/kernel/init_task.c +++ b/arch/arm/kernel/init_task.c | |||
| @@ -24,9 +24,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
| 24 | * | 24 | * |
| 25 | * The things we do for performance.. | 25 | * The things we do for performance.. |
| 26 | */ | 26 | */ |
| 27 | union thread_union init_thread_union | 27 | union thread_union init_thread_union __init_task_data = |
| 28 | __attribute__((__section__(".data.init_task"))) = | 28 | { INIT_THREAD_INFO(init_task) }; |
| 29 | { INIT_THREAD_INFO(init_task) }; | ||
| 30 | 29 | ||
| 31 | /* | 30 | /* |
| 32 | * Initial task structure. | 31 | * Initial task structure. |
diff --git a/arch/avr32/kernel/init_task.c b/arch/avr32/kernel/init_task.c index 57ec9f2dcd95..6b2343e6fe33 100644 --- a/arch/avr32/kernel/init_task.c +++ b/arch/avr32/kernel/init_task.c | |||
| @@ -18,9 +18,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
| 18 | /* | 18 | /* |
| 19 | * Initial thread structure. Must be aligned on an 8192-byte boundary. | 19 | * Initial thread structure. Must be aligned on an 8192-byte boundary. |
| 20 | */ | 20 | */ |
| 21 | union thread_union init_thread_union | 21 | union thread_union init_thread_union __init_task_data = |
| 22 | __attribute__((__section__(".data.init_task"))) = | 22 | { INIT_THREAD_INFO(init_task) }; |
| 23 | { INIT_THREAD_INFO(init_task) }; | ||
| 24 | 23 | ||
| 25 | /* | 24 | /* |
| 26 | * Initial task structure. | 25 | * Initial task structure. |
diff --git a/arch/cris/kernel/process.c b/arch/cris/kernel/process.c index 51dcd04d2777..c99aeab7cef7 100644 --- a/arch/cris/kernel/process.c +++ b/arch/cris/kernel/process.c | |||
| @@ -45,9 +45,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
| 45 | * way process stacks are handled. This is done by having a special | 45 | * way process stacks are handled. This is done by having a special |
| 46 | * "init_task" linker map entry.. | 46 | * "init_task" linker map entry.. |
| 47 | */ | 47 | */ |
| 48 | union thread_union init_thread_union | 48 | union thread_union init_thread_union __init_task_data = |
| 49 | __attribute__((__section__(".data.init_task"))) = | 49 | { INIT_THREAD_INFO(init_task) }; |
| 50 | { INIT_THREAD_INFO(init_task) }; | ||
| 51 | 50 | ||
| 52 | /* | 51 | /* |
| 53 | * Initial task structure. | 52 | * Initial task structure. |
diff --git a/arch/frv/kernel/init_task.c b/arch/frv/kernel/init_task.c index 1d3df1d9495c..3c3e0b336a9d 100644 --- a/arch/frv/kernel/init_task.c +++ b/arch/frv/kernel/init_task.c | |||
| @@ -19,9 +19,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
| 19 | * way process stacks are handled. This is done by having a special | 19 | * way process stacks are handled. This is done by having a special |
| 20 | * "init_task" linker map entry.. | 20 | * "init_task" linker map entry.. |
| 21 | */ | 21 | */ |
| 22 | union thread_union init_thread_union | 22 | union thread_union init_thread_union __init_task_data = |
| 23 | __attribute__((__section__(".data.init_task"))) = | 23 | { INIT_THREAD_INFO(init_task) }; |
| 24 | { INIT_THREAD_INFO(init_task) }; | ||
| 25 | 24 | ||
| 26 | /* | 25 | /* |
| 27 | * Initial task structure. | 26 | * Initial task structure. |
diff --git a/arch/h8300/kernel/init_task.c b/arch/h8300/kernel/init_task.c index 089c65ed6eb3..54c1062ee80e 100644 --- a/arch/h8300/kernel/init_task.c +++ b/arch/h8300/kernel/init_task.c | |||
| @@ -31,7 +31,6 @@ EXPORT_SYMBOL(init_task); | |||
| 31 | * way process stacks are handled. This is done by having a special | 31 | * way process stacks are handled. This is done by having a special |
| 32 | * "init_task" linker map entry.. | 32 | * "init_task" linker map entry.. |
| 33 | */ | 33 | */ |
| 34 | union thread_union init_thread_union | 34 | union thread_union init_thread_union __init_task_data = |
| 35 | __attribute__((__section__(".data.init_task"))) = | 35 | { INIT_THREAD_INFO(init_task) }; |
| 36 | { INIT_THREAD_INFO(init_task) }; | ||
| 37 | 36 | ||
diff --git a/arch/ia64/kernel/init_task.c b/arch/ia64/kernel/init_task.c index c475fc281be7..e253ab8fcbc8 100644 --- a/arch/ia64/kernel/init_task.c +++ b/arch/ia64/kernel/init_task.c | |||
| @@ -33,7 +33,8 @@ union { | |||
| 33 | struct thread_info thread_info; | 33 | struct thread_info thread_info; |
| 34 | } s; | 34 | } s; |
| 35 | unsigned long stack[KERNEL_STACK_SIZE/sizeof (unsigned long)]; | 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 | .task = INIT_TASK(init_task_mem.s.task), | 38 | .task = INIT_TASK(init_task_mem.s.task), |
| 38 | .thread_info = INIT_THREAD_INFO(init_task_mem.s.task) | 39 | .thread_info = INIT_THREAD_INFO(init_task_mem.s.task) |
| 39 | }}; | 40 | }}; |
diff --git a/arch/m32r/kernel/init_task.c b/arch/m32r/kernel/init_task.c index fce57e5d3f91..6c42d5f8df50 100644 --- a/arch/m32r/kernel/init_task.c +++ b/arch/m32r/kernel/init_task.c | |||
| @@ -20,9 +20,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
| 20 | * way process stacks are handled. This is done by having a special | 20 | * way process stacks are handled. This is done by having a special |
| 21 | * "init_task" linker map entry.. | 21 | * "init_task" linker map entry.. |
| 22 | */ | 22 | */ |
| 23 | union thread_union init_thread_union | 23 | union thread_union init_thread_union __init_task_data = |
| 24 | __attribute__((__section__(".data.init_task"))) = | 24 | { INIT_THREAD_INFO(init_task) }; |
| 25 | { INIT_THREAD_INFO(init_task) }; | ||
| 26 | 25 | ||
| 27 | /* | 26 | /* |
| 28 | * Initial task structure. | 27 | * Initial task structure. |
diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c index 72bad65dba3a..41230c595a8e 100644 --- a/arch/m68k/kernel/process.c +++ b/arch/m68k/kernel/process.c | |||
| @@ -42,9 +42,9 @@ | |||
| 42 | */ | 42 | */ |
| 43 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 43 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 44 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 44 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 45 | union thread_union init_thread_union | 45 | union thread_union init_thread_union __init_task_data |
| 46 | __attribute__((section(".data.init_task"), aligned(THREAD_SIZE))) | 46 | __attribute__((aligned(THREAD_SIZE))) = |
| 47 | = { INIT_THREAD_INFO(init_task) }; | 47 | { INIT_THREAD_INFO(init_task) }; |
| 48 | 48 | ||
| 49 | /* initial task structure */ | 49 | /* initial task structure */ |
| 50 | struct task_struct init_task = INIT_TASK(init_task); | 50 | struct task_struct init_task = INIT_TASK(init_task); |
diff --git a/arch/m68knommu/kernel/init_task.c b/arch/m68knommu/kernel/init_task.c index 45e97a207fed..cbf9dc3cc51d 100644 --- a/arch/m68knommu/kernel/init_task.c +++ b/arch/m68knommu/kernel/init_task.c | |||
| @@ -31,7 +31,6 @@ EXPORT_SYMBOL(init_task); | |||
| 31 | * way process stacks are handled. This is done by having a special | 31 | * way process stacks are handled. This is done by having a special |
| 32 | * "init_task" linker map entry.. | 32 | * "init_task" linker map entry.. |
| 33 | */ | 33 | */ |
| 34 | union thread_union init_thread_union | 34 | union thread_union init_thread_union __init_task_data = |
| 35 | __attribute__((__section__(".data.init_task"))) = | 35 | { INIT_THREAD_INFO(init_task) }; |
| 36 | { INIT_THREAD_INFO(init_task) }; | ||
| 37 | 36 | ||
diff --git a/arch/microblaze/kernel/init_task.c b/arch/microblaze/kernel/init_task.c index 67da22579b62..b5d711f94ff8 100644 --- a/arch/microblaze/kernel/init_task.c +++ b/arch/microblaze/kernel/init_task.c | |||
| @@ -19,9 +19,8 @@ | |||
| 19 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 19 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 20 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 20 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 21 | 21 | ||
| 22 | union thread_union init_thread_union | 22 | union thread_union init_thread_union __init_task_data = |
| 23 | __attribute__((__section__(".data.init_task"))) = | 23 | { INIT_THREAD_INFO(init_task) }; |
| 24 | { INIT_THREAD_INFO(init_task) }; | ||
| 25 | 24 | ||
| 26 | struct task_struct init_task = INIT_TASK(init_task); | 25 | struct task_struct init_task = INIT_TASK(init_task); |
| 27 | EXPORT_SYMBOL(init_task); | 26 | EXPORT_SYMBOL(init_task); |
diff --git a/arch/mips/kernel/init_task.c b/arch/mips/kernel/init_task.c index 5b457a40c784..6d6ca5305895 100644 --- a/arch/mips/kernel/init_task.c +++ b/arch/mips/kernel/init_task.c | |||
| @@ -21,9 +21,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
| 21 | * | 21 | * |
| 22 | * The things we do for performance.. | 22 | * The things we do for performance.. |
| 23 | */ | 23 | */ |
| 24 | union thread_union init_thread_union | 24 | union thread_union init_thread_union __init_task_data |
| 25 | __attribute__((__section__(".data.init_task"), | 25 | __attribute__((__aligned__(THREAD_SIZE))) = |
| 26 | __aligned__(THREAD_SIZE))) = | ||
| 27 | { INIT_THREAD_INFO(init_task) }; | 26 | { INIT_THREAD_INFO(init_task) }; |
| 28 | 27 | ||
| 29 | /* | 28 | /* |
diff --git a/arch/mn10300/kernel/init_task.c b/arch/mn10300/kernel/init_task.c index 80d423b80af3..a481b043bea7 100644 --- a/arch/mn10300/kernel/init_task.c +++ b/arch/mn10300/kernel/init_task.c | |||
| @@ -27,9 +27,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
| 27 | * way process stacks are handled. This is done by having a special | 27 | * way process stacks are handled. This is done by having a special |
| 28 | * "init_task" linker map entry.. | 28 | * "init_task" linker map entry.. |
| 29 | */ | 29 | */ |
| 30 | union thread_union init_thread_union | 30 | union thread_union init_thread_union __init_task_data = |
| 31 | __attribute__((__section__(".data.init_task"))) = | 31 | { INIT_THREAD_INFO(init_task) }; |
| 32 | { INIT_THREAD_INFO(init_task) }; | ||
| 33 | 32 | ||
| 34 | /* | 33 | /* |
| 35 | * Initial task structure. | 34 | * Initial task structure. |
diff --git a/arch/parisc/kernel/init_task.c b/arch/parisc/kernel/init_task.c index 82974b20fc10..d020eae6525c 100644 --- a/arch/parisc/kernel/init_task.c +++ b/arch/parisc/kernel/init_task.c | |||
| @@ -43,8 +43,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
| 43 | * way process stacks are handled. This is done by having a special | 43 | * way process stacks are handled. This is done by having a special |
| 44 | * "init_task" linker map entry.. | 44 | * "init_task" linker map entry.. |
| 45 | */ | 45 | */ |
| 46 | union thread_union init_thread_union | 46 | union thread_union init_thread_union __init_task_data |
| 47 | __attribute__((aligned(128))) __attribute__((__section__(".data.init_task"))) = | 47 | __attribute__((aligned(128))) = |
| 48 | { INIT_THREAD_INFO(init_task) }; | 48 | { INIT_THREAD_INFO(init_task) }; |
| 49 | 49 | ||
| 50 | #if PT_NLEVELS == 3 | 50 | #if PT_NLEVELS == 3 |
diff --git a/arch/powerpc/kernel/init_task.c b/arch/powerpc/kernel/init_task.c index ffc4253fef55..2375b7eb1c76 100644 --- a/arch/powerpc/kernel/init_task.c +++ b/arch/powerpc/kernel/init_task.c | |||
| @@ -16,9 +16,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
| 16 | * way process stacks are handled. This is done by having a special | 16 | * way process stacks are handled. This is done by having a special |
| 17 | * "init_task" linker map entry.. | 17 | * "init_task" linker map entry.. |
| 18 | */ | 18 | */ |
| 19 | union thread_union init_thread_union | 19 | union thread_union init_thread_union __init_task_data = |
| 20 | __attribute__((__section__(".data.init_task"))) = | 20 | { INIT_THREAD_INFO(init_task) }; |
| 21 | { INIT_THREAD_INFO(init_task) }; | ||
| 22 | 21 | ||
| 23 | /* | 22 | /* |
| 24 | * Initial task structure. | 23 | * Initial task structure. |
diff --git a/arch/powerpc/kernel/machine_kexec_64.c b/arch/powerpc/kernel/machine_kexec_64.c index 49e705fcee6d..040bd1de8d99 100644 --- a/arch/powerpc/kernel/machine_kexec_64.c +++ b/arch/powerpc/kernel/machine_kexec_64.c | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | #include <linux/kexec.h> | 13 | #include <linux/kexec.h> |
| 14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
| 15 | #include <linux/thread_info.h> | 15 | #include <linux/thread_info.h> |
| 16 | #include <linux/init_task.h> | ||
| 16 | #include <linux/errno.h> | 17 | #include <linux/errno.h> |
| 17 | 18 | ||
| 18 | #include <asm/page.h> | 19 | #include <asm/page.h> |
| @@ -249,8 +250,8 @@ static void kexec_prepare_cpus(void) | |||
| 249 | * We could use a smaller stack if we don't care about anything using | 250 | * We could use a smaller stack if we don't care about anything using |
| 250 | * current, but that audit has not been performed. | 251 | * current, but that audit has not been performed. |
| 251 | */ | 252 | */ |
| 252 | static union thread_union kexec_stack | 253 | static union thread_union kexec_stack __init_task_data = |
| 253 | __attribute__((__section__(".data.init_task"))) = { }; | 254 | { }; |
| 254 | 255 | ||
| 255 | /* Our assembly helper, in kexec_stub.S */ | 256 | /* Our assembly helper, in kexec_stub.S */ |
| 256 | extern NORET_TYPE void kexec_sequence(void *newstack, unsigned long start, | 257 | extern NORET_TYPE void kexec_sequence(void *newstack, unsigned long start, |
diff --git a/arch/s390/kernel/init_task.c b/arch/s390/kernel/init_task.c index fe787f9e5f3f..4d1c9fb0b540 100644 --- a/arch/s390/kernel/init_task.c +++ b/arch/s390/kernel/init_task.c | |||
| @@ -25,9 +25,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
| 25 | * way process stacks are handled. This is done by having a special | 25 | * way process stacks are handled. This is done by having a special |
| 26 | * "init_task" linker map entry.. | 26 | * "init_task" linker map entry.. |
| 27 | */ | 27 | */ |
| 28 | union thread_union init_thread_union | 28 | union thread_union init_thread_union __init_task_data = |
| 29 | __attribute__((__section__(".data.init_task"))) = | 29 | { INIT_THREAD_INFO(init_task) }; |
| 30 | { INIT_THREAD_INFO(init_task) }; | ||
| 31 | 30 | ||
| 32 | /* | 31 | /* |
| 33 | * Initial task structure. | 32 | * Initial task structure. |
diff --git a/arch/score/kernel/init_task.c b/arch/score/kernel/init_task.c index ff952f6c63fd..baa03ee217d1 100644 --- a/arch/score/kernel/init_task.c +++ b/arch/score/kernel/init_task.c | |||
| @@ -34,9 +34,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
| 34 | * way process stacks are handled. This is done by having a special | 34 | * way process stacks are handled. This is done by having a special |
| 35 | * "init_task" linker map entry.. | 35 | * "init_task" linker map entry.. |
| 36 | */ | 36 | */ |
| 37 | union thread_union init_thread_union | 37 | union thread_union init_thread_union __init_task_data = |
| 38 | __attribute__((__section__(".data.init_task"), __aligned__(THREAD_SIZE))) = | 38 | { INIT_THREAD_INFO(init_task) }; |
| 39 | { INIT_THREAD_INFO(init_task) }; | ||
| 40 | 39 | ||
| 41 | /* | 40 | /* |
| 42 | * Initial task structure. | 41 | * Initial task structure. |
diff --git a/arch/sh/kernel/init_task.c b/arch/sh/kernel/init_task.c index 1719957c0a69..11f2ea556a6b 100644 --- a/arch/sh/kernel/init_task.c +++ b/arch/sh/kernel/init_task.c | |||
| @@ -17,9 +17,8 @@ struct pt_regs fake_swapper_regs; | |||
| 17 | * way process stacks are handled. This is done by having a special | 17 | * way process stacks are handled. This is done by having a special |
| 18 | * "init_task" linker map entry.. | 18 | * "init_task" linker map entry.. |
| 19 | */ | 19 | */ |
| 20 | union thread_union init_thread_union | 20 | union thread_union init_thread_union __init_task_data = |
| 21 | __attribute__((__section__(".data.init_task"))) = | 21 | { INIT_THREAD_INFO(init_task) }; |
| 22 | { INIT_THREAD_INFO(init_task) }; | ||
| 23 | 22 | ||
| 24 | /* | 23 | /* |
| 25 | * Initial task structure. | 24 | * Initial task structure. |
diff --git a/arch/sparc/kernel/init_task.c b/arch/sparc/kernel/init_task.c index 28125c5b3d3c..5fe3d65581f7 100644 --- a/arch/sparc/kernel/init_task.c +++ b/arch/sparc/kernel/init_task.c | |||
| @@ -18,6 +18,5 @@ EXPORT_SYMBOL(init_task); | |||
| 18 | * If this is not aligned on a 8k boundry, then you should change code | 18 | * If this is not aligned on a 8k boundry, then you should change code |
| 19 | * in etrap.S which assumes it. | 19 | * in etrap.S which assumes it. |
| 20 | */ | 20 | */ |
| 21 | union thread_union init_thread_union | 21 | union thread_union init_thread_union __init_task_data = |
| 22 | __attribute__((section (".data.init_task"))) | 22 | { INIT_THREAD_INFO(init_task) }; |
| 23 | = { INIT_THREAD_INFO(init_task) }; | ||
diff --git a/arch/um/kernel/init_task.c b/arch/um/kernel/init_task.c index b25121b537d8..8aa77b61a5ff 100644 --- a/arch/um/kernel/init_task.c +++ b/arch/um/kernel/init_task.c | |||
| @@ -30,9 +30,8 @@ EXPORT_SYMBOL(init_task); | |||
| 30 | * "init_task" linker map entry.. | 30 | * "init_task" linker map entry.. |
| 31 | */ | 31 | */ |
| 32 | 32 | ||
| 33 | union thread_union init_thread_union | 33 | union thread_union init_thread_union __init_task_data = |
| 34 | __attribute__((__section__(".data.init_task"))) = | 34 | { INIT_THREAD_INFO(init_task) }; |
| 35 | { INIT_THREAD_INFO(init_task) }; | ||
| 36 | 35 | ||
| 37 | union thread_union cpu0_irqstack | 36 | union thread_union cpu0_irqstack |
| 38 | __attribute__((__section__(".data.init_irqstack"))) = | 37 | __attribute__((__section__(".data.init_irqstack"))) = |
diff --git a/arch/x86/kernel/init_task.c b/arch/x86/kernel/init_task.c index 270ff83efc11..3a54dcb9cd0e 100644 --- a/arch/x86/kernel/init_task.c +++ b/arch/x86/kernel/init_task.c | |||
| @@ -20,9 +20,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
| 20 | * way process stacks are handled. This is done by having a special | 20 | * way process stacks are handled. This is done by having a special |
| 21 | * "init_task" linker map entry.. | 21 | * "init_task" linker map entry.. |
| 22 | */ | 22 | */ |
| 23 | union thread_union init_thread_union | 23 | union thread_union init_thread_union __init_task_data = |
| 24 | __attribute__((__section__(".data.init_task"))) = | 24 | { INIT_THREAD_INFO(init_task) }; |
| 25 | { INIT_THREAD_INFO(init_task) }; | ||
| 26 | 25 | ||
| 27 | /* | 26 | /* |
| 28 | * Initial task structure. | 27 | * Initial task structure. |
diff --git a/arch/xtensa/kernel/init_task.c b/arch/xtensa/kernel/init_task.c index c4302f0e4ba0..cd122fb7e48a 100644 --- a/arch/xtensa/kernel/init_task.c +++ b/arch/xtensa/kernel/init_task.c | |||
| @@ -23,9 +23,8 @@ | |||
| 23 | 23 | ||
| 24 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 24 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
| 25 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 25 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
| 26 | union thread_union init_thread_union | 26 | union thread_union init_thread_union __init_task_data = |
| 27 | __attribute__((__section__(".data.init_task"))) = | 27 | { INIT_THREAD_INFO(init_task) }; |
| 28 | { INIT_THREAD_INFO(init_task) }; | ||
| 29 | 28 | ||
| 30 | struct task_struct init_task = INIT_TASK(init_task); | 29 | struct task_struct init_task = INIT_TASK(init_task); |
| 31 | 30 | ||
