diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2012-05-03 09:50:44 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2012-05-16 08:42:39 -0400 |
commit | 5e8010cb50d3de7202641c0088c211f7c9593ebc (patch) | |
tree | 56e43d01cb815ccac549af9c3c4a1dfd82fb5dee /arch/s390 | |
parent | 161beff8f40d83bb144b52f34cf966357162cdf1 (diff) |
s390: replace TIF_SIE with PF_VCPU
Replace the check for TIF_SIE in the fault handler by a check for PF_VCPU.
With the last user of TIF_SIE gone we can now remove the bit.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/include/asm/thread_info.h | 2 | ||||
-rw-r--r-- | arch/s390/kernel/entry64.S | 3 | ||||
-rw-r--r-- | arch/s390/mm/fault.c | 2 |
3 files changed, 1 insertions, 6 deletions
diff --git a/arch/s390/include/asm/thread_info.h b/arch/s390/include/asm/thread_info.h index a73038155e0d..003b04edcff6 100644 --- a/arch/s390/include/asm/thread_info.h +++ b/arch/s390/include/asm/thread_info.h | |||
@@ -95,7 +95,6 @@ static inline struct thread_info *current_thread_info(void) | |||
95 | #define TIF_SYSCALL_AUDIT 9 /* syscall auditing active */ | 95 | #define TIF_SYSCALL_AUDIT 9 /* syscall auditing active */ |
96 | #define TIF_SECCOMP 10 /* secure computing */ | 96 | #define TIF_SECCOMP 10 /* secure computing */ |
97 | #define TIF_SYSCALL_TRACEPOINT 11 /* syscall tracepoint instrumentation */ | 97 | #define TIF_SYSCALL_TRACEPOINT 11 /* syscall tracepoint instrumentation */ |
98 | #define TIF_SIE 12 /* guest execution active */ | ||
99 | #define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling | 98 | #define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling |
100 | TIF_NEED_RESCHED */ | 99 | TIF_NEED_RESCHED */ |
101 | #define TIF_31BIT 17 /* 32bit process */ | 100 | #define TIF_31BIT 17 /* 32bit process */ |
@@ -114,7 +113,6 @@ static inline struct thread_info *current_thread_info(void) | |||
114 | #define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT) | 113 | #define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT) |
115 | #define _TIF_SECCOMP (1<<TIF_SECCOMP) | 114 | #define _TIF_SECCOMP (1<<TIF_SECCOMP) |
116 | #define _TIF_SYSCALL_TRACEPOINT (1<<TIF_SYSCALL_TRACEPOINT) | 115 | #define _TIF_SYSCALL_TRACEPOINT (1<<TIF_SYSCALL_TRACEPOINT) |
117 | #define _TIF_SIE (1<<TIF_SIE) | ||
118 | #define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG) | 116 | #define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG) |
119 | #define _TIF_31BIT (1<<TIF_31BIT) | 117 | #define _TIF_31BIT (1<<TIF_31BIT) |
120 | #define _TIF_SINGLE_STEP (1<<TIF_SINGLE_STEP) | 118 | #define _TIF_SINGLE_STEP (1<<TIF_SINGLE_STEP) |
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S index 570c29d9b31b..3a633af72bae 100644 --- a/arch/s390/kernel/entry64.S +++ b/arch/s390/kernel/entry64.S | |||
@@ -968,7 +968,6 @@ ENTRY(sie64a) | |||
968 | xc __SF_EMPTY+16(8,%r15),__SF_EMPTY+16(%r15) # host id == 0 | 968 | xc __SF_EMPTY+16(8,%r15),__SF_EMPTY+16(%r15) # host id == 0 |
969 | lmg %r0,%r13,0(%r3) # load guest gprs 0-13 | 969 | lmg %r0,%r13,0(%r3) # load guest gprs 0-13 |
970 | lg %r14,__LC_THREAD_INFO # pointer thread_info struct | 970 | lg %r14,__LC_THREAD_INFO # pointer thread_info struct |
971 | oi __TI_flags+6(%r14),_TIF_SIE>>8 | ||
972 | sie_loop: | 971 | sie_loop: |
973 | lg %r14,__LC_THREAD_INFO # pointer thread_info struct | 972 | lg %r14,__LC_THREAD_INFO # pointer thread_info struct |
974 | tm __TI_flags+7(%r14),_TIF_EXIT_SIE | 973 | tm __TI_flags+7(%r14),_TIF_EXIT_SIE |
@@ -986,7 +985,6 @@ sie_done: | |||
986 | lg %r14,__LC_THREAD_INFO # pointer thread_info struct | 985 | lg %r14,__LC_THREAD_INFO # pointer thread_info struct |
987 | sie_exit: | 986 | sie_exit: |
988 | lctlg %c1,%c1,__LC_USER_ASCE # load primary asce | 987 | lctlg %c1,%c1,__LC_USER_ASCE # load primary asce |
989 | ni __TI_flags+6(%r14),255-(_TIF_SIE>>8) | ||
990 | lg %r14,__SF_EMPTY+8(%r15) # load guest register save area | 988 | lg %r14,__SF_EMPTY+8(%r15) # load guest register save area |
991 | stmg %r0,%r13,0(%r14) # save guest gprs 0-13 | 989 | stmg %r0,%r13,0(%r14) # save guest gprs 0-13 |
992 | lmg %r6,%r14,__SF_GPRS(%r15) # restore kernel registers | 990 | lmg %r6,%r14,__SF_GPRS(%r15) # restore kernel registers |
@@ -995,7 +993,6 @@ sie_exit: | |||
995 | sie_fault: | 993 | sie_fault: |
996 | lctlg %c1,%c1,__LC_USER_ASCE # load primary asce | 994 | lctlg %c1,%c1,__LC_USER_ASCE # load primary asce |
997 | lg %r14,__LC_THREAD_INFO # pointer thread_info struct | 995 | lg %r14,__LC_THREAD_INFO # pointer thread_info struct |
998 | ni __TI_flags+6(%r14),255-(_TIF_SIE>>8) | ||
999 | lg %r14,__SF_EMPTY+8(%r15) # load guest register save area | 996 | lg %r14,__SF_EMPTY+8(%r15) # load guest register save area |
1000 | stmg %r0,%r13,0(%r14) # save guest gprs 0-13 | 997 | stmg %r0,%r13,0(%r14) # save guest gprs 0-13 |
1001 | lmg %r6,%r14,__SF_GPRS(%r15) # restore kernel registers | 998 | lmg %r6,%r14,__SF_GPRS(%r15) # restore kernel registers |
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index 46ef3fd0663b..b9aeaca26d3a 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c | |||
@@ -294,7 +294,7 @@ static inline int do_exception(struct pt_regs *regs, int access) | |||
294 | down_read(&mm->mmap_sem); | 294 | down_read(&mm->mmap_sem); |
295 | 295 | ||
296 | #ifdef CONFIG_PGSTE | 296 | #ifdef CONFIG_PGSTE |
297 | if (test_tsk_thread_flag(current, TIF_SIE) && S390_lowcore.gmap) { | 297 | if ((current->flags & PF_VCPU) && S390_lowcore.gmap) { |
298 | address = __gmap_fault(address, | 298 | address = __gmap_fault(address, |
299 | (struct gmap *) S390_lowcore.gmap); | 299 | (struct gmap *) S390_lowcore.gmap); |
300 | if (address == -EFAULT) { | 300 | if (address == -EFAULT) { |