OSDN Git Service

fix new thread psw
authorYoshinori Sato <ysato@users.sourceforge.jp>
Sun, 13 Jan 2019 14:00:44 +0000 (23:00 +0900)
committerYoshinori Sato <yo-satoh@sios.com>
Fri, 28 Jan 2022 14:01:37 +0000 (23:01 +0900)
arch/rx/include/asm/processor.h

index 567d7e2..bfe8e07 100644 (file)
@@ -55,12 +55,12 @@ struct thread_struct {
  * pass the data segment into user programs if it exists,
  * it can't hurt anything as far as I can tell
  */
-#define start_thread(_regs, _pc, _usp)                         \
-do {                                                           \
-       set_fs(USER_DS);           /* reads from user space */  \
-       (_regs)->pc = (_pc);                                    \
-       (_regs)->psw = (1<<20) | (1<<17); /* user mode */       \
-       (_regs)->usp = (_usp);                                  \
+#define start_thread(_regs, _pc, _usp)                                 \
+do {                                                                   \
+       set_fs(USER_DS);           /* reads from user space */          \
+       (_regs)->pc = (_pc);                                            \
+       (_regs)->psw = (1<<20) | (1<<17) | (1<<16); /* PM / U / I = 1 */ \
+       (_regs)->usp = (_usp);                                          \
 } while(0)
 
 /* Forward declaration, a strange C thing */