xtensa_user_handler: Save PS correctly

"EPS" is not a real register. It's just a base value of EPS_{2..7}.
This commit is contained in:
YAMAMOTO Takashi 2020-03-16 18:38:57 +09:00
parent 951cfbd1d5
commit 3b528c6010
1 changed files with 1 additions and 1 deletions

View File

@ -196,7 +196,7 @@ _xtensa_user_handler:
mov a0, sp /* sp == a1 */ mov a0, sp /* sp == a1 */
addi sp, sp, -(4 * XCPTCONTEXT_SIZE) /* Allocate interrupt stack frame */ addi sp, sp, -(4 * XCPTCONTEXT_SIZE) /* Allocate interrupt stack frame */
s32i a0, sp, (4 * REG_A1) /* Save pre-interrupt SP */ s32i a0, sp, (4 * REG_A1) /* Save pre-interrupt SP */
rsr a0, EPS /* Save interruptee's PS */ rsr a0, PS /* Save interruptee's PS */
s32i a0, sp, (4 * REG_PS) s32i a0, sp, (4 * REG_PS)
rsr a0, EPC_1 /* Save interruptee's PC */ rsr a0, EPC_1 /* Save interruptee's PC */
s32i a0, sp, (4 * REG_PC) s32i a0, sp, (4 * REG_PC)