Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion ports/cortex_a12/ac6/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
5 changes: 4 additions & 1 deletion ports/cortex_a12/gnu/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
5 changes: 4 additions & 1 deletion ports/cortex_a15/ac6/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
5 changes: 4 additions & 1 deletion ports/cortex_a15/gnu/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
5 changes: 4 additions & 1 deletion ports/cortex_a17/ac6/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
5 changes: 4 additions & 1 deletion ports/cortex_a17/gnu/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
5 changes: 4 additions & 1 deletion ports/cortex_a5/ac6/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
5 changes: 4 additions & 1 deletion ports/cortex_a5/gnu/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
5 changes: 4 additions & 1 deletion ports/cortex_a7/ac6/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
5 changes: 4 additions & 1 deletion ports/cortex_a7/gnu/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
5 changes: 4 additions & 1 deletion ports/cortex_a8/ac6/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
5 changes: 4 additions & 1 deletion ports/cortex_a8/gnu/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
5 changes: 4 additions & 1 deletion ports/cortex_a9/ac6/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
5 changes: 4 additions & 1 deletion ports/cortex_a9/gnu/src/tx_thread_system_return.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -121,7 +122,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* SPDX-License-Identifier: MIT
**************************************************************************/

// Some portions generated by Copilot (Opus 5).

/**************************************************************************/
/**************************************************************************/
Expand Down Expand Up @@ -117,7 +118,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice // Pickup address of time slice
LDR r1, [r2] // Pickup current time slice

/* Save current stack and switch to system stack. */
/* Save the current stack pointer in the thread control block. The
scheduler runs on the banked SVC mode stack that the startup code
set up, so there is no stack switch to perform. */

STR sp, [r0, #8] // Save thread stack pointer

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
;/***************************************************************************
; * Copyright (c) 2024 Microsoft Corporation
; * Copyright (c) 2026-present Eclipse ThreadX contributors
; *
; * This program and the accompanying materials are made available under the
; * terms of the MIT License which is available at
Expand All @@ -8,6 +9,7 @@
; * SPDX-License-Identifier: MIT
; **************************************************************************/
;
; // Some portions generated by Copilot (Opus 5).
;
;/**************************************************************************/
;/**************************************************************************/
Expand Down Expand Up @@ -113,7 +115,9 @@ _tx_skip_solicited_vfp_save:
LDR r2, =_tx_timer_time_slice ; Pickup address of time slice
LDR r1, [r2] ; Pickup current time slice

; /* Save current stack and switch to system stack. */
; /* Save the current stack pointer in the thread control block. The
; scheduler runs on the banked SVC mode stack that the startup code
; set up, so there is no stack switch to perform. */

STR sp, [r0, #8] ; Save thread stack pointer

Expand Down
12 changes: 7 additions & 5 deletions ports_smp/cortex_a5_smp/ac5/src/tx_thread_context_save.s
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
;/***************************************************************************
; * Copyright (c) 2024 Microsoft Corporation
; * Copyright (c) 2026-present Eclipse ThreadX contributors
; *
; * This program and the accompanying materials are made available under the
; * terms of the MIT License which is available at
Expand All @@ -8,6 +9,7 @@
; * SPDX-License-Identifier: MIT
; **************************************************************************/
;
; // Some portions generated by Copilot (Opus 5).
;
;/**************************************************************************/
;/**************************************************************************/
Expand Down Expand Up @@ -145,11 +147,11 @@ __tx_thread_not_nested_save
BEQ __tx_thread_idle_system_save ; If so, interrupt occurred in
; scheduling loop - nothing needs saving!
;
; /* Save the current stack pointer in the thread's control block. */
; _tx_thread_current_ptr[core] -> tx_thread_stack_ptr = sp;
;
; /* Switch to the system stack. */
; sp = _tx_thread_system_stack_ptr;
; /* This routine runs in IRQ mode on this core's banked IRQ stack, which
; serves as the system stack on this architecture, so there is no stack
; switch to perform here. The thread's stack pointer is saved in its
; control block by _tx_thread_context_restore, and only when the
; interrupt results in preemption. */
;
MOV r10, #0 ; Clear stack limit

Expand Down
7 changes: 5 additions & 2 deletions ports_smp/cortex_a5_smp/ac5/src/tx_thread_system_return.s
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
;/***************************************************************************
; * Copyright (c) 2024 Microsoft Corporation
; * Copyright (c) 2026-present Eclipse ThreadX contributors
; *
; * This program and the accompanying materials are made available under the
; * terms of the MIT License which is available at
Expand All @@ -8,6 +9,7 @@
; * SPDX-License-Identifier: MIT
; **************************************************************************/
;
; // Some portions generated by Copilot (Opus 5).
;
;/**************************************************************************/
;/**************************************************************************/
Expand Down Expand Up @@ -132,9 +134,10 @@ _tx_skip_solicited_vfp_save
ADD r2, r2, r12 ; Build index into time-slice array
LDR r1, [r2, #0] ; Pickup current time slice
;
; /* Save current stack and switch to system stack. */
; /* Save the current stack pointer in the thread's control block. The
; scheduler runs on this core's banked SVC mode stack, which the startup
; code set up, so there is no stack switch to perform. */
; _tx_thread_current_ptr[core] -> tx_thread_stack_ptr = sp;
; sp = _tx_thread_system_stack_ptr[core];
;
STR sp, [r0, #8] ; Save thread stack pointer
;
Expand Down
Loading