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.
    */