diff options
Diffstat (limited to 'arch/s390/kernel/entry64.S')
| -rw-r--r-- | arch/s390/kernel/entry64.S | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S index 384e609b4711..e09dbe5f2901 100644 --- a/arch/s390/kernel/entry64.S +++ b/arch/s390/kernel/entry64.S | |||
| @@ -48,6 +48,7 @@ _TIF_WORK_INT = (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME | _TIF_NEED_RESCHED | \ | |||
| 48 | _TIF_MCCK_PENDING) | 48 | _TIF_MCCK_PENDING) |
| 49 | _TIF_TRACE = (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | _TIF_SECCOMP | \ | 49 | _TIF_TRACE = (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | _TIF_SECCOMP | \ |
| 50 | _TIF_SYSCALL_TRACEPOINT) | 50 | _TIF_SYSCALL_TRACEPOINT) |
| 51 | _TIF_TRANSFER = (_TIF_MCCK_PENDING | _TIF_TLB_WAIT) | ||
| 51 | 52 | ||
| 52 | #define BASED(name) name-system_call(%r13) | 53 | #define BASED(name) name-system_call(%r13) |
| 53 | 54 | ||
| @@ -189,10 +190,12 @@ ENTRY(__switch_to) | |||
| 189 | lctl %c4,%c4,__TASK_pid(%r3) # load pid to control reg. 4 | 190 | lctl %c4,%c4,__TASK_pid(%r3) # load pid to control reg. 4 |
| 190 | mvc __LC_CURRENT_PID+4(4,%r0),__TASK_pid(%r3) # store pid of next | 191 | mvc __LC_CURRENT_PID+4(4,%r0),__TASK_pid(%r3) # store pid of next |
| 191 | lg %r15,__THREAD_ksp(%r3) # load kernel stack of next | 192 | lg %r15,__THREAD_ksp(%r3) # load kernel stack of next |
| 192 | tm __TI_flags+7(%r4),_TIF_MCCK_PENDING # machine check pending? | 193 | llill %r6,_TIF_TRANSFER # transfer TIF bits |
| 194 | ng %r6,__TI_flags(%r4) # isolate TIF bits | ||
| 193 | jz 0f | 195 | jz 0f |
| 194 | ni __TI_flags+7(%r4),255-_TIF_MCCK_PENDING # clear flag in prev | 196 | og %r6,__TI_flags(%r5) # set TIF bits of next |
| 195 | oi __TI_flags+7(%r5),_TIF_MCCK_PENDING # set it in next | 197 | stg %r6,__TI_flags(%r5) |
| 198 | ni __TI_flags+7(%r4),255-_TIF_TRANSFER # clear TIF bits of prev | ||
| 196 | 0: lmg %r6,%r15,__SF_GPRS(%r15) # load gprs of next task | 199 | 0: lmg %r6,%r15,__SF_GPRS(%r15) # load gprs of next task |
| 197 | br %r14 | 200 | br %r14 |
| 198 | 201 | ||
