• David Howells's avatar
    FRV: Fix the new-style kernel_thread() stuff · e7aa51b2
    David Howells authored
    The kernel_thread() changes for FRV don't work, and FRV fails to boot,
    starting with:
    
    	commit 02ce496f
    	Author: Al Viro <viro@zeniv.linux.org.uk>
    	Date:   Tue Sep 18 22:18:51 2012 -0400
    	Subject: frv: split ret_from_fork, simplify kernel_thread() a lot
    
    The problem is that the userspace registers are completely cleared when a
    kernel thread is created and all subsequent user threads are then copied from
    that.  Unfortunately, however, the TBR and PSR registers are restored from the
    pt_regs and the values they should be set to are clobbered by the memset.
    
    Instead, copy across the old user registers as normal, and then merely alter
    GR8 and GR9 in it if we're going to execute a kernel thread.
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    e7aa51b2
process.c 7.2 KB