|
@@ -91,7 +91,8 @@ extern unsigned long thread_saved_pc(struct task_struct *);
|
|
|
/* Do necessary setup to start up a newly executed thread. */
|
|
|
#define start_thread(regs, pc, sp) \
|
|
|
do { \
|
|
|
- regs->tstate = (regs->tstate & (TSTATE_CWP)) | (TSTATE_INITIAL_MM|TSTATE_IE) | (ASI_PNF << 24); \
|
|
|
+ unsigned long __asi = ASI_PNF; \
|
|
|
+ regs->tstate = (regs->tstate & (TSTATE_CWP)) | (TSTATE_INITIAL_MM|TSTATE_IE) | (__asi << 24UL); \
|
|
|
regs->tpc = ((pc & (~3)) - 4); \
|
|
|
regs->tnpc = regs->tpc + 4; \
|
|
|
regs->y = 0; \
|
|
@@ -128,10 +129,10 @@ do { \
|
|
|
|
|
|
#define start_thread32(regs, pc, sp) \
|
|
|
do { \
|
|
|
+ unsigned long __asi = ASI_PNF; \
|
|
|
pc &= 0x00000000ffffffffUL; \
|
|
|
sp &= 0x00000000ffffffffUL; \
|
|
|
-\
|
|
|
- regs->tstate = (regs->tstate & (TSTATE_CWP))|(TSTATE_INITIAL_MM|TSTATE_IE|TSTATE_AM); \
|
|
|
+ regs->tstate = (regs->tstate & (TSTATE_CWP))|(TSTATE_INITIAL_MM|TSTATE_IE|TSTATE_AM) | (__asi << 24UL); \
|
|
|
regs->tpc = ((pc & (~3)) - 4); \
|
|
|
regs->tnpc = regs->tpc + 4; \
|
|
|
regs->y = 0; \
|