diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /arch/s390/kernel/entry64.S | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'arch/s390/kernel/entry64.S')
-rw-r--r-- | arch/s390/kernel/entry64.S | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S index 9aff1d449b6e..52106d53271c 100644 --- a/arch/s390/kernel/entry64.S +++ b/arch/s390/kernel/entry64.S | |||
@@ -9,11 +9,9 @@ | |||
9 | * Heiko Carstens <heiko.carstens@de.ibm.com> | 9 | * Heiko Carstens <heiko.carstens@de.ibm.com> |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <linux/sys.h> | ||
13 | #include <linux/linkage.h> | 12 | #include <linux/linkage.h> |
14 | #include <linux/init.h> | 13 | #include <linux/init.h> |
15 | #include <asm/cache.h> | 14 | #include <asm/cache.h> |
16 | #include <asm/lowcore.h> | ||
17 | #include <asm/errno.h> | 15 | #include <asm/errno.h> |
18 | #include <asm/ptrace.h> | 16 | #include <asm/ptrace.h> |
19 | #include <asm/thread_info.h> | 17 | #include <asm/thread_info.h> |
@@ -549,6 +547,7 @@ pgm_svcper: | |||
549 | mvc __THREAD_per+__PER_access_id(1,%r8),__LC_PER_ACCESS_ID | 547 | mvc __THREAD_per+__PER_access_id(1,%r8),__LC_PER_ACCESS_ID |
550 | oi __TI_flags+7(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP | 548 | oi __TI_flags+7(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP |
551 | TRACE_IRQS_ON | 549 | TRACE_IRQS_ON |
550 | lmg %r2,%r6,SP_R2(%r15) # load svc arguments | ||
552 | stosm __SF_EMPTY(%r15),0x03 # reenable interrupts | 551 | stosm __SF_EMPTY(%r15),0x03 # reenable interrupts |
553 | j sysc_do_svc | 552 | j sysc_do_svc |
554 | 553 | ||
@@ -947,7 +946,7 @@ cleanup_critical: | |||
947 | clc 8(8,%r12),BASED(cleanup_table_io_work_loop) | 946 | clc 8(8,%r12),BASED(cleanup_table_io_work_loop) |
948 | jl 0f | 947 | jl 0f |
949 | clc 8(8,%r12),BASED(cleanup_table_io_work_loop+8) | 948 | clc 8(8,%r12),BASED(cleanup_table_io_work_loop+8) |
950 | jl cleanup_io_return | 949 | jl cleanup_io_work_loop |
951 | 0: | 950 | 0: |
952 | br %r14 | 951 | br %r14 |
953 | 952 | ||
@@ -1022,6 +1021,12 @@ cleanup_sysc_leave_insn: | |||
1022 | 1021 | ||
1023 | cleanup_io_return: | 1022 | cleanup_io_return: |
1024 | mvc __LC_RETURN_PSW(8),0(%r12) | 1023 | mvc __LC_RETURN_PSW(8),0(%r12) |
1024 | mvc __LC_RETURN_PSW+8(8),BASED(cleanup_table_io_return) | ||
1025 | la %r12,__LC_RETURN_PSW | ||
1026 | br %r14 | ||
1027 | |||
1028 | cleanup_io_work_loop: | ||
1029 | mvc __LC_RETURN_PSW(8),0(%r12) | ||
1025 | mvc __LC_RETURN_PSW+8(8),BASED(cleanup_table_io_work_loop) | 1030 | mvc __LC_RETURN_PSW+8(8),BASED(cleanup_table_io_work_loop) |
1026 | la %r12,__LC_RETURN_PSW | 1031 | la %r12,__LC_RETURN_PSW |
1027 | br %r14 | 1032 | br %r14 |