Commit d200c922 authored by Joe Perches's avatar Joe Perches Committed by Sam Ravnborg

Use new __init_task_data macro in arch init_task.c files.

Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarTim Abbott <tabbott@ksplice.com>
Acked-by: default avatarPaul Mundt <lethal@linux-sh.org>
Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
parent 42f29a25
...@@ -24,9 +24,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); ...@@ -24,9 +24,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
* *
* The things we do for performance.. * The things we do for performance..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
/* /*
* Initial task structure. * Initial task structure.
......
...@@ -18,9 +18,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); ...@@ -18,9 +18,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
/* /*
* Initial thread structure. Must be aligned on an 8192-byte boundary. * Initial thread structure. Must be aligned on an 8192-byte boundary.
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
/* /*
* Initial task structure. * Initial task structure.
......
...@@ -45,9 +45,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); ...@@ -45,9 +45,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
* way process stacks are handled. This is done by having a special * way process stacks are handled. This is done by having a special
* "init_task" linker map entry.. * "init_task" linker map entry..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
/* /*
* Initial task structure. * Initial task structure.
......
...@@ -19,9 +19,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); ...@@ -19,9 +19,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
* way process stacks are handled. This is done by having a special * way process stacks are handled. This is done by having a special
* "init_task" linker map entry.. * "init_task" linker map entry..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
/* /*
* Initial task structure. * Initial task structure.
......
...@@ -31,7 +31,6 @@ EXPORT_SYMBOL(init_task); ...@@ -31,7 +31,6 @@ EXPORT_SYMBOL(init_task);
* way process stacks are handled. This is done by having a special * way process stacks are handled. This is done by having a special
* "init_task" linker map entry.. * "init_task" linker map entry..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
...@@ -33,7 +33,8 @@ union { ...@@ -33,7 +33,8 @@ union {
struct thread_info thread_info; struct thread_info thread_info;
} s; } s;
unsigned long stack[KERNEL_STACK_SIZE/sizeof (unsigned long)]; unsigned long stack[KERNEL_STACK_SIZE/sizeof (unsigned long)];
} init_task_mem asm ("init_task") __attribute__((section(".data.init_task"))) = {{ } init_task_mem asm ("init_task") __init_task_data =
{{
.task = INIT_TASK(init_task_mem.s.task), .task = INIT_TASK(init_task_mem.s.task),
.thread_info = INIT_THREAD_INFO(init_task_mem.s.task) .thread_info = INIT_THREAD_INFO(init_task_mem.s.task)
}}; }};
......
...@@ -20,9 +20,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); ...@@ -20,9 +20,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
* way process stacks are handled. This is done by having a special * way process stacks are handled. This is done by having a special
* "init_task" linker map entry.. * "init_task" linker map entry..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
/* /*
* Initial task structure. * Initial task structure.
......
...@@ -42,9 +42,9 @@ ...@@ -42,9 +42,9 @@
*/ */
static struct signal_struct init_signals = INIT_SIGNALS(init_signals); static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
union thread_union init_thread_union union thread_union init_thread_union __init_task_data
__attribute__((section(".data.init_task"), aligned(THREAD_SIZE))) __attribute__((aligned(THREAD_SIZE))) =
= { INIT_THREAD_INFO(init_task) }; { INIT_THREAD_INFO(init_task) };
/* initial task structure */ /* initial task structure */
struct task_struct init_task = INIT_TASK(init_task); struct task_struct init_task = INIT_TASK(init_task);
......
...@@ -31,7 +31,6 @@ EXPORT_SYMBOL(init_task); ...@@ -31,7 +31,6 @@ EXPORT_SYMBOL(init_task);
* way process stacks are handled. This is done by having a special * way process stacks are handled. This is done by having a special
* "init_task" linker map entry.. * "init_task" linker map entry..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
...@@ -19,9 +19,8 @@ ...@@ -19,9 +19,8 @@
static struct signal_struct init_signals = INIT_SIGNALS(init_signals); static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
struct task_struct init_task = INIT_TASK(init_task); struct task_struct init_task = INIT_TASK(init_task);
EXPORT_SYMBOL(init_task); EXPORT_SYMBOL(init_task);
...@@ -21,9 +21,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); ...@@ -21,9 +21,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
* *
* The things we do for performance.. * The things we do for performance..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data
__attribute__((__section__(".data.init_task"), __attribute__((__aligned__(THREAD_SIZE))) =
__aligned__(THREAD_SIZE))) =
{ INIT_THREAD_INFO(init_task) }; { INIT_THREAD_INFO(init_task) };
/* /*
......
...@@ -27,9 +27,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); ...@@ -27,9 +27,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
* way process stacks are handled. This is done by having a special * way process stacks are handled. This is done by having a special
* "init_task" linker map entry.. * "init_task" linker map entry..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
/* /*
* Initial task structure. * Initial task structure.
......
...@@ -43,8 +43,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); ...@@ -43,8 +43,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
* way process stacks are handled. This is done by having a special * way process stacks are handled. This is done by having a special
* "init_task" linker map entry.. * "init_task" linker map entry..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data
__attribute__((aligned(128))) __attribute__((__section__(".data.init_task"))) = __attribute__((aligned(128))) =
{ INIT_THREAD_INFO(init_task) }; { INIT_THREAD_INFO(init_task) };
#if PT_NLEVELS == 3 #if PT_NLEVELS == 3
......
...@@ -16,9 +16,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); ...@@ -16,9 +16,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
* way process stacks are handled. This is done by having a special * way process stacks are handled. This is done by having a special
* "init_task" linker map entry.. * "init_task" linker map entry..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
/* /*
* Initial task structure. * Initial task structure.
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <linux/kexec.h> #include <linux/kexec.h>
#include <linux/smp.h> #include <linux/smp.h>
#include <linux/thread_info.h> #include <linux/thread_info.h>
#include <linux/init_task.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <asm/page.h> #include <asm/page.h>
...@@ -249,8 +250,8 @@ static void kexec_prepare_cpus(void) ...@@ -249,8 +250,8 @@ static void kexec_prepare_cpus(void)
* We could use a smaller stack if we don't care about anything using * We could use a smaller stack if we don't care about anything using
* current, but that audit has not been performed. * current, but that audit has not been performed.
*/ */
static union thread_union kexec_stack static union thread_union kexec_stack __init_task_data =
__attribute__((__section__(".data.init_task"))) = { }; { };
/* Our assembly helper, in kexec_stub.S */ /* Our assembly helper, in kexec_stub.S */
extern NORET_TYPE void kexec_sequence(void *newstack, unsigned long start, extern NORET_TYPE void kexec_sequence(void *newstack, unsigned long start,
......
...@@ -25,9 +25,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); ...@@ -25,9 +25,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
* way process stacks are handled. This is done by having a special * way process stacks are handled. This is done by having a special
* "init_task" linker map entry.. * "init_task" linker map entry..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
/* /*
* Initial task structure. * Initial task structure.
......
...@@ -34,9 +34,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); ...@@ -34,9 +34,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
* way process stacks are handled. This is done by having a special * way process stacks are handled. This is done by having a special
* "init_task" linker map entry.. * "init_task" linker map entry..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"), __aligned__(THREAD_SIZE))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
/* /*
* Initial task structure. * Initial task structure.
......
...@@ -17,9 +17,8 @@ struct pt_regs fake_swapper_regs; ...@@ -17,9 +17,8 @@ struct pt_regs fake_swapper_regs;
* way process stacks are handled. This is done by having a special * way process stacks are handled. This is done by having a special
* "init_task" linker map entry.. * "init_task" linker map entry..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
/* /*
* Initial task structure. * Initial task structure.
......
...@@ -18,6 +18,5 @@ EXPORT_SYMBOL(init_task); ...@@ -18,6 +18,5 @@ EXPORT_SYMBOL(init_task);
* If this is not aligned on a 8k boundry, then you should change code * If this is not aligned on a 8k boundry, then you should change code
* in etrap.S which assumes it. * in etrap.S which assumes it.
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((section (".data.init_task"))) { INIT_THREAD_INFO(init_task) };
= { INIT_THREAD_INFO(init_task) };
...@@ -30,9 +30,8 @@ EXPORT_SYMBOL(init_task); ...@@ -30,9 +30,8 @@ EXPORT_SYMBOL(init_task);
* "init_task" linker map entry.. * "init_task" linker map entry..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
union thread_union cpu0_irqstack union thread_union cpu0_irqstack
__attribute__((__section__(".data.init_irqstack"))) = __attribute__((__section__(".data.init_irqstack"))) =
......
...@@ -20,9 +20,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); ...@@ -20,9 +20,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
* way process stacks are handled. This is done by having a special * way process stacks are handled. This is done by having a special
* "init_task" linker map entry.. * "init_task" linker map entry..
*/ */
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
/* /*
* Initial task structure. * Initial task structure.
......
...@@ -23,9 +23,8 @@ ...@@ -23,9 +23,8 @@
static struct signal_struct init_signals = INIT_SIGNALS(init_signals); static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
union thread_union init_thread_union union thread_union init_thread_union __init_task_data =
__attribute__((__section__(".data.init_task"))) = { INIT_THREAD_INFO(init_task) };
{ INIT_THREAD_INFO(init_task) };
struct task_struct init_task = INIT_TASK(init_task); struct task_struct init_task = INIT_TASK(init_task);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment