powerpc: Remove NULL task struct pointer checks in FP and vector code
authorAnton Blanchard <anton@samba.org>
Thu, 29 Oct 2015 00:44:00 +0000 (11:44 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 1 Dec 2015 02:52:25 +0000 (13:52 +1100)
We used to allow giveup_*() to be called with a NULL task struct
pointer. Now those cases are handled in the caller we can remove
the checks. We can also remove giveup_altivec_notask() which is also
unused.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/switch_to.h
arch/powerpc/kernel/fpu.S
arch/powerpc/kernel/head_fsl_booke.S
arch/powerpc/kernel/vector.S

index bd1d933..042aaf0 100644 (file)
@@ -38,7 +38,6 @@ static inline void giveup_fpu(struct task_struct *t) { }
 #ifdef CONFIG_ALTIVEC
 extern void flush_altivec_to_thread(struct task_struct *);
 extern void giveup_altivec(struct task_struct *);
-extern void giveup_altivec_notask(void);
 #else
 static inline void flush_altivec_to_thread(struct task_struct *t)
 {
index 50d2352..71bdce2 100644 (file)
@@ -173,8 +173,6 @@ END_FTR_SECTION_IFSET(CPU_FTR_VSX)
        MTMSRD(r5)                      /* enable use of fpu now */
        SYNC_601
        isync
-       PPC_LCMPI       0,r3,0
-       beqlr-                          /* if no previous owner, done */
        addi    r3,r3,THREAD            /* want THREAD of task */
        PPC_LL  r6,THREAD_FPSAVEAREA(r3)
        PPC_LL  r5,PT_REGS(r3)
index ec936ab..d6980bb 100644 (file)
@@ -992,8 +992,6 @@ _GLOBAL(giveup_spe)
        oris    r5,r5,MSR_SPE@h
        mtmsr   r5                      /* enable use of SPE now */
        isync
-       cmpi    0,r3,0
-       beqlr-                          /* if no previous owner, done */
        addi    r3,r3,THREAD            /* want THREAD of task */
        lwz     r5,PT_REGS(r3)
        cmpi    0,r5,0
index 1757c0c..b31528c 100644 (file)
@@ -111,16 +111,6 @@ _GLOBAL(load_up_altivec)
        /* restore registers and return */
        blr
 
-_GLOBAL(giveup_altivec_notask)
-       mfmsr   r3
-       andis.  r4,r3,MSR_VEC@h
-       bnelr                           /* Already enabled? */
-       oris    r3,r3,MSR_VEC@h
-       SYNC
-       MTMSRD(r3)                      /* enable use of VMX now */
-       isync
-       blr
-
 /*
  * giveup_altivec(tsk)
  * Disable VMX for the task given as the argument,
@@ -133,8 +123,6 @@ _GLOBAL(giveup_altivec)
        SYNC
        MTMSRD(r5)                      /* enable use of VMX now */
        isync
-       PPC_LCMPI       0,r3,0
-       beqlr                           /* if no previous owner, done */
        addi    r3,r3,THREAD            /* want THREAD of task */
        PPC_LL  r7,THREAD_VRSAVEAREA(r3)
        PPC_LL  r5,PT_REGS(r3)
@@ -203,8 +191,6 @@ _GLOBAL(__giveup_vsx)
        mtmsrd  r5                      /* enable use of VSX now */
        isync
 
-       cmpdi   0,r3,0
-       beqlr-                          /* if no previous owner, done */
        addi    r3,r3,THREAD            /* want THREAD of task */
        ld      r5,PT_REGS(r3)
        cmpdi   0,r5,0