aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/entry.S
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2009-06-12 04:26:26 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-06-12 04:27:31 -0400
commitbcf5cef7db869dd3b0ec55ad99641e66b2f5cf02 (patch)
tree56119ef1804f60122aba7b780768938936d180a1 /arch/s390/kernel/entry.S
parent7757591ab4a36314a258e181dbf0994415c288c2 (diff)
[S390] secure computing arch backend
Enable secure computing on s390 as well. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/entry.S')
-rw-r--r--arch/s390/kernel/entry.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S
index f3e275934213..db25cdc21e12 100644
--- a/arch/s390/kernel/entry.S
+++ b/arch/s390/kernel/entry.S
@@ -53,6 +53,7 @@ _TIF_WORK_SVC = (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME | _TIF_NEED_RESCHED | \
53 _TIF_MCCK_PENDING | _TIF_RESTART_SVC | _TIF_SINGLE_STEP ) 53 _TIF_MCCK_PENDING | _TIF_RESTART_SVC | _TIF_SINGLE_STEP )
54_TIF_WORK_INT = (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME | _TIF_NEED_RESCHED | \ 54_TIF_WORK_INT = (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME | _TIF_NEED_RESCHED | \
55 _TIF_MCCK_PENDING) 55 _TIF_MCCK_PENDING)
56_TIF_SYSCALL = (_TIF_SYSCALL_TRACE>>8 | _TIF_SYSCALL_AUDIT>>8 | _TIF_SECCOMP>>8)
56 57
57STACK_SHIFT = PAGE_SHIFT + THREAD_ORDER 58STACK_SHIFT = PAGE_SHIFT + THREAD_ORDER
58STACK_SIZE = 1 << STACK_SHIFT 59STACK_SIZE = 1 << STACK_SHIFT
@@ -265,7 +266,7 @@ sysc_do_restart:
265 sth %r7,SP_SVCNR(%r15) 266 sth %r7,SP_SVCNR(%r15)
266 sll %r7,2 # svc number *4 267 sll %r7,2 # svc number *4
267 l %r8,BASED(.Lsysc_table) 268 l %r8,BASED(.Lsysc_table)
268 tm __TI_flags+3(%r9),(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT) 269 tm __TI_flags+2(%r9),_TIF_SYSCALL
269 l %r8,0(%r7,%r8) # get system call addr. 270 l %r8,0(%r7,%r8) # get system call addr.
270 bnz BASED(sysc_tracesys) 271 bnz BASED(sysc_tracesys)
271 basr %r14,%r8 # call sys_xxxx 272 basr %r14,%r8 # call sys_xxxx
@@ -405,7 +406,7 @@ sysc_tracego:
405 basr %r14,%r8 # call sys_xxx 406 basr %r14,%r8 # call sys_xxx
406 st %r2,SP_R2(%r15) # store return value 407 st %r2,SP_R2(%r15) # store return value
407sysc_tracenogo: 408sysc_tracenogo:
408 tm __TI_flags+3(%r9),(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT) 409 tm __TI_flags+2(%r9),_TIF_SYSCALL
409 bz BASED(sysc_return) 410 bz BASED(sysc_return)
410 l %r1,BASED(.Ltrace_exit) 411 l %r1,BASED(.Ltrace_exit)
411 la %r2,SP_PTREGS(%r15) # load pt_regs 412 la %r2,SP_PTREGS(%r15) # load pt_regs