diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-06-12 04:26:26 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-06-12 04:27:31 -0400 |
commit | bcf5cef7db869dd3b0ec55ad99641e66b2f5cf02 (patch) | |
tree | 56119ef1804f60122aba7b780768938936d180a1 /arch/s390/kernel/entry.S | |
parent | 7757591ab4a36314a258e181dbf0994415c288c2 (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.S | 5 |
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 | ||
57 | STACK_SHIFT = PAGE_SHIFT + THREAD_ORDER | 58 | STACK_SHIFT = PAGE_SHIFT + THREAD_ORDER |
58 | STACK_SIZE = 1 << STACK_SHIFT | 59 | STACK_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 |
407 | sysc_tracenogo: | 408 | sysc_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 |