diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-11-27 11:05:58 +0100 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-11-27 11:06:58 +0100 |
commit | 0778dc3a624b48cf80072b04405cacd1ad4079be (patch) | |
tree | 823b35f2c4947e32f4fa622c64904490f3f6f096 /arch | |
parent | 2944a5c971c12766e2438ea407ec3567949c32b7 (diff) | |
download | op-kernel-dev-0778dc3a624b48cf80072b04405cacd1ad4079be.zip op-kernel-dev-0778dc3a624b48cf80072b04405cacd1ad4079be.tar.gz |
[S390] Fix alignment of initial kernel stack.
We need an alignment of 16384 bytes for the initial kernel stack if
the kernel is configured for 16384 bytes stacks but the linker script
currently guarantees only an alignment of 8192 bytes.
So fix this and simply use THREAD_SIZE as alignment value which will
always do the right thing.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/s390/kernel/init_task.c | 2 | ||||
-rw-r--r-- | arch/s390/kernel/vmlinux.lds.S | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/kernel/init_task.c b/arch/s390/kernel/init_task.c index 7ad0039..e807168 100644 --- a/arch/s390/kernel/init_task.c +++ b/arch/s390/kernel/init_task.c @@ -26,7 +26,7 @@ EXPORT_SYMBOL(init_mm); /* * Initial thread structure. * - * We need to make sure that this is 8192-byte aligned due to the + * We need to make sure that this is THREAD_SIZE aligned due to the * way process stacks are handled. This is done by having a special * "init_task" linker map entry.. */ diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S index 607bd67..d796d05 100644 --- a/arch/s390/kernel/vmlinux.lds.S +++ b/arch/s390/kernel/vmlinux.lds.S @@ -2,6 +2,7 @@ * Written by Martin Schwidefsky (schwidefsky@de.ibm.com) */ +#include <asm/thread_info.h> #include <asm/page.h> #include <asm-generic/vmlinux.lds.h> @@ -86,7 +87,7 @@ SECTIONS } _edata = .; /* End of data section */ - . = ALIGN(2 * PAGE_SIZE); /* init_task */ + . = ALIGN(THREAD_SIZE); /* init_task */ .data.init_task : { *(.data.init_task) } |