aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2012-05-03 09:50:44 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2012-05-16 08:42:39 -0400
commit5e8010cb50d3de7202641c0088c211f7c9593ebc (patch)
tree56e43d01cb815ccac549af9c3c4a1dfd82fb5dee /arch/s390
parent161beff8f40d83bb144b52f34cf966357162cdf1 (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.h2
-rw-r--r--arch/s390/kernel/entry64.S3
-rw-r--r--arch/s390/mm/fault.c2
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
972sie_loop: 971sie_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
987sie_exit: 986sie_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:
995sie_fault: 993sie_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) {