xtensa: clean up PS_WOE_BIT usage
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 <jcmvbkbc@gmail.com>
This commit is contained in:
parent
f348f5c232
commit
9e1e41c447
|
@ -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) | \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -414,7 +414,7 @@ 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
|
||||
|
@ -422,7 +422,7 @@ common_exception:
|
|||
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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue