aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/swsusp_asm64.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/swsusp_asm64.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/swsusp_asm64.S')
-rw-r--r--arch/s390/kernel/swsusp_asm64.S8
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/s390/kernel/swsusp_asm64.S b/arch/s390/kernel/swsusp_asm64.S
index 1f066e46e83e..51bcdb50a230 100644
--- a/arch/s390/kernel/swsusp_asm64.S
+++ b/arch/s390/kernel/swsusp_asm64.S
@@ -7,6 +7,7 @@
7 * Michael Holzheu <holzheu@linux.vnet.ibm.com> 7 * Michael Holzheu <holzheu@linux.vnet.ibm.com>
8 */ 8 */
9 9
10#include <linux/linkage.h>
10#include <asm/page.h> 11#include <asm/page.h>
11#include <asm/ptrace.h> 12#include <asm/ptrace.h>
12#include <asm/thread_info.h> 13#include <asm/thread_info.h>
@@ -22,9 +23,7 @@
22 * This function runs with disabled interrupts. 23 * This function runs with disabled interrupts.
23 */ 24 */
24 .section .text 25 .section .text
25 .align 4 26ENTRY(swsusp_arch_suspend)
26 .globl swsusp_arch_suspend
27swsusp_arch_suspend:
28 stmg %r6,%r15,__SF_GPRS(%r15) 27 stmg %r6,%r15,__SF_GPRS(%r15)
29 lgr %r1,%r15 28 lgr %r1,%r15
30 aghi %r15,-STACK_FRAME_OVERHEAD 29 aghi %r15,-STACK_FRAME_OVERHEAD
@@ -112,8 +111,7 @@ swsusp_arch_suspend:
112 * Then we return to the function that called swsusp_arch_suspend(). 111 * Then we return to the function that called swsusp_arch_suspend().
113 * swsusp_arch_resume() runs with disabled interrupts. 112 * swsusp_arch_resume() runs with disabled interrupts.
114 */ 113 */
115 .globl swsusp_arch_resume 114ENTRY(swsusp_arch_resume)
116swsusp_arch_resume:
117 stmg %r6,%r15,__SF_GPRS(%r15) 115 stmg %r6,%r15,__SF_GPRS(%r15)
118 lgr %r1,%r15 116 lgr %r1,%r15
119 aghi %r15,-STACK_FRAME_OVERHEAD 117 aghi %r15,-STACK_FRAME_OVERHEAD