aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/sclp.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/sclp.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/sclp.S')
-rw-r--r--arch/s390/kernel/sclp.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/kernel/sclp.S b/arch/s390/kernel/sclp.S
index 2e82fdd89320..95792d846bb6 100644
--- a/arch/s390/kernel/sclp.S
+++ b/arch/s390/kernel/sclp.S
@@ -8,6 +8,8 @@
8 * 8 *
9 */ 9 */
10 10
11#include <linux/linkage.h>
12
11LC_EXT_NEW_PSW = 0x58 # addr of ext int handler 13LC_EXT_NEW_PSW = 0x58 # addr of ext int handler
12LC_EXT_NEW_PSW_64 = 0x1b0 # addr of ext int handler 64 bit 14LC_EXT_NEW_PSW_64 = 0x1b0 # addr of ext int handler 64 bit
13LC_EXT_INT_PARAM = 0x80 # addr of ext int parameter 15LC_EXT_INT_PARAM = 0x80 # addr of ext int parameter
@@ -260,8 +262,7 @@ _sclp_print:
260# R2 = 0 on success, 1 on failure 262# R2 = 0 on success, 1 on failure
261# 263#
262 264
263 .globl _sclp_print_early 265ENTRY(_sclp_print_early)
264_sclp_print_early:
265 stm %r6,%r15,24(%r15) # save registers 266 stm %r6,%r15,24(%r15) # save registers
266 ahi %r15,-96 # create stack frame 267 ahi %r15,-96 # create stack frame
267#ifdef CONFIG_64BIT 268#ifdef CONFIG_64BIT