]> Git Repo - linux.git/commitdiff
Merge git://git.kernel.org:/pub/scm/linux/kernel/git/davem/sparc
authorLinus Torvalds <[email protected]>
Tue, 9 Mar 2021 06:01:58 +0000 (22:01 -0800)
committerLinus Torvalds <[email protected]>
Tue, 9 Mar 2021 06:01:58 +0000 (22:01 -0800)
Pull sparc updates from David Miller:
 "Just some more random bits from Al, including a conversion over to
  generic extables"

* git://git.kernel.org:/pub/scm/linux/kernel/git/davem/sparc:
  sparc32: take ->thread.flags out
  sparc32: get rid of fake_swapper_regs
  sparc64: get rid of fake_swapper_regs
  sparc32: switch to generic extables
  sparc32: switch copy_user.S away from range exception table entries
  sparc32: get rid of range exception table entries in checksum_32.S
  sparc32: switch __bzero() away from range exception table entries
  sparc32: kill lookup_fault()
  sparc32: don't bother with lookup_fault() in __bzero()

1  2 
arch/sparc/kernel/process_32.c

index b91e88058e0ce39675eb095c9c4876e4ea44ad97,4dc6ee72f74c7714bb0906bfaa387bdcd394ee61..3b9794978e5bc97c3cc4c536dc43e2dacb6d5a58
@@@ -216,16 -216,6 +216,6 @@@ void flush_thread(void
                clear_thread_flag(TIF_USEDFPU);
  #endif
        }
-       /* This task is no longer a kernel thread. */
-       if (current->thread.flags & SPARC_FLAG_KTHREAD) {
-               current->thread.flags &= ~SPARC_FLAG_KTHREAD;
-               /* We must fixup kregs as well. */
-               /* XXX This was not fixed for ti for a while, worked. Unused? */
-               current->thread.kregs = (struct pt_regs *)
-                   (task_stack_page(current) + (THREAD_SIZE - TRACEREG_SZ));
-       }
  }
  
  static inline struct sparc_stackf __user *
@@@ -309,11 -299,10 +299,10 @@@ int copy_thread(unsigned long clone_fla
        ti->ksp = (unsigned long) new_stack;
        p->thread.kregs = childregs;
  
 -      if (unlikely(p->flags & PF_KTHREAD)) {
 +      if (unlikely(p->flags & (PF_KTHREAD | PF_IO_WORKER))) {
                extern int nwindows;
                unsigned long psr;
                memset(new_stack, 0, STACKFRAME_SZ + TRACEREG_SZ);
-               p->thread.flags |= SPARC_FLAG_KTHREAD;
                p->thread.current_ds = KERNEL_DS;
                ti->kpc = (((unsigned long) ret_from_kernel_thread) - 0x8);
                childregs->u_regs[UREG_G1] = sp; /* function */
        }
        memcpy(new_stack, (char *)regs - STACKFRAME_SZ, STACKFRAME_SZ + TRACEREG_SZ);
        childregs->u_regs[UREG_FP] = sp;
-       p->thread.flags &= ~SPARC_FLAG_KTHREAD;
        p->thread.current_ds = USER_DS;
        ti->kpc = (((unsigned long) ret_from_fork) - 0x8);
        ti->kpsr = current->thread.fork_kpsr | PSR_PIL;
This page took 0.054464 seconds and 4 git commands to generate.