xtensa: Save PS correctly in coproc handler
"EPS" is not a real register. It's just a base value of EPS_{2..7}.
This commit is contained in:
parent
d2a6e56308
commit
b9bf9c9a2b
@ -454,7 +454,7 @@ _xtensa_coproc_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)
|
||||||
|
Loading…
Reference in New Issue
Block a user