mirror of
https://github.com/eclipse-threadx/threadx.git
synced 2026-10-06 06:59:08 +08:00
Enabled execution profiling for Cortex-R5 (#766)
The Cortex-R5 assembly guarded its execution-profile hooks with only the legacy TX_ENABLE_EXECUTION_CHANGE_NOTIFY symbol. The documented TX_EXECUTION_PROFILE_ENABLE configuration initialized profiling without recording thread or interrupt transitions. I made all AC5, AC6, GNU, Green Hills, and IAR hooks accept both symbols. I also extended the port consistency and GNU/LLVM feature checks to cover the current configuration. All 849 base assembly files and all 219 TX_EXECUTION_PROFILE_ENABLE files passed with GCC 14.2.1 and clang 22.1.0. A CMake/Ninja Cortex-R5 profile build emitted all seven expected hook relocations. Proprietary toolchains were not run. Assisted-by: Codex (GPT-5) <noreply@openai.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
;/***************************************************************************
|
||||
; * Copyright (c) 2024 Microsoft Corporation
|
||||
; * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
; *
|
||||
; * This program and the accompanying materials are made available under the
|
||||
; * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
; *
|
||||
; * SPDX-License-Identifier: MIT
|
||||
; **************************************************************************/
|
||||
; Portions of this file were generated with AI assistance.
|
||||
;
|
||||
;
|
||||
;/**************************************************************************/
|
||||
@@ -47,7 +49,7 @@ SVC_MODE EQU 0x93 ; SVC mode
|
||||
IMPORT _tx_timer_time_slice
|
||||
IMPORT _tx_thread_schedule
|
||||
IMPORT _tx_thread_preempt_disable
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
IMPORT _tx_execution_isr_exit
|
||||
ENDIF
|
||||
;
|
||||
@@ -101,7 +103,7 @@ _tx_thread_context_restore
|
||||
CPSID i ; Disable IRQ interrupts
|
||||
ENDIF
|
||||
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
;
|
||||
; /* Call the ISR exit function to indicate an ISR is complete. */
|
||||
;
|
||||
@@ -245,4 +247,3 @@ __tx_thread_idle_system_restore
|
||||
;}
|
||||
;
|
||||
END
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;/***************************************************************************
|
||||
; * Copyright (c) 2024 Microsoft Corporation
|
||||
; * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
; *
|
||||
; * This program and the accompanying materials are made available under the
|
||||
; * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
; *
|
||||
; * SPDX-License-Identifier: MIT
|
||||
; **************************************************************************/
|
||||
; Portions of this file were generated with AI assistance.
|
||||
;
|
||||
;
|
||||
;/**************************************************************************/
|
||||
@@ -32,7 +34,7 @@
|
||||
IMPORT _tx_thread_system_state
|
||||
IMPORT _tx_thread_current_ptr
|
||||
IMPORT __tx_irq_processing_return
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
IMPORT _tx_execution_isr_enter
|
||||
ENDIF
|
||||
;
|
||||
@@ -109,7 +111,7 @@ _tx_thread_context_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -149,7 +151,7 @@ __tx_thread_not_nested_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -173,7 +175,7 @@ __tx_thread_idle_system_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -189,4 +191,3 @@ __tx_thread_idle_system_save
|
||||
;}
|
||||
;
|
||||
END
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;/***************************************************************************
|
||||
; * Copyright (c) 2024 Microsoft Corporation
|
||||
; * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
; *
|
||||
; * This program and the accompanying materials are made available under the
|
||||
; * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
; *
|
||||
; * SPDX-License-Identifier: MIT
|
||||
; **************************************************************************/
|
||||
; Portions of this file were generated with AI assistance.
|
||||
;
|
||||
;
|
||||
;/**************************************************************************/
|
||||
@@ -43,7 +45,7 @@ IRQ_MODE_BITS EQU 0x12 ; IRQ mode bits
|
||||
IMPORT _tx_timer_time_slice
|
||||
IMPORT _tx_thread_schedule
|
||||
IMPORT _tx_thread_preempt_disable
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
IMPORT _tx_execution_isr_exit
|
||||
ENDIF
|
||||
;
|
||||
@@ -93,7 +95,7 @@ _tx_thread_fiq_context_restore
|
||||
;
|
||||
CPSID if ; Disable IRQ and FIQ interrupts
|
||||
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
;
|
||||
; /* Call the ISR exit function to indicate an ISR is complete. */
|
||||
;
|
||||
@@ -235,4 +237,3 @@ __tx_thread_fiq_idle_system_restore
|
||||
;}
|
||||
;
|
||||
END
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;/***************************************************************************
|
||||
; * Copyright (c) 2024 Microsoft Corporation
|
||||
; * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
; *
|
||||
; * This program and the accompanying materials are made available under the
|
||||
; * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
; *
|
||||
; * SPDX-License-Identifier: MIT
|
||||
; **************************************************************************/
|
||||
; Portions of this file were generated with AI assistance.
|
||||
;
|
||||
;
|
||||
;/**************************************************************************/
|
||||
@@ -32,7 +34,7 @@
|
||||
IMPORT _tx_thread_system_state
|
||||
IMPORT _tx_thread_current_ptr
|
||||
IMPORT __tx_fiq_processing_return
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
IMPORT _tx_execution_isr_enter
|
||||
ENDIF
|
||||
;
|
||||
@@ -106,7 +108,7 @@ _tx_thread_fiq_context_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -150,7 +152,7 @@ __tx_thread_fiq_not_nested_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -169,7 +171,7 @@ __tx_thread_fiq_idle_system_save
|
||||
;
|
||||
; /* Interrupt occurred in the scheduling loop. */
|
||||
;
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -193,4 +195,3 @@ __tx_thread_fiq_idle_system_save
|
||||
;}
|
||||
;
|
||||
END
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;/***************************************************************************
|
||||
; * Copyright (c) 2024 Microsoft Corporation
|
||||
; * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
; *
|
||||
; * This program and the accompanying materials are made available under the
|
||||
; * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
; *
|
||||
; * SPDX-License-Identifier: MIT
|
||||
; **************************************************************************/
|
||||
; Portions of this file were generated with AI assistance.
|
||||
;
|
||||
;
|
||||
;/**************************************************************************/
|
||||
@@ -33,7 +35,7 @@
|
||||
IMPORT _tx_thread_execute_ptr
|
||||
IMPORT _tx_thread_current_ptr
|
||||
IMPORT _tx_timer_time_slice
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
IMPORT _tx_execution_thread_enter
|
||||
ENDIF
|
||||
;
|
||||
@@ -136,7 +138,7 @@ __tx_thread_schedule_loop
|
||||
; /* Switch to the thread's stack. */
|
||||
; sp = _tx_thread_execute_ptr -> tx_thread_stack_ptr;
|
||||
;
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
;
|
||||
; /* Call the thread entry function to indicate the thread is executing. */
|
||||
;
|
||||
@@ -223,4 +225,3 @@ __tx_no_thread_to_disable
|
||||
ENDIF
|
||||
|
||||
END
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;/***************************************************************************
|
||||
; * Copyright (c) 2024 Microsoft Corporation
|
||||
; * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
; *
|
||||
; * This program and the accompanying materials are made available under the
|
||||
; * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
; *
|
||||
; * SPDX-License-Identifier: MIT
|
||||
; **************************************************************************/
|
||||
; Portions of this file were generated with AI assistance.
|
||||
;
|
||||
;
|
||||
;/**************************************************************************/
|
||||
@@ -32,7 +34,7 @@
|
||||
IMPORT _tx_thread_current_ptr
|
||||
IMPORT _tx_timer_time_slice
|
||||
IMPORT _tx_thread_schedule
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
IMPORT _tx_execution_thread_exit
|
||||
ENDIF
|
||||
;
|
||||
@@ -106,7 +108,7 @@ _tx_skip_solicited_vfp_save
|
||||
STMDB sp!, {r0-r1} ; Save type and CPSR
|
||||
;
|
||||
;
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
;
|
||||
; /* Call the thread exit function to indicate the thread is no longer executing. */
|
||||
;
|
||||
@@ -148,4 +150,3 @@ __tx_thread_dont_save_ts
|
||||
;
|
||||
;}
|
||||
END
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;/***************************************************************************
|
||||
; * Copyright (c) 2024 Microsoft Corporation
|
||||
; * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
; *
|
||||
; * This program and the accompanying materials are made available under the
|
||||
; * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
; *
|
||||
; * SPDX-License-Identifier: MIT
|
||||
; **************************************************************************/
|
||||
; Portions of this file were generated with AI assistance.
|
||||
;
|
||||
;
|
||||
;/**************************************************************************/
|
||||
@@ -31,7 +33,7 @@
|
||||
;
|
||||
IMPORT _tx_thread_system_state
|
||||
IMPORT _tx_thread_current_ptr
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
IMPORT _tx_execution_isr_enter
|
||||
ENDIF
|
||||
;
|
||||
@@ -102,7 +104,7 @@ _tx_thread_vectored_context_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -142,7 +144,7 @@ __tx_thread_not_nested_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -170,7 +172,7 @@ __tx_thread_idle_system_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
IF :DEF:TX_ENABLE_EXECUTION_CHANGE_NOTIFY :LOR: :DEF:TX_EXECUTION_PROFILE_ENABLE
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -190,4 +192,3 @@ __tx_thread_idle_system_save
|
||||
;}
|
||||
;
|
||||
END
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -101,7 +103,7 @@ _tx_thread_context_restore:
|
||||
CPSID i @ Disable IRQ interrupts
|
||||
#endif
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR exit function to indicate an ISR is complete. */
|
||||
@
|
||||
@@ -245,4 +247,3 @@ __tx_thread_idle_system_restore:
|
||||
@}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -112,7 +114,7 @@ _tx_thread_context_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -152,7 +154,7 @@ __tx_thread_not_nested_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -176,7 +178,7 @@ __tx_thread_idle_system_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -192,4 +194,3 @@ __tx_thread_idle_system_save:
|
||||
@}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -96,7 +98,7 @@ _tx_thread_fiq_context_restore:
|
||||
@
|
||||
CPSID if @ Disable IRQ and FIQ interrupts
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR exit function to indicate an ISR is complete. */
|
||||
@
|
||||
@@ -236,4 +238,3 @@ __tx_thread_fiq_idle_system_restore:
|
||||
B _tx_thread_schedule @ Return to scheduler
|
||||
@
|
||||
@}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -108,7 +110,7 @@ _tx_thread_fiq_context_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -152,7 +154,7 @@ __tx_thread_fiq_not_nested_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -171,7 +173,7 @@ __tx_thread_fiq_idle_system_save:
|
||||
@
|
||||
@ /* Interrupt occurred in the scheduling loop. */
|
||||
@
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -193,4 +195,3 @@ __tx_thread_fiq_idle_system_save:
|
||||
@
|
||||
@ }
|
||||
@}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -152,7 +154,7 @@ __tx_thread_schedule_loop:
|
||||
@ /* Switch to the thread's stack. */
|
||||
@ sp = _tx_thread_execute_ptr -> tx_thread_stack_ptr;
|
||||
@
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the thread entry function to indicate the thread is executing. */
|
||||
@
|
||||
@@ -239,4 +241,3 @@ __tx_no_thread_to_disable:
|
||||
MSR CPSR_cxsf, r2 @ Recover CPSR
|
||||
BX LR @ Return to caller
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -125,7 +127,7 @@ _tx_skip_solicited_vfp_save:
|
||||
STMDB sp!, {r0-r1} @ Save type and CPSR
|
||||
@
|
||||
@
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the thread exit function to indicate the thread is no longer executing. */
|
||||
@
|
||||
@@ -166,4 +168,3 @@ __tx_thread_dont_save_ts:
|
||||
B _tx_thread_schedule @ Jump to scheduler!
|
||||
@
|
||||
@}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -105,7 +107,7 @@ _tx_thread_vectored_context_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -141,7 +143,7 @@ __tx_thread_not_nested_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -165,7 +167,7 @@ __tx_thread_idle_system_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -179,4 +181,3 @@ __tx_thread_idle_system_save:
|
||||
@
|
||||
@ }
|
||||
@}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2024 Microsoft Corporation
|
||||
* Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the MIT License which is available at
|
||||
@@ -8,6 +9,7 @@
|
||||
* SPDX-License-Identifier: MIT
|
||||
**************************************************************************/
|
||||
|
||||
// Portions of this file were generated with AI assistance.
|
||||
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
@@ -99,7 +101,7 @@ _tx_thread_context_restore:
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
|
||||
/* Call the ISR exit function to indicate an ISR is complete. */
|
||||
|
||||
@@ -254,4 +256,3 @@ __tx_thread_idle_system_restore:
|
||||
.size _tx_thread_context_restore,.-_tx_thread_context_restore
|
||||
|
||||
/* } */
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2024 Microsoft Corporation
|
||||
* Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the MIT License which is available at
|
||||
@@ -8,6 +9,7 @@
|
||||
* SPDX-License-Identifier: MIT
|
||||
**************************************************************************/
|
||||
|
||||
// Portions of this file were generated with AI assistance.
|
||||
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
@@ -122,7 +124,7 @@ _tx_thread_context_save:
|
||||
|
||||
MOV r10, 0 # Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
|
||||
/* Call the ISR enter function to indicate an ISR is executing. */
|
||||
|
||||
@@ -162,7 +164,7 @@ __tx_thread_not_nested_save:
|
||||
|
||||
MOV r10, 0 # Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
|
||||
/* Call the ISR enter function to indicate an ISR is executing. */
|
||||
|
||||
@@ -186,7 +188,7 @@ __tx_thread_idle_system_save:
|
||||
|
||||
MOV r10, 0 # Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
|
||||
/* Call the ISR enter function to indicate an ISR is executing. */
|
||||
|
||||
@@ -203,4 +205,3 @@ __tx_thread_idle_system_save:
|
||||
|
||||
/* }
|
||||
} */
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2024 Microsoft Corporation
|
||||
* Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the MIT License which is available at
|
||||
@@ -8,6 +9,7 @@
|
||||
* SPDX-License-Identifier: MIT
|
||||
**************************************************************************/
|
||||
|
||||
// Portions of this file were generated with AI assistance.
|
||||
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
@@ -96,7 +98,7 @@ _tx_thread_fiq_context_restore:
|
||||
CPSID if # Disable IRQ and FIQ interrupts
|
||||
#endif
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
|
||||
/* Call the ISR exit function to indicate an ISR is complete. */
|
||||
|
||||
@@ -259,4 +261,3 @@ __tx_thread_fiq_idle_system_restore:
|
||||
.size _tx_thread_fiq_context_restore,.-_tx_thread_fiq_context_restore
|
||||
|
||||
/* } */
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2024 Microsoft Corporation
|
||||
* Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the MIT License which is available at
|
||||
@@ -8,6 +9,7 @@
|
||||
* SPDX-License-Identifier: MIT
|
||||
**************************************************************************/
|
||||
|
||||
// Portions of this file were generated with AI assistance.
|
||||
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
@@ -105,7 +107,7 @@ _tx_thread_fiq_context_save:
|
||||
|
||||
MOV r10, 0 # Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
|
||||
/* Call the ISR enter function to indicate an ISR is executing. */
|
||||
|
||||
@@ -149,7 +151,7 @@ __tx_thread_fiq_not_nested_save:
|
||||
|
||||
MOV r10, 0 # Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
|
||||
/* Call the ISR enter function to indicate an ISR is executing. */
|
||||
|
||||
@@ -168,7 +170,7 @@ __tx_thread_fiq_idle_system_save:
|
||||
|
||||
/* Interrupt occurred in the scheduling loop. */
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
|
||||
/* Call the ISR enter function to indicate an ISR is executing. */
|
||||
|
||||
@@ -193,4 +195,3 @@ __tx_thread_fiq_idle_system_save:
|
||||
|
||||
/* }
|
||||
} */
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2024 Microsoft Corporation
|
||||
* Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the MIT License which is available at
|
||||
@@ -8,6 +9,7 @@
|
||||
* SPDX-License-Identifier: MIT
|
||||
**************************************************************************/
|
||||
|
||||
// Portions of this file were generated with AI assistance.
|
||||
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
@@ -152,7 +154,7 @@ __tx_thread_schedule_loop:
|
||||
LDR sp, [r0, 8] # Switch stack pointers
|
||||
STR r3, [r2] # Setup time-slice
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
|
||||
/* Call the thread entry function to indicate the thread is executing. */
|
||||
|
||||
@@ -248,4 +250,3 @@ __tx_no_thread_to_disable:
|
||||
/* } */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2024 Microsoft Corporation
|
||||
* Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the MIT License which is available at
|
||||
@@ -8,6 +9,7 @@
|
||||
* SPDX-License-Identifier: MIT
|
||||
**************************************************************************/
|
||||
|
||||
// Portions of this file were generated with AI assistance.
|
||||
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
@@ -117,7 +119,7 @@ _tx_skip_solicited_vfp_save:
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
|
||||
/* Call the thread exit function to indicate the thread is no longer executing. */
|
||||
|
||||
@@ -162,4 +164,3 @@ __tx_thread_dont_save_ts:
|
||||
.type _tx_thread_system_return,$function
|
||||
.size _tx_thread_system_return,.-_tx_thread_system_return
|
||||
/* } */
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2024 Microsoft Corporation
|
||||
* Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the MIT License which is available at
|
||||
@@ -8,6 +9,7 @@
|
||||
* SPDX-License-Identifier: MIT
|
||||
**************************************************************************/
|
||||
|
||||
// Portions of this file were generated with AI assistance.
|
||||
|
||||
/**************************************************************************/
|
||||
/**************************************************************************/
|
||||
@@ -115,7 +117,7 @@ _tx_thread_vectored_context_save:
|
||||
|
||||
MOV r10, 0 # Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
|
||||
/* Call the ISR enter function to indicate an ISR is executing. */
|
||||
|
||||
@@ -151,7 +153,7 @@ __tx_thread_not_nested_save:
|
||||
|
||||
MOV r10, 0 # Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
|
||||
/* Call the ISR enter function to indicate an ISR is executing. */
|
||||
|
||||
@@ -175,7 +177,7 @@ __tx_thread_idle_system_save:
|
||||
|
||||
MOV r10, 0 # Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
|
||||
/* Call the ISR enter function to indicate an ISR is executing. */
|
||||
|
||||
@@ -192,4 +194,3 @@ __tx_thread_idle_system_save:
|
||||
|
||||
/* }
|
||||
} */
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -95,7 +97,7 @@ _tx_thread_context_restore:
|
||||
CPSID i @ Disable IRQ interrupts
|
||||
#endif
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR exit function to indicate an ISR is complete. */
|
||||
@
|
||||
@@ -239,4 +241,3 @@ __tx_thread_idle_system_restore:
|
||||
@}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -105,7 +107,7 @@ _tx_thread_context_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -145,7 +147,7 @@ __tx_thread_not_nested_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -169,7 +171,7 @@ __tx_thread_idle_system_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -185,4 +187,3 @@ __tx_thread_idle_system_save:
|
||||
@}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -89,7 +91,7 @@ _tx_thread_fiq_context_restore:
|
||||
@
|
||||
CPSID if @ Disable IRQ and FIQ interrupts
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR exit function to indicate an ISR is complete. */
|
||||
@
|
||||
@@ -229,4 +231,3 @@ __tx_thread_fiq_idle_system_restore:
|
||||
B _tx_thread_schedule @ Return to scheduler
|
||||
@
|
||||
@}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -102,7 +104,7 @@ _tx_thread_fiq_context_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -146,7 +148,7 @@ __tx_thread_fiq_not_nested_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -165,7 +167,7 @@ __tx_thread_fiq_idle_system_save:
|
||||
@
|
||||
@ /* Interrupt occurred in the scheduling loop. */
|
||||
@
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -187,4 +189,3 @@ __tx_thread_fiq_idle_system_save:
|
||||
@
|
||||
@ }
|
||||
@}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -145,7 +147,7 @@ __tx_thread_schedule_loop:
|
||||
@ /* Switch to the thread's stack. */
|
||||
@ sp = _tx_thread_execute_ptr -> tx_thread_stack_ptr;
|
||||
@
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the thread entry function to indicate the thread is executing. */
|
||||
@
|
||||
@@ -232,4 +234,3 @@ __tx_no_thread_to_disable:
|
||||
MSR CPSR_cxsf, r2 @ Recover CPSR
|
||||
BX LR @ Return to caller
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -120,7 +122,7 @@ _tx_skip_solicited_vfp_save:
|
||||
STMDB sp!, {r0-r1} @ Save type and CPSR
|
||||
@
|
||||
@
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the thread exit function to indicate the thread is no longer executing. */
|
||||
@
|
||||
@@ -161,4 +163,3 @@ __tx_thread_dont_save_ts:
|
||||
B _tx_thread_schedule @ Jump to scheduler!
|
||||
@
|
||||
@}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@/***************************************************************************
|
||||
@ * Copyright (c) 2024 Microsoft Corporation
|
||||
@ * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
@ *
|
||||
@ * This program and the accompanying materials are made available under the
|
||||
@ * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
@ *
|
||||
@ * SPDX-License-Identifier: MIT
|
||||
@ **************************************************************************/
|
||||
@ Portions of this file were generated with AI assistance.
|
||||
@
|
||||
@
|
||||
@/**************************************************************************/
|
||||
@@ -99,7 +101,7 @@ _tx_thread_vectored_context_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -135,7 +137,7 @@ __tx_thread_not_nested_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -159,7 +161,7 @@ __tx_thread_idle_system_save:
|
||||
@
|
||||
MOV r10, #0 @ Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
@
|
||||
@ /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
@
|
||||
@@ -173,4 +175,3 @@ __tx_thread_idle_system_save:
|
||||
@
|
||||
@ }
|
||||
@}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;/***************************************************************************
|
||||
; * Copyright (c) 2024 Microsoft Corporation
|
||||
; * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
; *
|
||||
; * This program and the accompanying materials are made available under the
|
||||
; * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
; *
|
||||
; * SPDX-License-Identifier: MIT
|
||||
; **************************************************************************/
|
||||
; Portions of this file were generated with AI assistance.
|
||||
;
|
||||
;
|
||||
;/**************************************************************************/
|
||||
@@ -92,7 +94,7 @@ _tx_thread_context_restore
|
||||
;
|
||||
CPSID i ; Disable IRQ interrupts
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
;
|
||||
; /* Call the ISR exit function to indicate an ISR is complete. */
|
||||
;
|
||||
@@ -237,4 +239,3 @@ __tx_thread_idle_system_restore
|
||||
;
|
||||
;
|
||||
END
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;/***************************************************************************
|
||||
; * Copyright (c) 2024 Microsoft Corporation
|
||||
; * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
; *
|
||||
; * This program and the accompanying materials are made available under the
|
||||
; * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
; *
|
||||
; * SPDX-License-Identifier: MIT
|
||||
; **************************************************************************/
|
||||
; Portions of this file were generated with AI assistance.
|
||||
;
|
||||
;
|
||||
;/**************************************************************************/
|
||||
@@ -105,7 +107,7 @@ _tx_thread_context_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -145,7 +147,7 @@ __tx_thread_not_nested_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -169,7 +171,7 @@ __tx_thread_idle_system_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -188,4 +190,3 @@ __tx_thread_idle_system_save
|
||||
;
|
||||
;
|
||||
END
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;/***************************************************************************
|
||||
; * Copyright (c) 2024 Microsoft Corporation
|
||||
; * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
; *
|
||||
; * This program and the accompanying materials are made available under the
|
||||
; * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
; *
|
||||
; * SPDX-License-Identifier: MIT
|
||||
; **************************************************************************/
|
||||
; Portions of this file were generated with AI assistance.
|
||||
;
|
||||
;
|
||||
;/**************************************************************************/
|
||||
@@ -129,7 +131,7 @@ __tx_thread_schedule_loop
|
||||
; /* Switch to the thread's stack. */
|
||||
; sp = _tx_thread_execute_ptr -> tx_thread_stack_ptr;
|
||||
;
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
;
|
||||
; /* Call the thread entry function to indicate the thread is executing. */
|
||||
;
|
||||
@@ -210,4 +212,3 @@ __tx_no_thread_to_disable:
|
||||
#endif
|
||||
|
||||
END
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;/***************************************************************************
|
||||
; * Copyright (c) 2024 Microsoft Corporation
|
||||
; * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
; *
|
||||
; * This program and the accompanying materials are made available under the
|
||||
; * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
; *
|
||||
; * SPDX-License-Identifier: MIT
|
||||
; **************************************************************************/
|
||||
; Portions of this file were generated with AI assistance.
|
||||
;
|
||||
;
|
||||
;/**************************************************************************/
|
||||
@@ -103,7 +105,7 @@ _tx_skip_solicited_vfp_save:
|
||||
STMDB sp!, {r0-r1} ; Save type and CPSR
|
||||
;
|
||||
;
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
;
|
||||
; /* Call the thread exit function to indicate the thread is no longer executing. */
|
||||
;
|
||||
@@ -145,4 +147,3 @@ __tx_thread_dont_save_ts
|
||||
;
|
||||
;}
|
||||
END
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;/***************************************************************************
|
||||
; * Copyright (c) 2024 Microsoft Corporation
|
||||
; * Copyright (c) 2026 Eclipse ThreadX contributors
|
||||
; *
|
||||
; * This program and the accompanying materials are made available under the
|
||||
; * terms of the MIT License which is available at
|
||||
@@ -7,6 +8,7 @@
|
||||
; *
|
||||
; * SPDX-License-Identifier: MIT
|
||||
; **************************************************************************/
|
||||
; Portions of this file were generated with AI assistance.
|
||||
;
|
||||
;
|
||||
;/**************************************************************************/
|
||||
@@ -99,7 +101,7 @@ _tx_thread_vectored_context_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -135,7 +137,7 @@ __tx_thread_not_nested_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -159,7 +161,7 @@ __tx_thread_idle_system_save
|
||||
;
|
||||
MOV r10, #0 ; Clear stack limit
|
||||
|
||||
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
|
||||
#if defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE)
|
||||
;
|
||||
; /* Call the ISR enter function to indicate an ISR is executing. */
|
||||
;
|
||||
@@ -174,4 +176,3 @@ __tx_thread_idle_system_save
|
||||
; }
|
||||
;}
|
||||
END
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ declare -A PORT_TARGET=(
|
||||
# Baseline, where the 16-bit POP takes r0-r7 and pc only, and rejected by GNU as
|
||||
# well as by LLVM. Turning the feature on had never once been tried.
|
||||
FEATURE_MACROS="TX_ENABLE_VFP_SUPPORT TX_ENABLE_FIQ_SUPPORT TX_LOW_POWER
|
||||
TX_ENABLE_EXECUTION_CHANGE_NOTIFY"
|
||||
TX_ENABLE_EXECUTION_CHANGE_NOTIFY TX_EXECUTION_PROFILE_ENABLE"
|
||||
|
||||
# TX_ENABLE_IRQ_NESTING and TX_ENABLE_FIQ_NESTING are deliberately not here.
|
||||
# They guard no assembly in the trees this script walks: the nesting start and end
|
||||
|
||||
@@ -242,7 +242,7 @@ declare -A PORT_TARGET=(
|
||||
# months after the identical fix landed in its non-module sibling, because no
|
||||
# glob in either script reached ports_module until #672.
|
||||
FEATURE_MACROS="TX_ENABLE_VFP_SUPPORT TX_ENABLE_FIQ_SUPPORT TX_LOW_POWER
|
||||
TX_ENABLE_EXECUTION_CHANGE_NOTIFY"
|
||||
TX_ENABLE_EXECUTION_CHANGE_NOTIFY TX_EXECUTION_PROFILE_ENABLE"
|
||||
|
||||
# TX_ENABLE_IRQ_NESTING and TX_ENABLE_FIQ_NESTING are deliberately not here.
|
||||
# They guard no assembly in the trees this script walks: the nesting start and
|
||||
|
||||
+24
-1
@@ -251,7 +251,30 @@ done < <(find ports ports_arch ports_module ports_smp -name "*.s" -type f \
|
||||
[ "$lowercase" -eq 0 ] && say " ok: no .s file under a gnu tree uses the preprocessor"
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# 5. Report only: families with no copy script.
|
||||
# 5. Cortex-R5 execution-profile guards accept both configuration names.
|
||||
# --------------------------------------------------------------------------
|
||||
# Profiling storage uses TX_EXECUTION_PROFILE_ENABLE, while
|
||||
# TX_ENABLE_EXECUTION_CHANGE_NOTIFY remains a supported compatibility symbol.
|
||||
# Every Cortex-R5 profiling hook must recognize both symbols.
|
||||
say ""
|
||||
say "== Cortex-R5 execution-profile guards accept both symbols =="
|
||||
|
||||
profile_guards_missing=0
|
||||
while IFS=: read -r file line text; do
|
||||
case "$text" in
|
||||
*TX_EXECUTION_PROFILE_ENABLE*) ;;
|
||||
*)
|
||||
fail "$file:$line accepts the legacy execution-profile symbol only"
|
||||
profile_guards_missing=$((profile_guards_missing + 1))
|
||||
;;
|
||||
esac
|
||||
done < <(grep -Rn "TX_ENABLE_EXECUTION_CHANGE_NOTIFY" ports/cortex_r5/*/src 2>/dev/null)
|
||||
|
||||
[ "$profile_guards_missing" -eq 0 ] && \
|
||||
say " ok: every Cortex-R5 profiling hook accepts both symbols"
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# 6. Report only: families with no copy script.
|
||||
# --------------------------------------------------------------------------
|
||||
# These are maintained by hand, so a fix applied to one toolchain can silently
|
||||
# miss the others. Nothing here fails the run; it is a prompt to look.
|
||||
|
||||
Reference in New Issue
Block a user