mirror of
https://github.com/apache/nuttx.git
synced 2026-05-30 13:27:01 +08:00
xtensa/xtensa_user_handler.S: Store EXCCAUSE and EXCVADDR into the user
frame. The user frame is passed them to xtensa_user that actually uses EXCVADDR. Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
This commit is contained in:
committed by
Petro Karashchenko
parent
779665c704
commit
fa0e5da18e
@@ -219,6 +219,13 @@ _xtensa_user_handler:
|
|||||||
rsr a0, EXCSAVE_1 /* Save interruptee's a0 */
|
rsr a0, EXCSAVE_1 /* Save interruptee's a0 */
|
||||||
s32i a0, sp, (4 * REG_A0)
|
s32i a0, sp, (4 * REG_A0)
|
||||||
|
|
||||||
|
/* Save EXCCAUSE and EXCVADDR into the user frame */
|
||||||
|
|
||||||
|
rsr a0, EXCCAUSE
|
||||||
|
s32i a0, sp, (4 * REG_EXCCAUSE)
|
||||||
|
rsr a0, EXCVADDR
|
||||||
|
s32i a0, sp, (4 * REG_EXCVADDR)
|
||||||
|
|
||||||
/* Save rest of interrupt context. */
|
/* Save rest of interrupt context. */
|
||||||
|
|
||||||
s32i a2, sp, (4 * REG_A2)
|
s32i a2, sp, (4 * REG_A2)
|
||||||
@@ -238,13 +245,6 @@ _xtensa_user_handler:
|
|||||||
setintstack a13 a14
|
setintstack a13 a14
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Save exc cause and vaddr into exception frame */
|
|
||||||
|
|
||||||
rsr a0, EXCCAUSE
|
|
||||||
s32i a0, sp, (4 * REG_EXCCAUSE)
|
|
||||||
rsr a0, EXCVADDR
|
|
||||||
s32i a0, sp, (4 * REG_EXCVADDR)
|
|
||||||
|
|
||||||
/* Set up PS for C, re-enable hi-pri interrupts, and clear EXCM. */
|
/* Set up PS for C, re-enable hi-pri interrupts, and clear EXCM. */
|
||||||
|
|
||||||
#ifdef __XTENSA_CALL0_ABI__
|
#ifdef __XTENSA_CALL0_ABI__
|
||||||
|
|||||||
Reference in New Issue
Block a user