You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2022/05/31 09:41:02 UTC
[incubator-nuttx] 02/02: arch/xtensa/xtensa_sigdeliver.c: Remove old code that was preventing jumping back to the assembly signal trampoline and getting into its infinite loop.
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit c7823f7914971d69281c421abd23f92836bca1d7
Author: Abdelatif Guettouche <ab...@espressif.com>
AuthorDate: Tue May 31 10:08:29 2022 +0200
arch/xtensa/xtensa_sigdeliver.c: Remove old code that was preventing
jumping back to the assembly signal trampoline and getting into its
infinite loop.
Signed-off-by: Abdelatif Guettouche <ab...@espressif.com>
---
arch/xtensa/src/common/xtensa_sigdeliver.c | 34 ------------------------------
1 file changed, 34 deletions(-)
diff --git a/arch/xtensa/src/common/xtensa_sigdeliver.c b/arch/xtensa/src/common/xtensa_sigdeliver.c
index 6f8024c602..5aefeb14df 100644
--- a/arch/xtensa/src/common/xtensa_sigdeliver.c
+++ b/arch/xtensa/src/common/xtensa_sigdeliver.c
@@ -139,40 +139,6 @@ void xtensa_sig_deliver(void)
rtcb->xcp.sigdeliver = NULL; /* Allows next handler to be scheduled */
- /* Issue:
- *
- * Task1 --> process
- * --> xtensa_context_save(S1)
- * --> s32i a0, a2, (4 * REG_A0)
- * --> rtcb->xcp.regs[REG_A0] = A0
- *
- * Task preemption
- *
- * Task2 --> Post signal to Task1
- * --> Wake up Task1
- *
- * Task1 --> xtensa_sig_deliver
- * --> up_irq_enable()
- * --> Task preemption
- *
- * Task preemption --> xtensa_context_save
- * --> rtcb->xcp.regs[REG_A0] = A0 of "xtensa_sig_deliver"
- * = _xtensa_sig_trampoline + 6
- * = "j 1b"
- *
- * Process ...
- *
- * Task1 --> xtensa_sig_deliver
- * --> xtensa_context_restore
- * --> xtensa_context_save(S1)
- * --> l32i a0, a2, (4 * REG_A0)
- * --> a0 = "j 1b"
- * --> ret
- * --> run "j 1b"
- */
-
- rtcb->xcp.regs[REG_A0] = regs[REG_A0];
-
/* Then restore the correct state for this thread of execution.
* NOTE: The co-processor state should already be correct.
*/