]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
s390: replace TIF_SIE with PF_VCPU
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 3 May 2012 13:50:44 +0000 (15:50 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 16 May 2012 12:42:39 +0000 (14:42 +0200)
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>
arch/s390/include/asm/thread_info.h
arch/s390/kernel/entry64.S
arch/s390/mm/fault.c

index a73038155e0d05fddf2ff3e0a155eb320dbee9e1..003b04edcff6636f1e5c23a04054dbd7f4de749d 100644 (file)
@@ -95,7 +95,6 @@ static inline struct thread_info *current_thread_info(void)
 #define TIF_SYSCALL_AUDIT      9       /* syscall auditing active */
 #define TIF_SECCOMP            10      /* secure computing */
 #define TIF_SYSCALL_TRACEPOINT 11      /* syscall tracepoint instrumentation */
-#define TIF_SIE                        12      /* guest execution active */
 #define TIF_POLLING_NRFLAG     16      /* true if poll_idle() is polling
                                           TIF_NEED_RESCHED */
 #define TIF_31BIT              17      /* 32bit process */
@@ -114,7 +113,6 @@ static inline struct thread_info *current_thread_info(void)
 #define _TIF_SYSCALL_AUDIT     (1<<TIF_SYSCALL_AUDIT)
 #define _TIF_SECCOMP           (1<<TIF_SECCOMP)
 #define _TIF_SYSCALL_TRACEPOINT        (1<<TIF_SYSCALL_TRACEPOINT)
-#define _TIF_SIE               (1<<TIF_SIE)
 #define _TIF_POLLING_NRFLAG    (1<<TIF_POLLING_NRFLAG)
 #define _TIF_31BIT             (1<<TIF_31BIT)
 #define _TIF_SINGLE_STEP       (1<<TIF_SINGLE_STEP)
index 570c29d9b31b6b6324d943a39729c13dccefdb8b..3a633af72bae935113965291eb943b5a4c303e98 100644 (file)
@@ -968,7 +968,6 @@ ENTRY(sie64a)
        xc      __SF_EMPTY+16(8,%r15),__SF_EMPTY+16(%r15) # host id == 0
        lmg     %r0,%r13,0(%r3)                 # load guest gprs 0-13
        lg      %r14,__LC_THREAD_INFO           # pointer thread_info struct
-       oi      __TI_flags+6(%r14),_TIF_SIE>>8
 sie_loop:
        lg      %r14,__LC_THREAD_INFO           # pointer thread_info struct
        tm      __TI_flags+7(%r14),_TIF_EXIT_SIE
@@ -986,7 +985,6 @@ sie_done:
        lg      %r14,__LC_THREAD_INFO           # pointer thread_info struct
 sie_exit:
        lctlg   %c1,%c1,__LC_USER_ASCE          # load primary asce
-       ni      __TI_flags+6(%r14),255-(_TIF_SIE>>8)
        lg      %r14,__SF_EMPTY+8(%r15)         # load guest register save area
        stmg    %r0,%r13,0(%r14)                # save guest gprs 0-13
        lmg     %r6,%r14,__SF_GPRS(%r15)        # restore kernel registers
@@ -995,7 +993,6 @@ sie_exit:
 sie_fault:
        lctlg   %c1,%c1,__LC_USER_ASCE          # load primary asce
        lg      %r14,__LC_THREAD_INFO           # pointer thread_info struct
-       ni      __TI_flags+6(%r14),255-(_TIF_SIE>>8)
        lg      %r14,__SF_EMPTY+8(%r15)         # load guest register save area
        stmg    %r0,%r13,0(%r14)                # save guest gprs 0-13
        lmg     %r6,%r14,__SF_GPRS(%r15)        # restore kernel registers
index 46ef3fd0663b5c1dfca0ca3b0d175c7a5d4fe990..b9aeaca26d3a27642ea075ebca8ee19ad9cfc810 100644 (file)
@@ -294,7 +294,7 @@ static inline int do_exception(struct pt_regs *regs, int access)
        down_read(&mm->mmap_sem);
 
 #ifdef CONFIG_PGSTE
-       if (test_tsk_thread_flag(current, TIF_SIE) && S390_lowcore.gmap) {
+       if ((current->flags & PF_VCPU) && S390_lowcore.gmap) {
                address = __gmap_fault(address,
                                     (struct gmap *) S390_lowcore.gmap);
                if (address == -EFAULT) {