aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/asm-sparc64/processor.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/asm-sparc64/processor.h b/include/asm-sparc64/processor.h
index b3889f3f943a..685479fb4364 100644
--- a/include/asm-sparc64/processor.h
+++ b/include/asm-sparc64/processor.h
@@ -91,7 +91,8 @@ extern unsigned long thread_saved_pc(struct task_struct *);
91/* Do necessary setup to start up a newly executed thread. */ 91/* Do necessary setup to start up a newly executed thread. */
92#define start_thread(regs, pc, sp) \ 92#define start_thread(regs, pc, sp) \
93do { \ 93do { \
94 regs->tstate = (regs->tstate & (TSTATE_CWP)) | (TSTATE_INITIAL_MM|TSTATE_IE) | (ASI_PNF << 24); \ 94 unsigned long __asi = ASI_PNF; \
95 regs->tstate = (regs->tstate & (TSTATE_CWP)) | (TSTATE_INITIAL_MM|TSTATE_IE) | (__asi << 24UL); \
95 regs->tpc = ((pc & (~3)) - 4); \ 96 regs->tpc = ((pc & (~3)) - 4); \
96 regs->tnpc = regs->tpc + 4; \ 97 regs->tnpc = regs->tpc + 4; \
97 regs->y = 0; \ 98 regs->y = 0; \
@@ -128,10 +129,10 @@ do { \
128 129
129#define start_thread32(regs, pc, sp) \ 130#define start_thread32(regs, pc, sp) \
130do { \ 131do { \
132 unsigned long __asi = ASI_PNF; \
131 pc &= 0x00000000ffffffffUL; \ 133 pc &= 0x00000000ffffffffUL; \
132 sp &= 0x00000000ffffffffUL; \ 134 sp &= 0x00000000ffffffffUL; \
133\ 135 regs->tstate = (regs->tstate & (TSTATE_CWP))|(TSTATE_INITIAL_MM|TSTATE_IE|TSTATE_AM) | (__asi << 24UL); \
134 regs->tstate = (regs->tstate & (TSTATE_CWP))|(TSTATE_INITIAL_MM|TSTATE_IE|TSTATE_AM); \
135 regs->tpc = ((pc & (~3)) - 4); \ 136 regs->tpc = ((pc & (~3)) - 4); \
136 regs->tnpc = regs->tpc + 4; \ 137 regs->tnpc = regs->tpc + 4; \
137 regs->y = 0; \ 138 regs->y = 0; \