Skip to content

Commit

Permalink
xtensa: clean up PS_WOE_BIT usage
Browse files Browse the repository at this point in the history
PS_WOE_BIT is mainly used to generate PS.WOE mask in the code. Introduce
PS_WOE_MASK macro and use it instead.

Signed-off-by: Max Filippov <[email protected]>
  • Loading branch information
jcmvbkbc committed Sep 1, 2019
1 parent f348f5c commit 9e1e41c
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 6 deletions.
2 changes: 1 addition & 1 deletion arch/xtensa/include/asm/processor.h
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ struct thread_struct {
* Note: We set-up ps as if we did a call4 to the new pc.
* set_thread_state in signal.c depends on it.
*/
#define USER_PS_VALUE ((1 << PS_WOE_BIT) | \
#define USER_PS_VALUE (PS_WOE_MASK | \
(1 << PS_CALLINC_SHIFT) | \
(USER_RING << PS_RING_SHIFT) | \
(1 << PS_UM_BIT) | \
Expand Down
1 change: 1 addition & 0 deletions arch/xtensa/include/asm/regs.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@
/* PS register fields. */

#define PS_WOE_BIT 18
#define PS_WOE_MASK 0x00040000
#define PS_CALLINC_SHIFT 16
#define PS_CALLINC_MASK 0x00030000
#define PS_OWB_SHIFT 8
Expand Down
8 changes: 4 additions & 4 deletions arch/xtensa/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -414,15 +414,15 @@ common_exception:
movi a3, LOCKLEVEL

.Lexception:
movi a0, 1 << PS_WOE_BIT
movi a0, PS_WOE_MASK
or a3, a3, a0
#else
addi a2, a2, -EXCCAUSE_LEVEL1_INTERRUPT
movi a0, LOCKLEVEL
extui a3, a3, PS_INTLEVEL_SHIFT, PS_INTLEVEL_WIDTH
# a3 = PS.INTLEVEL
moveqz a3, a0, a2 # a3 = LOCKLEVEL iff interrupt
movi a2, 1 << PS_WOE_BIT
movi a2, PS_WOE_MASK
or a3, a3, a2
rsr a2, exccause
#endif
Expand Down Expand Up @@ -922,7 +922,7 @@ ENTRY(unrecoverable_exception)
wsr a1, windowbase
rsync

movi a1, (1 << PS_WOE_BIT) | LOCKLEVEL
movi a1, PS_WOE_MASK | LOCKLEVEL
wsr a1, ps
rsync

Expand Down Expand Up @@ -1359,7 +1359,7 @@ ENTRY(fast_syscall_spill_registers)
rsr a3, excsave1
l32i a1, a3, EXC_TABLE_KSTK

movi a4, (1 << PS_WOE_BIT) | LOCKLEVEL
movi a4, PS_WOE_MASK | LOCKLEVEL
wsr a4, ps
rsync

Expand Down
2 changes: 1 addition & 1 deletion arch/xtensa/kernel/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ ENTRY(_startup)
movi a1, start_info
l32i a1, a1, 0

movi a2, (1 << PS_WOE_BIT) | LOCKLEVEL
movi a2, PS_WOE_MASK | LOCKLEVEL
# WOE=1, INTLEVEL=LOCKLEVEL, UM=0
wsr a2, ps # (enable reg-windows; progmode stack)
rsync
Expand Down

0 comments on commit 9e1e41c

Please sign in to comment.