diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2007-02-05 21:17:38 +0100 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-02-05 21:17:38 +0100 |
commit | 9b241cc862d55038c43feee86670cb7d86cf01c1 (patch) | |
tree | a5d6afbd3c6e424ab08edecd78f88a396b5f04e9 /include/asm-s390/processor.h | |
parent | 758976f9a55cb22ddc602a0690d67f9546e3e43f (diff) |
[S390] Add set_fs(USER_DS) to start_thread().
Currently works anyway since search_binary_handler has a
set_fs(USER_DS). But start_thread() is the place where this should be
done. Following all other architectures...
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'include/asm-s390/processor.h')
-rw-r--r-- | include/asm-s390/processor.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/asm-s390/processor.h b/include/asm-s390/processor.h index 5dc6b938895..7a7f50efcbd 100644 --- a/include/asm-s390/processor.h +++ b/include/asm-s390/processor.h @@ -144,6 +144,7 @@ struct stack_frame { #ifndef __s390x__ #define start_thread(regs, new_psw, new_stackp) do { \ + set_fs(USER_DS); \ regs->psw.mask = PSW_USER_BITS; \ regs->psw.addr = new_psw | PSW_ADDR_AMODE; \ regs->gprs[15] = new_stackp ; \ @@ -152,12 +153,14 @@ struct stack_frame { #else /* __s390x__ */ #define start_thread(regs, new_psw, new_stackp) do { \ + set_fs(USER_DS); \ regs->psw.mask = PSW_USER_BITS; \ regs->psw.addr = new_psw; \ regs->gprs[15] = new_stackp; \ } while (0) #define start_thread31(regs, new_psw, new_stackp) do { \ + set_fs(USER_DS); \ regs->psw.mask = PSW_USER32_BITS; \ regs->psw.addr = new_psw; \ regs->gprs[15] = new_stackp; \ |