Merge branch 'fix/xtensa-register-corrupted-after-context-switch_v4.4' into 'release/v4.4'

fix(xtensa): fix registers curruption on context switch (v4.4)

See merge request espressif/esp-idf!26212
pull/13426/head
Jiang Jiang Jian 2023-12-06 10:47:55 +08:00
commit 68915490b0
1 zmienionych plików z 4 dodań i 0 usunięć

Wyświetl plik

@ -1041,13 +1041,17 @@ locking.
bnone a2, a0, .L_xt_coproc_done /* if no match then done */ bnone a2, a0, .L_xt_coproc_done /* if no match then done */
and a2, a2, a0 /* a2 = which CPs to restore */ and a2, a2, a0 /* a2 = which CPs to restore */
extui a2, a2, 0, 8 /* extract low 8 bits */ extui a2, a2, 0, 8 /* extract low 8 bits */
#if portNUM_PROCESSORS == 1
s32i a6, sp, XT_STK_A6 /* save extra needed regs */ s32i a6, sp, XT_STK_A6 /* save extra needed regs */
s32i a7, sp, XT_STK_A7 s32i a7, sp, XT_STK_A7
#endif /* portNUM_PROCESSORS == 1 */
s32i a13, sp, XT_STK_A13 s32i a13, sp, XT_STK_A13
s32i a14, sp, XT_STK_A14 s32i a14, sp, XT_STK_A14
call0 _xt_coproc_restorecs /* restore CP registers */ call0 _xt_coproc_restorecs /* restore CP registers */
#if portNUM_PROCESSORS == 1
l32i a6, sp, XT_STK_A6 /* restore saved registers */ l32i a6, sp, XT_STK_A6 /* restore saved registers */
l32i a7, sp, XT_STK_A7 l32i a7, sp, XT_STK_A7
#endif /* portNUM_PROCESSORS == 1 */
l32i a13, sp, XT_STK_A13 l32i a13, sp, XT_STK_A13
l32i a14, sp, XT_STK_A14 l32i a14, sp, XT_STK_A14
j .L_xt_coproc_done j .L_xt_coproc_done