81 lines
4.9 KiB
ArmAsm
81 lines
4.9 KiB
ArmAsm
/**************************************************************************/
|
|
/* */
|
|
/* Copyright (c) Microsoft Corporation. All rights reserved. */
|
|
/* */
|
|
/* This software is licensed under the Microsoft Software License */
|
|
/* Terms for Microsoft Azure RTOS. Full text of the license can be */
|
|
/* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
|
|
/* and in the root directory of this software. */
|
|
/* */
|
|
/**************************************************************************/
|
|
|
|
|
|
/**************************************************************************/
|
|
/**************************************************************************/
|
|
/** */
|
|
/** ThreadX Component */
|
|
/** */
|
|
/** Thread */
|
|
/** */
|
|
/**************************************************************************/
|
|
/**************************************************************************/
|
|
|
|
.text
|
|
.align 4
|
|
.syntax unified
|
|
/**************************************************************************/
|
|
/* */
|
|
/* FUNCTION RELEASE */
|
|
/* */
|
|
/* _tx_thread_context_save Cortex-M7/GNU */
|
|
/* 6.1.7 */
|
|
/* AUTHOR */
|
|
/* */
|
|
/* Scott Larson, Microsoft Corporation */
|
|
/* */
|
|
/* DESCRIPTION */
|
|
/* */
|
|
/* This function is only needed for legacy applications and it should */
|
|
/* not be called in any new development on a Cortex-M. */
|
|
/* */
|
|
/* INPUT */
|
|
/* */
|
|
/* None */
|
|
/* */
|
|
/* OUTPUT */
|
|
/* */
|
|
/* None */
|
|
/* */
|
|
/* CALLS */
|
|
/* */
|
|
/* [_tx_execution_isr_enter] Execution profiling ISR enter */
|
|
/* */
|
|
/* CALLED BY */
|
|
/* */
|
|
/* ISRs */
|
|
/* */
|
|
/* RELEASE HISTORY */
|
|
/* */
|
|
/* DATE NAME DESCRIPTION */
|
|
/* */
|
|
/* 06-02-2021 Scott Larson Initial Version 6.1.7 */
|
|
/* */
|
|
/**************************************************************************/
|
|
// VOID _tx_thread_context_save(VOID)
|
|
// {
|
|
.global _tx_thread_context_save
|
|
.thumb_func
|
|
_tx_thread_context_save:
|
|
|
|
#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
|
|
/* Call the ISR enter function to indicate an ISR is starting. */
|
|
PUSH {r0, lr} // Save return address
|
|
BL _tx_execution_isr_enter // Call the ISR enter function
|
|
POP {r0, lr} // Recover return address
|
|
#endif
|
|
|
|
/* Context is already saved - just return. */
|
|
|
|
BX lr
|
|
// }
|