Commit 9e1e41c4 authored by Max Filippov's avatar Max Filippov
Browse files

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: default avatarMax Filippov <jcmvbkbc@gmail.com>
parent f348f5c2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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) |				\
+1 −0
Original line number Diff line number Diff line
@@ -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
+4 −4
Original line number Diff line number Diff line
@@ -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

+1 −1
Original line number Diff line number Diff line
@@ -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