diff options
Diffstat (limited to 'arch/s390/kernel/entry.S')
-rw-r--r-- | arch/s390/kernel/entry.S | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index 0dc2b6d0a1ec..526d3735ed29 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S | |||
@@ -43,6 +43,7 @@ _TIF_WORK_INT = (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME | _TIF_NEED_RESCHED | \ | |||
43 | _TIF_MCCK_PENDING) | 43 | _TIF_MCCK_PENDING) |
44 | _TIF_TRACE = (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | _TIF_SECCOMP | \ | 44 | _TIF_TRACE = (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | _TIF_SECCOMP | \ |
45 | _TIF_SYSCALL_TRACEPOINT) | 45 | _TIF_SYSCALL_TRACEPOINT) |
46 | _TIF_TRANSFER = (_TIF_MCCK_PENDING | _TIF_TLB_WAIT) | ||
46 | 47 | ||
47 | STACK_SHIFT = PAGE_SHIFT + THREAD_ORDER | 48 | STACK_SHIFT = PAGE_SHIFT + THREAD_ORDER |
48 | STACK_SIZE = 1 << STACK_SHIFT | 49 | STACK_SIZE = 1 << STACK_SHIFT |
@@ -159,10 +160,12 @@ ENTRY(__switch_to) | |||
159 | lctl %c4,%c4,__TASK_pid(%r3) # load pid to control reg. 4 | 160 | lctl %c4,%c4,__TASK_pid(%r3) # load pid to control reg. 4 |
160 | mvc __LC_CURRENT_PID(4,%r0),__TASK_pid(%r3) # store pid of next | 161 | mvc __LC_CURRENT_PID(4,%r0),__TASK_pid(%r3) # store pid of next |
161 | l %r15,__THREAD_ksp(%r3) # load kernel stack of next | 162 | l %r15,__THREAD_ksp(%r3) # load kernel stack of next |
162 | tm __TI_flags+3(%r4),_TIF_MCCK_PENDING # machine check pending? | 163 | lhi %r6,_TIF_TRANSFER # transfer TIF bits |
164 | n %r6,__TI_flags(%r4) # isolate TIF bits | ||
163 | jz 0f | 165 | jz 0f |
164 | ni __TI_flags+3(%r4),255-_TIF_MCCK_PENDING # clear flag in prev | 166 | o %r6,__TI_flags(%r5) # set TIF bits of next |
165 | oi __TI_flags+3(%r5),_TIF_MCCK_PENDING # set it in next | 167 | st %r6,__TI_flags(%r5) |
168 | ni __TI_flags+3(%r4),255-_TIF_TRANSFER # clear TIF bits of prev | ||
166 | 0: lm %r6,%r15,__SF_GPRS(%r15) # load gprs of next task | 169 | 0: lm %r6,%r15,__SF_GPRS(%r15) # load gprs of next task |
167 | br %r14 | 170 | br %r14 |
168 | 171 | ||