aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/head31.S
diff options
context:
space:
mode:
authorJan Glauber <jang@linux.vnet.ibm.com>2011-07-24 04:48:19 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2011-07-24 04:48:21 -0400
commit144d634a21caff1d54cb4bb0d073774e88130045 (patch)
tree9eea288248189b899ee85ba346cf344e57dd402a /arch/s390/kernel/head31.S
parent603d1a50acf252621a3598618b018b8123aaba64 (diff)
[S390] fix s390 assembler code alignments
The alignment is missing for various global symbols in s390 assembly code. With a recent gcc and an instruction like stgrl this can lead to a specification exception if the instruction uses such a mis-aligned address. Specify the alignment explicitely and while add it define __ALIGN for s390 and use the ENTRY define to save some lines of code. Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/head31.S')
-rw-r--r--arch/s390/kernel/head31.S11
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/s390/kernel/head31.S b/arch/s390/kernel/head31.S
index b8f8dc12610..dd0d1e272be 100644
--- a/arch/s390/kernel/head31.S
+++ b/arch/s390/kernel/head31.S
@@ -11,13 +11,13 @@
11 */ 11 */
12 12
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/linkage.h>
14#include <asm/asm-offsets.h> 15#include <asm/asm-offsets.h>
15#include <asm/thread_info.h> 16#include <asm/thread_info.h>
16#include <asm/page.h> 17#include <asm/page.h>
17 18
18__HEAD 19__HEAD
19 .globl startup_continue 20ENTRY(startup_continue)
20startup_continue:
21 basr %r13,0 # get base 21 basr %r13,0 # get base
22.LPG1: 22.LPG1:
23 23
@@ -78,8 +78,7 @@ startup_continue:
78.Lbase_cc: 78.Lbase_cc:
79 .long sched_clock_base_cc 79 .long sched_clock_base_cc
80 80
81 .globl _ehead 81ENTRY(_ehead)
82_ehead:
83 82
84#ifdef CONFIG_SHARED_KERNEL 83#ifdef CONFIG_SHARED_KERNEL
85 .org 0x100000 - 0x11000 # head.o ends at 0x11000 84 .org 0x100000 - 0x11000 # head.o ends at 0x11000
@@ -88,8 +87,8 @@ _ehead:
88# 87#
89# startup-code, running in absolute addressing mode 88# startup-code, running in absolute addressing mode
90# 89#
91 .globl _stext 90ENTRY(_stext)
92_stext: basr %r13,0 # get base 91 basr %r13,0 # get base
93.LPG3: 92.LPG3:
94# check control registers 93# check control registers
95 stctl %c0,%c15,0(%r15) 94 stctl %c0,%c15,0(%r15)