aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-s390/processor.h
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2007-02-05 15:17:38 -0500
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-02-05 15:17:38 -0500
commit9b241cc862d55038c43feee86670cb7d86cf01c1 (patch)
treea5d6afbd3c6e424ab08edecd78f88a396b5f04e9 /include/asm-s390/processor.h
parent758976f9a55cb22ddc602a0690d67f9546e3e43f (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.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/asm-s390/processor.h b/include/asm-s390/processor.h
index 5dc6b938895f..7a7f50efcbd9 100644
--- a/include/asm-s390/processor.h
+++ b/include/asm-s390/processor.h
@@ -144,6 +144,7 @@ struct stack_frame {
144#ifndef __s390x__ 144#ifndef __s390x__
145 145
146#define start_thread(regs, new_psw, new_stackp) do { \ 146#define start_thread(regs, new_psw, new_stackp) do { \
147 set_fs(USER_DS); \
147 regs->psw.mask = PSW_USER_BITS; \ 148 regs->psw.mask = PSW_USER_BITS; \
148 regs->psw.addr = new_psw | PSW_ADDR_AMODE; \ 149 regs->psw.addr = new_psw | PSW_ADDR_AMODE; \
149 regs->gprs[15] = new_stackp ; \ 150 regs->gprs[15] = new_stackp ; \
@@ -152,12 +153,14 @@ struct stack_frame {
152#else /* __s390x__ */ 153#else /* __s390x__ */
153 154
154#define start_thread(regs, new_psw, new_stackp) do { \ 155#define start_thread(regs, new_psw, new_stackp) do { \
156 set_fs(USER_DS); \
155 regs->psw.mask = PSW_USER_BITS; \ 157 regs->psw.mask = PSW_USER_BITS; \
156 regs->psw.addr = new_psw; \ 158 regs->psw.addr = new_psw; \
157 regs->gprs[15] = new_stackp; \ 159 regs->gprs[15] = new_stackp; \
158} while (0) 160} while (0)
159 161
160#define start_thread31(regs, new_psw, new_stackp) do { \ 162#define start_thread31(regs, new_psw, new_stackp) do { \
163 set_fs(USER_DS); \
161 regs->psw.mask = PSW_USER32_BITS; \ 164 regs->psw.mask = PSW_USER32_BITS; \
162 regs->psw.addr = new_psw; \ 165 regs->psw.addr = new_psw; \
163 regs->gprs[15] = new_stackp; \ 166 regs->gprs[15] = new_stackp; \