From 1189198a5e16ad7eaaf81eb8336e2fb268891596 Mon Sep 17 00:00:00 2001 From: bradleysmith23 <74752142+bradleysmith23@users.noreply.github.com> Date: Thu, 1 Feb 2024 11:57:22 -0800 Subject: [PATCH 01/38] Fix MISRA C 2012 Rule 20.7 Violations (#971) * Initial set of SA fixes * Revert function parameter name changes * Reverted parameter name for Static version of function by mistake * Update mpu_wrappers_v2.c to only include 20.7 fixes * Update queue.c to remove non-20.7 fixes * Update tasks.c to remove non-20.7 fixes --------- Co-authored-by: bjbsmith Co-authored-by: chinglee-iot <61685396+chinglee-iot@users.noreply.github.com> --- include/task.h | 4 ++-- portable/Common/mpu_wrappers_v2.c | 38 +++++++++++++++---------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/include/task.h b/include/task.h index 7856b89d2..de12f429d 100644 --- a/include/task.h +++ b/include/task.h @@ -2289,7 +2289,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) PRIVILEGED_FUNCTION; * \defgroup vTaskList vTaskList * \ingroup TaskUtils */ -#define vTaskList( pcWriteBuffer ) vTaskListTasks( pcWriteBuffer, configSTATS_BUFFER_MAX_LENGTH ) +#define vTaskList( pcWriteBuffer ) vTaskListTasks( ( pcWriteBuffer ), configSTATS_BUFFER_MAX_LENGTH ) /** * task. h @@ -2412,7 +2412,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) PRIVILEGED_FUNCTION; * \defgroup vTaskGetRunTimeStats vTaskGetRunTimeStats * \ingroup TaskUtils */ -#define vTaskGetRunTimeStats( pcWriteBuffer ) vTaskGetRunTimeStatistics( pcWriteBuffer, configSTATS_BUFFER_MAX_LENGTH ) +#define vTaskGetRunTimeStats( pcWriteBuffer ) vTaskGetRunTimeStatistics( ( pcWriteBuffer ), configSTATS_BUFFER_MAX_LENGTH ) /** * task. h diff --git a/portable/Common/mpu_wrappers_v2.c b/portable/Common/mpu_wrappers_v2.c index cf2dcfbd9..4f876ab99 100644 --- a/portable/Common/mpu_wrappers_v2.c +++ b/portable/Common/mpu_wrappers_v2.c @@ -197,46 +197,46 @@ /* * Wrappers to keep all the casting in one place. */ - #define MPU_StoreQueueHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( lIndex, ( OpaqueObjectHandle_t ) xHandle, NULL, KERNEL_OBJECT_TYPE_QUEUE ) - #define MPU_GetQueueHandleAtIndex( lIndex ) ( QueueHandle_t ) MPU_GetHandleAtIndex( lIndex, KERNEL_OBJECT_TYPE_QUEUE ) + #define MPU_StoreQueueHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( ( lIndex ), ( OpaqueObjectHandle_t ) ( xHandle ), NULL, KERNEL_OBJECT_TYPE_QUEUE ) + #define MPU_GetQueueHandleAtIndex( lIndex ) ( QueueHandle_t ) MPU_GetHandleAtIndex( ( lIndex ), KERNEL_OBJECT_TYPE_QUEUE ) #if ( configUSE_QUEUE_SETS == 1 ) - #define MPU_StoreQueueSetHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( lIndex, ( OpaqueObjectHandle_t ) xHandle, NULL, KERNEL_OBJECT_TYPE_QUEUE ) - #define MPU_GetQueueSetHandleAtIndex( lIndex ) ( QueueSetHandle_t ) MPU_GetHandleAtIndex( lIndex, KERNEL_OBJECT_TYPE_QUEUE ) - #define MPU_StoreQueueSetMemberHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( lIndex, ( OpaqueObjectHandle_t ) xHandle, NULL, KERNEL_OBJECT_TYPE_QUEUE ) - #define MPU_GetQueueSetMemberHandleAtIndex( lIndex ) ( QueueSetMemberHandle_t ) MPU_GetHandleAtIndex( lIndex, KERNEL_OBJECT_TYPE_QUEUE ) - #define MPU_GetIndexForQueueSetMemberHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) xHandle, KERNEL_OBJECT_TYPE_QUEUE ) + #define MPU_StoreQueueSetHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( ( lIndex ), ( OpaqueObjectHandle_t ) ( xHandle ), NULL, KERNEL_OBJECT_TYPE_QUEUE ) + #define MPU_GetQueueSetHandleAtIndex( lIndex ) ( QueueSetHandle_t ) MPU_GetHandleAtIndex( ( lIndex ), KERNEL_OBJECT_TYPE_QUEUE ) + #define MPU_StoreQueueSetMemberHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( ( lIndex ), ( OpaqueObjectHandle_t ) ( xHandle ), NULL, KERNEL_OBJECT_TYPE_QUEUE ) + #define MPU_GetQueueSetMemberHandleAtIndex( lIndex ) ( QueueSetMemberHandle_t ) MPU_GetHandleAtIndex( ( lIndex ), KERNEL_OBJECT_TYPE_QUEUE ) + #define MPU_GetIndexForQueueSetMemberHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) ( xHandle ), KERNEL_OBJECT_TYPE_QUEUE ) #endif /* * Wrappers to keep all the casting in one place for Task APIs. */ - #define MPU_StoreTaskHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( lIndex, ( OpaqueObjectHandle_t ) xHandle, NULL, KERNEL_OBJECT_TYPE_TASK ) - #define MPU_GetTaskHandleAtIndex( lIndex ) ( TaskHandle_t ) MPU_GetHandleAtIndex( lIndex, KERNEL_OBJECT_TYPE_TASK ) - #define MPU_GetIndexForTaskHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) xHandle, KERNEL_OBJECT_TYPE_TASK ) + #define MPU_StoreTaskHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( ( lIndex ), ( OpaqueObjectHandle_t ) ( xHandle ), NULL, KERNEL_OBJECT_TYPE_TASK ) + #define MPU_GetTaskHandleAtIndex( lIndex ) ( TaskHandle_t ) MPU_GetHandleAtIndex( ( lIndex ), KERNEL_OBJECT_TYPE_TASK ) + #define MPU_GetIndexForTaskHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) ( xHandle ), KERNEL_OBJECT_TYPE_TASK ) /* * Wrappers to keep all the casting in one place for Event Group APIs. */ - #define MPU_StoreEventGroupHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( lIndex, ( OpaqueObjectHandle_t ) xHandle, NULL, KERNEL_OBJECT_TYPE_EVENT_GROUP ) - #define MPU_GetEventGroupHandleAtIndex( lIndex ) ( EventGroupHandle_t ) MPU_GetHandleAtIndex( lIndex, KERNEL_OBJECT_TYPE_EVENT_GROUP ) - #define MPU_GetIndexForEventGroupHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) xHandle, KERNEL_OBJECT_TYPE_EVENT_GROUP ) + #define MPU_StoreEventGroupHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( ( lIndex ), ( OpaqueObjectHandle_t ) ( xHandle ), NULL, KERNEL_OBJECT_TYPE_EVENT_GROUP ) + #define MPU_GetEventGroupHandleAtIndex( lIndex ) ( EventGroupHandle_t ) MPU_GetHandleAtIndex( ( lIndex ), KERNEL_OBJECT_TYPE_EVENT_GROUP ) + #define MPU_GetIndexForEventGroupHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) ( xHandle ), KERNEL_OBJECT_TYPE_EVENT_GROUP ) /* * Wrappers to keep all the casting in one place for Stream Buffer APIs. */ - #define MPU_StoreStreamBufferHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( lIndex, ( OpaqueObjectHandle_t ) xHandle, NULL, KERNEL_OBJECT_TYPE_STREAM_BUFFER ) - #define MPU_GetStreamBufferHandleAtIndex( lIndex ) ( StreamBufferHandle_t ) MPU_GetHandleAtIndex( lIndex, KERNEL_OBJECT_TYPE_STREAM_BUFFER ) - #define MPU_GetIndexForStreamBufferHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) xHandle, KERNEL_OBJECT_TYPE_STREAM_BUFFER ) + #define MPU_StoreStreamBufferHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( ( lIndex ), ( OpaqueObjectHandle_t ) ( xHandle), NULL, KERNEL_OBJECT_TYPE_STREAM_BUFFER ) + #define MPU_GetStreamBufferHandleAtIndex( lIndex ) ( StreamBufferHandle_t ) MPU_GetHandleAtIndex( ( lIndex ), KERNEL_OBJECT_TYPE_STREAM_BUFFER ) + #define MPU_GetIndexForStreamBufferHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) ( xHandle ), KERNEL_OBJECT_TYPE_STREAM_BUFFER ) #if ( configUSE_TIMERS == 1 ) /* * Wrappers to keep all the casting in one place for Timer APIs. */ - #define MPU_StoreTimerHandleAtIndex( lIndex, xHandle, pxApplicationCallback ) MPU_StoreHandleAndDataAtIndex( lIndex, ( OpaqueObjectHandle_t ) xHandle, ( void * ) pxApplicationCallback, KERNEL_OBJECT_TYPE_TIMER ) - #define MPU_GetTimerHandleAtIndex( lIndex ) ( TimerHandle_t ) MPU_GetHandleAtIndex( lIndex, KERNEL_OBJECT_TYPE_TIMER ) - #define MPU_GetIndexForTimerHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) xHandle, KERNEL_OBJECT_TYPE_TIMER ) + #define MPU_StoreTimerHandleAtIndex( lIndex, xHandle, pxApplicationCallback ) MPU_StoreHandleAndDataAtIndex( ( lIndex ), ( OpaqueObjectHandle_t ) ( xHandle ), ( void * ) ( pxApplicationCallback ), KERNEL_OBJECT_TYPE_TIMER ) + #define MPU_GetTimerHandleAtIndex( lIndex ) ( TimerHandle_t ) MPU_GetHandleAtIndex( ( lIndex ), KERNEL_OBJECT_TYPE_TIMER ) + #define MPU_GetIndexForTimerHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) ( xHandle ), KERNEL_OBJECT_TYPE_TIMER ) #endif /* #if ( configUSE_TIMERS == 1 ) */ From 1c35cb3bc90830fb58fbc15f76a16fa36adb7352 Mon Sep 17 00:00:00 2001 From: Darian <32921628+Dazza0@users.noreply.github.com> Date: Sat, 3 Feb 2024 03:46:20 +0800 Subject: [PATCH 02/38] Enable xTaskGetCurrentTaskHandleForCore() for single core builds (#978) Enable xTaskGetCurrentTaskHandleForCore() for single core builds --------- Co-authored-by: Paul Bartell Co-authored-by: Ching-Hsin Lee --- include/task.h | 4 +--- tasks.c | 36 ++++++++++++++++++++---------------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/include/task.h b/include/task.h index de12f429d..fa53f84d7 100644 --- a/include/task.h +++ b/include/task.h @@ -3574,9 +3574,7 @@ TaskHandle_t xTaskGetCurrentTaskHandle( void ) PRIVILEGED_FUNCTION; /* * Return the handle of the task running on specified core. */ -#if ( configNUMBER_OF_CORES > 1 ) - TaskHandle_t xTaskGetCurrentTaskHandleForCore( BaseType_t xCoreID ) PRIVILEGED_FUNCTION; -#endif +TaskHandle_t xTaskGetCurrentTaskHandleForCore( BaseType_t xCoreID ) PRIVILEGED_FUNCTION; /* * Shortcut used by the queue implementation to prevent unnecessary call to diff --git a/tasks.c b/tasks.c index 38a80e2de..037ca2af9 100644 --- a/tasks.c +++ b/tasks.c @@ -6559,24 +6559,28 @@ static void prvResetNextTaskUnblockTime( void ) return xReturn; } - - TaskHandle_t xTaskGetCurrentTaskHandleForCore( BaseType_t xCoreID ) - { - TaskHandle_t xReturn = NULL; - - traceENTER_xTaskGetCurrentTaskHandleForCore( xCoreID ); - - if( taskVALID_CORE_ID( xCoreID ) != pdFALSE ) - { - xReturn = pxCurrentTCBs[ xCoreID ]; - } - - traceRETURN_xTaskGetCurrentTaskHandleForCore( xReturn ); - - return xReturn; - } #endif /* #if ( configNUMBER_OF_CORES == 1 ) */ + TaskHandle_t xTaskGetCurrentTaskHandleForCore( BaseType_t xCoreID ) + { + TaskHandle_t xReturn = NULL; + + traceENTER_xTaskGetCurrentTaskHandleForCore( xCoreID ); + + if( taskVALID_CORE_ID( xCoreID ) != pdFALSE ) + { + #if ( configNUMBER_OF_CORES == 1 ) + xReturn = pxCurrentTCB; + #else /* #if ( configNUMBER_OF_CORES == 1 ) */ + xReturn = pxCurrentTCBs[ xCoreID ]; + #endif /* #if ( configNUMBER_OF_CORES == 1 ) */ + } + + traceRETURN_xTaskGetCurrentTaskHandleForCore( xReturn ); + + return xReturn; + } + #endif /* ( ( INCLUDE_xTaskGetCurrentTaskHandle == 1 ) || ( configUSE_MUTEXES == 1 ) ) */ /*-----------------------------------------------------------*/ From c19b13cdfc326b55e4b7016333a58053400674c7 Mon Sep 17 00:00:00 2001 From: bradleysmith23 <74752142+bradleysmith23@users.noreply.github.com> Date: Fri, 2 Feb 2024 14:28:43 -0800 Subject: [PATCH 03/38] Fix MISRA C 2012 Rule 14.4 Violations. (#975) * Fix MISRA rule 14.4 violations. * Use pdFALSE instead of 0 in comparison Co-authored-by: chinglee-iot <61685396+chinglee-iot@users.noreply.github.com> * Uncrustify: triggered by comment. * Run Github Actions. --------- Co-authored-by: chinglee-iot <61685396+chinglee-iot@users.noreply.github.com> Co-authored-by: GitHub Action Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> --- tasks.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/tasks.c b/tasks.c index 037ca2af9..b0af5ffbe 100644 --- a/tasks.c +++ b/tasks.c @@ -175,17 +175,17 @@ /*-----------------------------------------------------------*/ #if ( configNUMBER_OF_CORES == 1 ) - #define taskSELECT_HIGHEST_PRIORITY_TASK() \ - do { \ - UBaseType_t uxTopPriority = uxTopReadyPriority; \ - \ - /* Find the highest priority queue that contains ready tasks. */ \ - while( listLIST_IS_EMPTY( &( pxReadyTasksLists[ uxTopPriority ] ) ) ) \ - { \ - configASSERT( uxTopPriority ); \ - --uxTopPriority; \ - } \ - \ + #define taskSELECT_HIGHEST_PRIORITY_TASK() \ + do { \ + UBaseType_t uxTopPriority = uxTopReadyPriority; \ + \ + /* Find the highest priority queue that contains ready tasks. */ \ + while( listLIST_IS_EMPTY( &( pxReadyTasksLists[ uxTopPriority ] ) ) != pdFALSE ) \ + { \ + configASSERT( uxTopPriority ); \ + --uxTopPriority; \ + } \ + \ /* listGET_OWNER_OF_NEXT_ENTRY indexes through the list, so the tasks of \ * the same priority get an equal share of the processor time. */ \ listGET_OWNER_OF_NEXT_ENTRY( pxCurrentTCB, &( pxReadyTasksLists[ uxTopPriority ] ) ); \ From 1065389c4e6356122b9642b1e23ff3835b3dfde9 Mon Sep 17 00:00:00 2001 From: bradleysmith23 <74752142+bradleysmith23@users.noreply.github.com> Date: Mon, 5 Feb 2024 04:38:15 -0800 Subject: [PATCH 04/38] Fix MISRA C 2012 Rule 10.4 Violations (#972) Fixes for violations of MISRA rule 10.4 --- portable/Common/mpu_wrappers_v2.c | 38 +++++++++++++++---------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/portable/Common/mpu_wrappers_v2.c b/portable/Common/mpu_wrappers_v2.c index 4f876ab99..af9e9f129 100644 --- a/portable/Common/mpu_wrappers_v2.c +++ b/portable/Common/mpu_wrappers_v2.c @@ -92,16 +92,16 @@ /** * @brief Checks whether an external index is valid or not. */ - #define IS_EXTERNAL_INDEX_VALID( lIndex ) \ - ( ( ( lIndex ) >= INDEX_OFFSET ) && \ - ( ( lIndex ) < ( configPROTECTED_KERNEL_OBJECT_POOL_SIZE + INDEX_OFFSET ) ) ) + #define IS_EXTERNAL_INDEX_VALID( lIndex ) \ + ( ( ( ( lIndex ) >= INDEX_OFFSET ) && \ + ( ( lIndex ) < ( configPROTECTED_KERNEL_OBJECT_POOL_SIZE + INDEX_OFFSET ) ) ) ? pdTRUE : pdFALSE ) /** * @brief Checks whether an internal index is valid or not. */ - #define IS_INTERNAL_INDEX_VALID( lIndex ) \ - ( ( ( lIndex ) >= 0 ) && \ - ( ( lIndex ) < ( configPROTECTED_KERNEL_OBJECT_POOL_SIZE ) ) ) + #define IS_INTERNAL_INDEX_VALID( lIndex ) \ + ( ( ( ( lIndex ) >= 0 ) && \ + ( ( lIndex ) < ( configPROTECTED_KERNEL_OBJECT_POOL_SIZE ) ) ) ? pdTRUE : pdFALSE ) /** * @brief Converts an internal index into external. @@ -2197,7 +2197,7 @@ if( ( !( ( pvItemToQueue == NULL ) && ( uxQueueItemSize != ( UBaseType_t ) 0U ) ) ) && ( !( ( xCopyPosition == queueOVERWRITE ) && ( uxQueueLength != ( UBaseType_t ) 1U ) ) ) #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) - && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ) + && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0U ) ) ) #endif ) { @@ -2312,7 +2312,7 @@ if( ( !( ( ( pvBuffer ) == NULL ) && ( uxQueueItemSize != ( UBaseType_t ) 0U ) ) ) #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) - && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ) + && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0U ) ) ) #endif ) { @@ -2364,7 +2364,7 @@ if( ( !( ( ( pvBuffer ) == NULL ) && ( uxQueueItemSize != ( UBaseType_t ) 0U ) ) ) #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) - && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ) + && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0U ) ) ) #endif ) { @@ -2411,9 +2411,9 @@ { uxQueueItemSize = uxQueueGetQueueItemSize( xInternalQueueHandle ); - if( ( uxQueueItemSize == 0 ) + if( ( uxQueueItemSize == 0U ) #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) - && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ) + && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0U ) ) ) #endif ) { @@ -3906,10 +3906,10 @@ if( xAreParamsReadable == pdTRUE ) { - if( ( ( pxParams->uxBitsToWaitFor & eventEVENT_BITS_CONTROL_BYTES ) == 0 ) && - ( pxParams->uxBitsToWaitFor != 0 ) + if( ( ( pxParams->uxBitsToWaitFor & eventEVENT_BITS_CONTROL_BYTES ) == 0U ) && + ( pxParams->uxBitsToWaitFor != 0U ) #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) - && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( pxParams->xTicksToWait != 0 ) ) ) + && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( pxParams->xTicksToWait != 0U ) ) ) #endif ) { @@ -3951,7 +3951,7 @@ int32_t lIndex; BaseType_t xCallingTaskIsAuthorizedToAccessEventGroup = pdFALSE; - if( ( uxBitsToClear & eventEVENT_BITS_CONTROL_BYTES ) == 0 ) + if( ( uxBitsToClear & eventEVENT_BITS_CONTROL_BYTES ) == 0U ) { lIndex = ( int32_t ) xEventGroup; @@ -3986,7 +3986,7 @@ int32_t lIndex; BaseType_t xCallingTaskIsAuthorizedToAccessEventGroup = pdFALSE; - if( ( uxBitsToSet & eventEVENT_BITS_CONTROL_BYTES ) == 0 ) + if( ( uxBitsToSet & eventEVENT_BITS_CONTROL_BYTES ) == 0U ) { lIndex = ( int32_t ) xEventGroup; @@ -4025,10 +4025,10 @@ int32_t lIndex; BaseType_t xCallingTaskIsAuthorizedToAccessEventGroup = pdFALSE; - if( ( ( uxBitsToWaitFor & eventEVENT_BITS_CONTROL_BYTES ) == 0 ) && - ( uxBitsToWaitFor != 0 ) + if( ( ( uxBitsToWaitFor & eventEVENT_BITS_CONTROL_BYTES ) == 0U ) && + ( uxBitsToWaitFor != 0U ) #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) - && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ) + && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0U ) ) ) #endif ) { From 938ec0f7bfb86ab70e49c23be625c99d760db4eb Mon Sep 17 00:00:00 2001 From: Eric Jackson <115876528+ericbj29@users.noreply.github.com> Date: Mon, 5 Feb 2024 10:31:52 -0800 Subject: [PATCH 05/38] Correct ARM port folder capitalization (#981) * Rename Arm_AARCH64 to ARM_AARCH64 * Rename Arm_AARCH64_SRE to ARM_AARCH64_SRE * Update cmake for ARM port folder capitalization * Update in portable/CmakeLists.txt * Use capitalization name in port README.md --------- Co-authored-by: Ching-Hsin Lee --- portable/CMakeLists.txt | 8 ++++---- portable/GCC/{Arm_AARCH64 => ARM_AARCH64}/README.md | 4 ++-- portable/GCC/{Arm_AARCH64 => ARM_AARCH64}/port.c | 0 portable/GCC/{Arm_AARCH64 => ARM_AARCH64}/portASM.S | 0 portable/GCC/{Arm_AARCH64 => ARM_AARCH64}/portmacro.h | 0 .../GCC/{Arm_AARCH64_SRE => ARM_AARCH64_SRE}/README.md | 4 ++-- portable/GCC/{Arm_AARCH64_SRE => ARM_AARCH64_SRE}/port.c | 0 .../GCC/{Arm_AARCH64_SRE => ARM_AARCH64_SRE}/portASM.S | 0 .../GCC/{Arm_AARCH64_SRE => ARM_AARCH64_SRE}/portmacro.h | 0 portable/GCC/ARM_CA53_64_BIT/README.md | 4 ++-- portable/GCC/ARM_CA53_64_BIT_SRE/README.md | 6 +++--- 11 files changed, 13 insertions(+), 13 deletions(-) rename portable/GCC/{Arm_AARCH64 => ARM_AARCH64}/README.md (96%) rename portable/GCC/{Arm_AARCH64 => ARM_AARCH64}/port.c (100%) rename portable/GCC/{Arm_AARCH64 => ARM_AARCH64}/portASM.S (100%) rename portable/GCC/{Arm_AARCH64 => ARM_AARCH64}/portmacro.h (100%) rename portable/GCC/{Arm_AARCH64_SRE => ARM_AARCH64_SRE}/README.md (95%) rename portable/GCC/{Arm_AARCH64_SRE => ARM_AARCH64_SRE}/port.c (100%) rename portable/GCC/{Arm_AARCH64_SRE => ARM_AARCH64_SRE}/portASM.S (100%) rename portable/GCC/{Arm_AARCH64_SRE => ARM_AARCH64_SRE}/portmacro.h (100%) diff --git a/portable/CMakeLists.txt b/portable/CMakeLists.txt index 98dcf8ed3..c067e9706 100644 --- a/portable/CMakeLists.txt +++ b/portable/CMakeLists.txt @@ -68,12 +68,12 @@ add_library(freertos_kernel_port OBJECT # ARMv8-A ports for GCC $<$: - GCC/Arm_AARCH64/port.c - GCC/Arm_AARCH64/portASM.S> + GCC/ARM_AARCH64/port.c + GCC/ARM_AARCH64/portASM.S> $<$: - GCC/Arm_AARCH64_SRE/port.c - GCC/Arm_AARCH64_SRE/portASM.S> + GCC/ARM_AARCH64_SRE/port.c + GCC/ARM_AARCH64_SRE/portASM.S> # ARMv6-M port for GCC $<$: diff --git a/portable/GCC/Arm_AARCH64/README.md b/portable/GCC/ARM_AARCH64/README.md similarity index 96% rename from portable/GCC/Arm_AARCH64/README.md rename to portable/GCC/ARM_AARCH64/README.md index 70552c202..0bee96951 100644 --- a/portable/GCC/Arm_AARCH64/README.md +++ b/portable/GCC/ARM_AARCH64/README.md @@ -13,11 +13,11 @@ the T32 and A32 instruction sets. Follow the [link](https://developer.arm.com/Architectures/A-Profile%20Architecture) for more information. -## Arm_AARCH64 port +## ARM_AARCH64 port This port adds support for Armv8-A architecture AArch64 execution state. This port is generic and can be used as a starting point for Armv8-A application processors. -* Arm_AARCH64 +* ARM_AARCH64 * Memory mapped interace to access Arm GIC registers diff --git a/portable/GCC/Arm_AARCH64/port.c b/portable/GCC/ARM_AARCH64/port.c similarity index 100% rename from portable/GCC/Arm_AARCH64/port.c rename to portable/GCC/ARM_AARCH64/port.c diff --git a/portable/GCC/Arm_AARCH64/portASM.S b/portable/GCC/ARM_AARCH64/portASM.S similarity index 100% rename from portable/GCC/Arm_AARCH64/portASM.S rename to portable/GCC/ARM_AARCH64/portASM.S diff --git a/portable/GCC/Arm_AARCH64/portmacro.h b/portable/GCC/ARM_AARCH64/portmacro.h similarity index 100% rename from portable/GCC/Arm_AARCH64/portmacro.h rename to portable/GCC/ARM_AARCH64/portmacro.h diff --git a/portable/GCC/Arm_AARCH64_SRE/README.md b/portable/GCC/ARM_AARCH64_SRE/README.md similarity index 95% rename from portable/GCC/Arm_AARCH64_SRE/README.md rename to portable/GCC/ARM_AARCH64_SRE/README.md index 0b2e0e485..4c9a55af0 100644 --- a/portable/GCC/Arm_AARCH64_SRE/README.md +++ b/portable/GCC/ARM_AARCH64_SRE/README.md @@ -13,11 +13,11 @@ the T32 and A32 instruction sets. Follow the [link](https://developer.arm.com/Architectures/A-Profile%20Architecture) for more information. -## Arm_AARCH64_SRE port +## ARM_AARCH64_SRE port This port adds support for Armv8-A architecture AArch64 execution state. This port is generic and can be used as a starting point for Armv8-A application processors. -* Arm_AARCH64_SRE +* ARM_AARCH64_SRE * System Register interace to access Arm GIC registers diff --git a/portable/GCC/Arm_AARCH64_SRE/port.c b/portable/GCC/ARM_AARCH64_SRE/port.c similarity index 100% rename from portable/GCC/Arm_AARCH64_SRE/port.c rename to portable/GCC/ARM_AARCH64_SRE/port.c diff --git a/portable/GCC/Arm_AARCH64_SRE/portASM.S b/portable/GCC/ARM_AARCH64_SRE/portASM.S similarity index 100% rename from portable/GCC/Arm_AARCH64_SRE/portASM.S rename to portable/GCC/ARM_AARCH64_SRE/portASM.S diff --git a/portable/GCC/Arm_AARCH64_SRE/portmacro.h b/portable/GCC/ARM_AARCH64_SRE/portmacro.h similarity index 100% rename from portable/GCC/Arm_AARCH64_SRE/portmacro.h rename to portable/GCC/ARM_AARCH64_SRE/portmacro.h diff --git a/portable/GCC/ARM_CA53_64_BIT/README.md b/portable/GCC/ARM_CA53_64_BIT/README.md index b3d56c040..a8df29e91 100644 --- a/portable/GCC/ARM_CA53_64_BIT/README.md +++ b/portable/GCC/ARM_CA53_64_BIT/README.md @@ -8,8 +8,8 @@ Arm Cortex-A53 processor. This port is generic and can be used as a starting point for other Armv8-A application processors. Therefore, the port `ARM_CA53_64_BIT` is renamed as -`Arm_AARCH64`. The existing projects that use old port `ARM_CA53_64_BIT`, -should migrate to renamed port `Arm_AARCH64`. +`ARM_AARCH64`. The existing projects that use old port `ARM_CA53_64_BIT`, +should migrate to renamed port `ARM_AARCH64`. **NOTE** diff --git a/portable/GCC/ARM_CA53_64_BIT_SRE/README.md b/portable/GCC/ARM_CA53_64_BIT_SRE/README.md index fb5d7936a..a5d415fc2 100644 --- a/portable/GCC/ARM_CA53_64_BIT_SRE/README.md +++ b/portable/GCC/ARM_CA53_64_BIT_SRE/README.md @@ -7,9 +7,9 @@ Arm Cortex-A53 processor. * System Register interace to access Arm GIC registers This port is generic and can be used as a starting point for other Armv8-A -application processors. Therefore, the port `Arm_AARCH64_SRE` is renamed as -`Arm_AARCH64_SRE`. The existing projects that use old port `Arm_AARCH64_SRE`, -should migrate to renamed port `Arm_AARCH64_SRE`. +application processors. Therefore, the port `ARM_AARCH64_SRE` is renamed as +`ARM_AARCH64_SRE`. The existing projects that use old port `ARM_AARCH64_SRE`, +should migrate to renamed port `ARM_AARCH64_SRE`. **NOTE** From 23afc48fc370da20d4526a059807be95ba38ef74 Mon Sep 17 00:00:00 2001 From: Paul Bartell Date: Tue, 6 Feb 2024 02:18:14 -0800 Subject: [PATCH 06/38] Update version number (#983) * Update version number to 11.0.1+ in task.h * Update Third Party Port version to * Update version to 11.0.1 in manifest.yml --- include/task.h | 8 ++++---- manifest.yml | 2 +- .../ThirdParty/GCC/RP2040/include/freertos_sdk_config.h | 2 +- portable/ThirdParty/GCC/RP2040/include/portmacro.h | 2 +- portable/ThirdParty/GCC/RP2040/include/rp2040_config.h | 2 +- portable/ThirdParty/GCC/RP2040/port.c | 2 +- .../GCC/Xtensa_ESP32/include/FreeRTOSConfig_arch.h | 2 +- portable/ThirdParty/GCC/Xtensa_ESP32/include/portmacro.h | 2 +- portable/ThirdParty/GCC/Xtensa_ESP32/port.c | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/task.h b/include/task.h index fa53f84d7..69d61a7b4 100644 --- a/include/task.h +++ b/include/task.h @@ -53,10 +53,10 @@ * The tskKERNEL_VERSION_MAJOR, tskKERNEL_VERSION_MINOR, tskKERNEL_VERSION_BUILD * values will reflect the last released version number. */ -#define tskKERNEL_VERSION_NUMBER "V10.4.4+" -#define tskKERNEL_VERSION_MAJOR 10 -#define tskKERNEL_VERSION_MINOR 4 -#define tskKERNEL_VERSION_BUILD 4 +#define tskKERNEL_VERSION_NUMBER "V11.0.1+" +#define tskKERNEL_VERSION_MAJOR 11 +#define tskKERNEL_VERSION_MINOR 0 +#define tskKERNEL_VERSION_BUILD 1 /* MPU region parameters passed in ulParameters * of MemoryRegion_t struct. */ diff --git a/manifest.yml b/manifest.yml index 211e3c2ae..ac13cb60a 100644 --- a/manifest.yml +++ b/manifest.yml @@ -1,4 +1,4 @@ name : "FreeRTOS-Kernel" -version: "v10.5.1" +version: "v11.0.1+" description: "FreeRTOS Kernel." license: "MIT" diff --git a/portable/ThirdParty/GCC/RP2040/include/freertos_sdk_config.h b/portable/ThirdParty/GCC/RP2040/include/freertos_sdk_config.h index bf9fdca5e..8d0676d95 100644 --- a/portable/ThirdParty/GCC/RP2040/include/freertos_sdk_config.h +++ b/portable/ThirdParty/GCC/RP2040/include/freertos_sdk_config.h @@ -1,5 +1,5 @@ /* - * FreeRTOS Kernel V10.4.3 + * FreeRTOS Kernel * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * Copyright (c) 2021 Raspberry Pi (Trading) Ltd. * diff --git a/portable/ThirdParty/GCC/RP2040/include/portmacro.h b/portable/ThirdParty/GCC/RP2040/include/portmacro.h index 2b3f822b5..c9173fdea 100644 --- a/portable/ThirdParty/GCC/RP2040/include/portmacro.h +++ b/portable/ThirdParty/GCC/RP2040/include/portmacro.h @@ -1,5 +1,5 @@ /* - * FreeRTOS Kernel V10.4.3 + * FreeRTOS Kernel * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * Copyright (c) 2021 Raspberry Pi (Trading) Ltd. * diff --git a/portable/ThirdParty/GCC/RP2040/include/rp2040_config.h b/portable/ThirdParty/GCC/RP2040/include/rp2040_config.h index a0f65c761..9fbbd15be 100644 --- a/portable/ThirdParty/GCC/RP2040/include/rp2040_config.h +++ b/portable/ThirdParty/GCC/RP2040/include/rp2040_config.h @@ -1,5 +1,5 @@ /* - * FreeRTOS Kernel V10.4.3 + * FreeRTOS Kernel * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * Copyright (c) 2021 Raspberry Pi (Trading) Ltd. * diff --git a/portable/ThirdParty/GCC/RP2040/port.c b/portable/ThirdParty/GCC/RP2040/port.c index d022ca2fa..dda46f6f6 100644 --- a/portable/ThirdParty/GCC/RP2040/port.c +++ b/portable/ThirdParty/GCC/RP2040/port.c @@ -1,5 +1,5 @@ /* - * FreeRTOS Kernel V10.4.3 + * FreeRTOS Kernel * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * Copyright (c) 2021 Raspberry Pi (Trading) Ltd. * diff --git a/portable/ThirdParty/GCC/Xtensa_ESP32/include/FreeRTOSConfig_arch.h b/portable/ThirdParty/GCC/Xtensa_ESP32/include/FreeRTOSConfig_arch.h index 111c99f1a..f9c9630da 100644 --- a/portable/ThirdParty/GCC/Xtensa_ESP32/include/FreeRTOSConfig_arch.h +++ b/portable/ThirdParty/GCC/Xtensa_ESP32/include/FreeRTOSConfig_arch.h @@ -7,7 +7,7 @@ */ /* - * FreeRTOS Kernel V10.4.3 + * FreeRTOS Kernel * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/portable/ThirdParty/GCC/Xtensa_ESP32/include/portmacro.h b/portable/ThirdParty/GCC/Xtensa_ESP32/include/portmacro.h index d3635f13b..e5e84efbc 100644 --- a/portable/ThirdParty/GCC/Xtensa_ESP32/include/portmacro.h +++ b/portable/ThirdParty/GCC/Xtensa_ESP32/include/portmacro.h @@ -8,7 +8,7 @@ */ /* - * FreeRTOS Kernel V10.4.3 + * FreeRTOS Kernel * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/portable/ThirdParty/GCC/Xtensa_ESP32/port.c b/portable/ThirdParty/GCC/Xtensa_ESP32/port.c index 3f30592e7..f018bfd3f 100644 --- a/portable/ThirdParty/GCC/Xtensa_ESP32/port.c +++ b/portable/ThirdParty/GCC/Xtensa_ESP32/port.c @@ -8,7 +8,7 @@ */ /* - * FreeRTOS Kernel V10.4.3 + * FreeRTOS Kernel * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of From 57a5ed7f675e828fe020c33e636e094fa1354ea8 Mon Sep 17 00:00:00 2001 From: chinglee-iot <61685396+chinglee-iot@users.noreply.github.com> Date: Tue, 6 Feb 2024 20:41:34 +0800 Subject: [PATCH 07/38] Fix SMP task self void run state change (#984) * Request a task to yield after been suspended or deleted to prevent this task puts itself back to another list * Fix volatile variable access order to ensure ensure compliance with MISRA C 2012 Rule 13.5 --------- Signed-off-by: Gaurav Aggarwal Co-authored-by: Gaurav Aggarwal --- tasks.c | 167 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 89 insertions(+), 78 deletions(-) diff --git a/tasks.c b/tasks.c index b0af5ffbe..5cda6ec85 100644 --- a/tasks.c +++ b/tasks.c @@ -2191,6 +2191,7 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode, { TCB_t * pxTCB; BaseType_t xDeleteTCBInIdleTask = pdFALSE; + BaseType_t xTaskIsRunningOrYielding; traceENTER_vTaskDelete( xTaskToDelete ); @@ -2226,10 +2227,15 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode, * not return. */ uxTaskNumber++; + /* Use temp variable as distinct sequence points for reading volatile + * variables prior to a logical operator to ensure compliance with + * MISRA C 2012 Rule 13.5. */ + xTaskIsRunningOrYielding = taskTASK_IS_RUNNING_OR_SCHEDULED_TO_YIELD( pxTCB ); + /* If the task is running (or yielding), we must add it to the * termination list so that an idle task can delete it when it is * no longer running. */ - if( ( xSchedulerRunning != pdFALSE ) && ( taskTASK_IS_RUNNING_OR_SCHEDULED_TO_YIELD( pxTCB ) != pdFALSE ) ) + if( ( xSchedulerRunning != pdFALSE ) && ( xTaskIsRunningOrYielding != pdFALSE ) ) { /* A running task or a task which is scheduled to yield is being * deleted. This cannot complete when the task is still running @@ -2261,6 +2267,30 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode, #else portPRE_TASK_DELETE_HOOK( pxTCB, &( xYieldPendings[ pxTCB->xTaskRunState ] ) ); #endif + + /* In the case of SMP, it is possible that the task being deleted + * is running on another core. We must evict the task before + * exiting the critical section to ensure that the task cannot + * take an action which puts it back on ready/state/event list, + * thereby nullifying the delete operation. Once evicted, the + * task won't be scheduled ever as it will no longer be on the + * ready list. */ + #if ( configNUMBER_OF_CORES > 1 ) + { + if( taskTASK_IS_RUNNING( pxTCB ) == pdTRUE ) + { + if( pxTCB->xTaskRunState == ( BaseType_t ) portGET_CORE_ID() ) + { + configASSERT( uxSchedulerSuspended == 0 ); + taskYIELD_WITHIN_API(); + } + else + { + prvYieldCore( pxTCB->xTaskRunState ); + } + } + } + #endif /* #if ( configNUMBER_OF_CORES > 1 ) */ } else { @@ -2284,9 +2314,9 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode, /* Force a reschedule if it is the currently running task that has just * been deleted. */ - if( xSchedulerRunning != pdFALSE ) + #if ( configNUMBER_OF_CORES == 1 ) { - #if ( configNUMBER_OF_CORES == 1 ) + if( xSchedulerRunning != pdFALSE ) { if( pxTCB == pxCurrentTCB ) { @@ -2298,30 +2328,8 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode, mtCOVERAGE_TEST_MARKER(); } } - #else /* #if ( configNUMBER_OF_CORES == 1 ) */ - { - /* It is important to use critical section here because - * checking run state of a task must be done inside a - * critical section. */ - taskENTER_CRITICAL(); - { - if( taskTASK_IS_RUNNING( pxTCB ) == pdTRUE ) - { - if( pxTCB->xTaskRunState == ( BaseType_t ) portGET_CORE_ID() ) - { - configASSERT( uxSchedulerSuspended == 0 ); - taskYIELD_WITHIN_API(); - } - else - { - prvYieldCore( pxTCB->xTaskRunState ); - } - } - } - taskEXIT_CRITICAL(); - } - #endif /* #if ( configNUMBER_OF_CORES == 1 ) */ } + #endif /* #if ( configNUMBER_OF_CORES == 1 ) */ traceRETURN_vTaskDelete(); } @@ -3155,26 +3163,66 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode, } } #endif /* if ( configUSE_TASK_NOTIFICATIONS == 1 ) */ + + /* In the case of SMP, it is possible that the task being suspended + * is running on another core. We must evict the task before + * exiting the critical section to ensure that the task cannot + * take an action which puts it back on ready/state/event list, + * thereby nullifying the suspend operation. Once evicted, the + * task won't be scheduled before it is resumed as it will no longer + * be on the ready list. */ + #if ( configNUMBER_OF_CORES > 1 ) + { + if( xSchedulerRunning != pdFALSE ) + { + /* Reset the next expected unblock time in case it referred to the + * task that is now in the Suspended state. */ + prvResetNextTaskUnblockTime(); + + if( taskTASK_IS_RUNNING( pxTCB ) == pdTRUE ) + { + if( pxTCB->xTaskRunState == ( BaseType_t ) portGET_CORE_ID() ) + { + /* The current task has just been suspended. */ + configASSERT( uxSchedulerSuspended == 0 ); + vTaskYieldWithinAPI(); + } + else + { + prvYieldCore( pxTCB->xTaskRunState ); + } + } + else + { + mtCOVERAGE_TEST_MARKER(); + } + } + else + { + mtCOVERAGE_TEST_MARKER(); + } + } + #endif /* #if ( configNUMBER_OF_CORES > 1 ) */ } taskEXIT_CRITICAL(); - if( xSchedulerRunning != pdFALSE ) - { - /* Reset the next expected unblock time in case it referred to the - * task that is now in the Suspended state. */ - taskENTER_CRITICAL(); - { - prvResetNextTaskUnblockTime(); - } - taskEXIT_CRITICAL(); - } - else - { - mtCOVERAGE_TEST_MARKER(); - } - #if ( configNUMBER_OF_CORES == 1 ) { + if( xSchedulerRunning != pdFALSE ) + { + /* Reset the next expected unblock time in case it referred to the + * task that is now in the Suspended state. */ + taskENTER_CRITICAL(); + { + prvResetNextTaskUnblockTime(); + } + taskEXIT_CRITICAL(); + } + else + { + mtCOVERAGE_TEST_MARKER(); + } + if( pxTCB == pxCurrentTCB ) { if( xSchedulerRunning != pdFALSE ) @@ -3207,43 +3255,6 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode, mtCOVERAGE_TEST_MARKER(); } } - #else /* #if ( configNUMBER_OF_CORES == 1 ) */ - { - /* Enter critical section here to check run state of a task. */ - taskENTER_CRITICAL(); - { - if( taskTASK_IS_RUNNING( pxTCB ) == pdTRUE ) - { - if( xSchedulerRunning != pdFALSE ) - { - if( pxTCB->xTaskRunState == ( BaseType_t ) portGET_CORE_ID() ) - { - /* The current task has just been suspended. */ - configASSERT( uxSchedulerSuspended == 0 ); - vTaskYieldWithinAPI(); - } - else - { - prvYieldCore( pxTCB->xTaskRunState ); - } - } - else - { - /* This code path is not possible because only Idle tasks are - * assigned a core before the scheduler is started ( i.e. - * taskTASK_IS_RUNNING is only true for idle tasks before - * the scheduler is started ) and idle tasks cannot be - * suspended. */ - mtCOVERAGE_TEST_MARKER(); - } - } - else - { - mtCOVERAGE_TEST_MARKER(); - } - } - taskEXIT_CRITICAL(); - } #endif /* #if ( configNUMBER_OF_CORES == 1 ) */ traceRETURN_vTaskSuspend(); From 7284d84dc88c5aaf2dc8337044177728b8bdae2d Mon Sep 17 00:00:00 2001 From: Darian <32921628+Dazza0@users.noreply.github.com> Date: Wed, 7 Feb 2024 13:14:04 +0800 Subject: [PATCH 08/38] Update task notification scheduler suspension usage (#982) * Update task notification scheduler suspension Previously ulTaskGenericNotifyTake() and xTaskGenericNotifyWait() would suspend the scheduler while inside a critical section. This commit changes the order by wrapping the critical sections in a scheduler suspension block. This logic is more inuitive and allows the SMP scheduler suspension logic to be simplified. * tasks.c: Fix typo * Use a complete sentence in comment * Check portGET_CRITICAL_NESTING_COUNT when scheduler is running * Prevent potential NULL pointer access when scheduler is not running --------- Co-authored-by: Paul Bartell Co-authored-by: chinglee-iot <61685396+chinglee-iot@users.noreply.github.com> Co-authored-by: Ching-Hsin Lee --- tasks.c | 211 +++++++++++++++++++++++--------------------------------- 1 file changed, 87 insertions(+), 124 deletions(-) diff --git a/tasks.c b/tasks.c index 5cda6ec85..d226a91de 100644 --- a/tasks.c +++ b/tasks.c @@ -3822,6 +3822,9 @@ void vTaskSuspendAll( void ) if( xSchedulerRunning != pdFALSE ) { + /* This must never be called from inside a critical section. */ + configASSERT( portGET_CRITICAL_NESTING_COUNT() == 0 ); + /* Writes to uxSchedulerSuspended must be protected by both the task AND ISR locks. * We must disable interrupts before we grab the locks in the event that this task is * interrupted and switches context before incrementing uxSchedulerSuspended. @@ -3840,14 +3843,7 @@ void vTaskSuspendAll( void ) * it. */ if( uxSchedulerSuspended == 0U ) { - if( portGET_CRITICAL_NESTING_COUNT() == 0U ) - { - prvCheckForRunStateChange(); - } - else - { - mtCOVERAGE_TEST_MARKER(); - } + prvCheckForRunStateChange(); } else { @@ -7676,83 +7672,67 @@ TickType_t uxTaskResetEventItemValue( void ) TickType_t xTicksToWait ) { uint32_t ulReturn; - BaseType_t xAlreadyYielded; + BaseType_t xAlreadyYielded, xShouldBlock = pdFALSE; traceENTER_ulTaskGenericNotifyTake( uxIndexToWaitOn, xClearCountOnExit, xTicksToWait ); configASSERT( uxIndexToWaitOn < configTASK_NOTIFICATION_ARRAY_ENTRIES ); - taskENTER_CRITICAL(); - - /* Only block if the notification count is not already non-zero. */ - if( pxCurrentTCB->ulNotifiedValue[ uxIndexToWaitOn ] == 0UL ) + /* We suspend the scheduler here as prvAddCurrentTaskToDelayedList is a + * non-deterministic operation. */ + vTaskSuspendAll(); { - /* Mark this task as waiting for a notification. */ - pxCurrentTCB->ucNotifyState[ uxIndexToWaitOn ] = taskWAITING_NOTIFICATION; - - if( xTicksToWait > ( TickType_t ) 0 ) + /* We MUST enter a critical section to atomically check if a notification + * has occurred and set the flag to indicate that we are waiting for + * a notification. If we do not do so, a notification sent from an ISR + * will get lost. */ + taskENTER_CRITICAL(); { - traceTASK_NOTIFY_TAKE_BLOCK( uxIndexToWaitOn ); - - /* We MUST suspend the scheduler before exiting the critical - * section (i.e. before enabling interrupts). - * - * If we do not do so, a notification sent from an ISR, which - * happens after exiting the critical section and before - * suspending the scheduler, will get lost. The sequence of - * events will be: - * 1. Exit critical section. - * 2. Interrupt - ISR calls xTaskNotifyFromISR which adds the - * task to the Ready list. - * 3. Suspend scheduler. - * 4. prvAddCurrentTaskToDelayedList moves the task to the - * delayed or suspended list. - * 5. Resume scheduler does not touch the task (because it is - * not on the pendingReady list), effectively losing the - * notification from the ISR. - * - * The same does not happen when we suspend the scheduler before - * exiting the critical section. The sequence of events in this - * case will be: - * 1. Suspend scheduler. - * 2. Exit critical section. - * 3. Interrupt - ISR calls xTaskNotifyFromISR which adds the - * task to the pendingReady list as the scheduler is - * suspended. - * 4. prvAddCurrentTaskToDelayedList adds the task to delayed or - * suspended list. Note that this operation does not nullify - * the add to pendingReady list done in the above step because - * a different list item, namely xEventListItem, is used for - * adding the task to the pendingReady list. In other words, - * the task still remains on the pendingReady list. - * 5. Resume scheduler moves the task from pendingReady list to - * the Ready list. - */ - vTaskSuspendAll(); + /* Only block if the notification count is not already non-zero. */ + if( pxCurrentTCB->ulNotifiedValue[ uxIndexToWaitOn ] == 0UL ) { - taskEXIT_CRITICAL(); + /* Mark this task as waiting for a notification. */ + pxCurrentTCB->ucNotifyState[ uxIndexToWaitOn ] = taskWAITING_NOTIFICATION; - prvAddCurrentTaskToDelayedList( xTicksToWait, pdTRUE ); - } - xAlreadyYielded = xTaskResumeAll(); - - if( xAlreadyYielded == pdFALSE ) - { - taskYIELD_WITHIN_API(); + if( xTicksToWait > ( TickType_t ) 0 ) + { + xShouldBlock = pdTRUE; + } + else + { + mtCOVERAGE_TEST_MARKER(); + } } else { mtCOVERAGE_TEST_MARKER(); } } + taskEXIT_CRITICAL(); + + /* We are now out of the critical section but the scheduler is still + * suspended, so we are safe to do non-deterministic operations such + * as prvAddCurrentTaskToDelayedList. */ + if( xShouldBlock == pdTRUE ) + { + traceTASK_NOTIFY_TAKE_BLOCK( uxIndexToWaitOn ); + prvAddCurrentTaskToDelayedList( xTicksToWait, pdTRUE ); + } else { - taskEXIT_CRITICAL(); + mtCOVERAGE_TEST_MARKER(); } } + xAlreadyYielded = xTaskResumeAll(); + + /* Force a reschedule if xTaskResumeAll has not already done so. */ + if( ( xShouldBlock == pdTRUE ) && ( xAlreadyYielded == pdFALSE ) ) + { + taskYIELD_WITHIN_API(); + } else { - taskEXIT_CRITICAL(); + mtCOVERAGE_TEST_MARKER(); } taskENTER_CRITICAL(); @@ -7796,88 +7776,71 @@ TickType_t uxTaskResetEventItemValue( void ) uint32_t * pulNotificationValue, TickType_t xTicksToWait ) { - BaseType_t xReturn, xAlreadyYielded; + BaseType_t xReturn, xAlreadyYielded, xShouldBlock = pdFALSE; traceENTER_xTaskGenericNotifyWait( uxIndexToWaitOn, ulBitsToClearOnEntry, ulBitsToClearOnExit, pulNotificationValue, xTicksToWait ); configASSERT( uxIndexToWaitOn < configTASK_NOTIFICATION_ARRAY_ENTRIES ); - taskENTER_CRITICAL(); - - /* Only block if a notification is not already pending. */ - if( pxCurrentTCB->ucNotifyState[ uxIndexToWaitOn ] != taskNOTIFICATION_RECEIVED ) + /* We suspend the scheduler here as prvAddCurrentTaskToDelayedList is a + * non-deterministic operation. */ + vTaskSuspendAll(); { - /* Clear bits in the task's notification value as bits may get - * set by the notifying task or interrupt. This can be used to - * clear the value to zero. */ - pxCurrentTCB->ulNotifiedValue[ uxIndexToWaitOn ] &= ~ulBitsToClearOnEntry; - - /* Mark this task as waiting for a notification. */ - pxCurrentTCB->ucNotifyState[ uxIndexToWaitOn ] = taskWAITING_NOTIFICATION; - - if( xTicksToWait > ( TickType_t ) 0 ) + /* We MUST enter a critical section to atomically check and update the + * task notification value. If we do not do so, a notification from + * an ISR will get lost. */ + taskENTER_CRITICAL(); { - traceTASK_NOTIFY_WAIT_BLOCK( uxIndexToWaitOn ); - - /* We MUST suspend the scheduler before exiting the critical - * section (i.e. before enabling interrupts). - * - * If we do not do so, a notification sent from an ISR, which - * happens after exiting the critical section and before - * suspending the scheduler, will get lost. The sequence of - * events will be: - * 1. Exit critical section. - * 2. Interrupt - ISR calls xTaskNotifyFromISR which adds the - * task to the Ready list. - * 3. Suspend scheduler. - * 4. prvAddCurrentTaskToDelayedList moves the task to the - * delayed or suspended list. - * 5. Resume scheduler does not touch the task (because it is - * not on the pendingReady list), effectively losing the - * notification from the ISR. - * - * The same does not happen when we suspend the scheduler before - * exiting the critical section. The sequence of events in this - * case will be: - * 1. Suspend scheduler. - * 2. Exit critical section. - * 3. Interrupt - ISR calls xTaskNotifyFromISR which adds the - * task to the pendingReady list as the scheduler is - * suspended. - * 4. prvAddCurrentTaskToDelayedList adds the task to delayed or - * suspended list. Note that this operation does not nullify - * the add to pendingReady list done in the above step because - * a different list item, namely xEventListItem, is used for - * adding the task to the pendingReady list. In other words, - * the task still remains on the pendingReady list. - * 5. Resume scheduler moves the task from pendingReady list to - * the Ready list. - */ - vTaskSuspendAll(); + /* Only block if a notification is not already pending. */ + if( pxCurrentTCB->ucNotifyState[ uxIndexToWaitOn ] != taskNOTIFICATION_RECEIVED ) { - taskEXIT_CRITICAL(); + /* Clear bits in the task's notification value as bits may get + * set by the notifying task or interrupt. This can be used + * to clear the value to zero. */ + pxCurrentTCB->ulNotifiedValue[ uxIndexToWaitOn ] &= ~ulBitsToClearOnEntry; - prvAddCurrentTaskToDelayedList( xTicksToWait, pdTRUE ); - } - xAlreadyYielded = xTaskResumeAll(); + /* Mark this task as waiting for a notification. */ + pxCurrentTCB->ucNotifyState[ uxIndexToWaitOn ] = taskWAITING_NOTIFICATION; - if( xAlreadyYielded == pdFALSE ) - { - taskYIELD_WITHIN_API(); + if( xTicksToWait > ( TickType_t ) 0 ) + { + xShouldBlock = pdTRUE; + } + else + { + mtCOVERAGE_TEST_MARKER(); + } } else { mtCOVERAGE_TEST_MARKER(); } } + taskEXIT_CRITICAL(); + + /* We are now out of the critical section but the scheduler is still + * suspended, so we are safe to do non-deterministic operations such + * as prvAddCurrentTaskToDelayedList. */ + if( xShouldBlock == pdTRUE ) + { + traceTASK_NOTIFY_WAIT_BLOCK( uxIndexToWaitOn ); + prvAddCurrentTaskToDelayedList( xTicksToWait, pdTRUE ); + } else { - taskEXIT_CRITICAL(); + mtCOVERAGE_TEST_MARKER(); } } + xAlreadyYielded = xTaskResumeAll(); + + /* Force a reschedule if xTaskResumeAll has not already done so. */ + if( ( xShouldBlock == pdTRUE ) && ( xAlreadyYielded == pdFALSE ) ) + { + taskYIELD_WITHIN_API(); + } else { - taskEXIT_CRITICAL(); + mtCOVERAGE_TEST_MARKER(); } taskENTER_CRITICAL(); From bd652237fb76ab39b36215a2bd93fa8a14056f1f Mon Sep 17 00:00:00 2001 From: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> Date: Tue, 13 Feb 2024 10:09:32 +0530 Subject: [PATCH 09/38] Update default value of configSTACK_DEPTH_TYPE in config file (#987) --- include/FreeRTOS.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/FreeRTOS.h b/include/FreeRTOS.h index a23b67169..9ef6217cf 100644 --- a/include/FreeRTOS.h +++ b/include/FreeRTOS.h @@ -2799,9 +2799,9 @@ #ifndef configSTACK_DEPTH_TYPE -/* Defaults to uint16_t for backward compatibility, but can be overridden - * in FreeRTOSConfig.h if uint16_t is too restrictive. */ - #define configSTACK_DEPTH_TYPE uint16_t +/* Defaults to StackType_t for backward compatibility, but can be overridden + * in FreeRTOSConfig.h if StackType_t is too restrictive. */ + #define configSTACK_DEPTH_TYPE StackType_t #endif #ifndef configRUN_TIME_COUNTER_TYPE From 8cfa7152f75c397e04eb779d2812c0edd26bd1c7 Mon Sep 17 00:00:00 2001 From: bradleysmith23 <74752142+bradleysmith23@users.noreply.github.com> Date: Mon, 12 Feb 2024 21:11:30 -0800 Subject: [PATCH 10/38] Fix MISRA C 2012 Rule 13.2 Violations (#979) * Fix violations of MISRA rule 13.2 * Fix typo in UBaseType_t * Uncrustify: triggered by comment. * Run Github Actions. * Remove temp variable for uxCurrentNumberOfTasks Co-authored-by: chinglee-iot <61685396+chinglee-iot@users.noreply.github.com> * Declare uxCurrentListLength at top of function, update comment. * Update location of uxCurrentListLength Declaration * Uncrustify: triggered by comment. * Run Github Actions * Uncrustify: triggered by comment. * Run Github Actions. * Update comment explaining use of temp variable --------- Co-authored-by: GitHub Action Co-authored-by: chinglee-iot <61685396+chinglee-iot@users.noreply.github.com> Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> --- tasks.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tasks.c b/tasks.c index d226a91de..95f60b1fb 100644 --- a/tasks.c +++ b/tasks.c @@ -3208,6 +3208,8 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode, #if ( configNUMBER_OF_CORES == 1 ) { + UBaseType_t uxCurrentListLength; + if( xSchedulerRunning != pdFALSE ) { /* Reset the next expected unblock time in case it referred to the @@ -3236,7 +3238,13 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode, /* The scheduler is not running, but the task that was pointed * to by pxCurrentTCB has just been suspended and pxCurrentTCB * must be adjusted to point to a different task. */ - if( listCURRENT_LIST_LENGTH( &xSuspendedTaskList ) == uxCurrentNumberOfTasks ) + + /* Use a temp variable as a distinct sequence point for reading + * volatile variables prior to a comparison to ensure compliance + * with MISRA C 2012 Rule 13.2. */ + uxCurrentListLength = listCURRENT_LIST_LENGTH( &xSuspendedTaskList ); + + if( uxCurrentListLength == uxCurrentNumberOfTasks ) { /* No other tasks are ready, so set pxCurrentTCB back to * NULL so when the next task is created pxCurrentTCB will From 8c10944575121038c532d23b2136c4c849b9d2a6 Mon Sep 17 00:00:00 2001 From: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> Date: Tue, 13 Feb 2024 20:10:20 +0530 Subject: [PATCH 11/38] Remove PRIVILEGED FUNCTION from function definiton (#989) --- include/message_buffer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/message_buffer.h b/include/message_buffer.h index 74fab118f..d693d28cc 100644 --- a/include/message_buffer.h +++ b/include/message_buffer.h @@ -795,7 +795,7 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * \ingroup MessageBufferManagement */ #define xMessageBufferNextLengthBytes( xMessageBuffer ) \ - xStreamBufferNextMessageLengthBytes( xMessageBuffer ) PRIVILEGED_FUNCTION; + xStreamBufferNextMessageLengthBytes( xMessageBuffer ) /** * message_buffer.h From 4d34700bccbd8bcd09dca93e93ebabd692b2f185 Mon Sep 17 00:00:00 2001 From: bradleysmith23 <74752142+bradleysmith23@users.noreply.github.com> Date: Tue, 13 Feb 2024 22:18:35 -0800 Subject: [PATCH 12/38] Fix MISRA C 2012 Rule 13.3 Violations (#988) * MISRA Rule 13.3 Fixes * Add semiicolons that were accidentally removed * Add parentheses back around pxList->uxNumberOfItems where removed. * Formatting fix * Add Casts to UBaseType_t --------- Co-authored-by: bjbsmith Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> Co-authored-by: Soren Ptak --- include/list.h | 24 ++++++++++++------------ list.c | 9 ++++----- tasks.c | 10 +++++----- 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/include/list.h b/include/list.h index 7084834dc..9b96ab137 100644 --- a/include/list.h +++ b/include/list.h @@ -326,7 +326,7 @@ typedef struct xLIST } \ \ ( pxItemToRemove )->pxContainer = NULL; \ - ( pxList->uxNumberOfItems )--; \ + ( ( pxList )->uxNumberOfItems ) -= ( UBaseType_t ) 1U; \ } while( 0 ) /* @@ -363,17 +363,17 @@ typedef struct xLIST \ /* Insert a new list item into ( pxList ), but rather than sort the list, \ * makes the new list item the last item to be removed by a call to \ - * listGET_OWNER_OF_NEXT_ENTRY(). */ \ - ( pxNewListItem )->pxNext = pxIndex; \ - ( pxNewListItem )->pxPrevious = pxIndex->pxPrevious; \ - \ - pxIndex->pxPrevious->pxNext = ( pxNewListItem ); \ - pxIndex->pxPrevious = ( pxNewListItem ); \ - \ - /* Remember which list the item is in. */ \ - ( pxNewListItem )->pxContainer = ( pxList ); \ - \ - ( ( pxList )->uxNumberOfItems )++; \ + * listGET_OWNER_OF_NEXT_ENTRY(). */ \ + ( pxNewListItem )->pxNext = pxIndex; \ + ( pxNewListItem )->pxPrevious = pxIndex->pxPrevious; \ + \ + pxIndex->pxPrevious->pxNext = ( pxNewListItem ); \ + pxIndex->pxPrevious = ( pxNewListItem ); \ + \ + /* Remember which list the item is in. */ \ + ( pxNewListItem )->pxContainer = ( pxList ); \ + \ + ( ( pxList )->uxNumberOfItems ) += ( UBaseType_t ) 1U; \ } while( 0 ) /* diff --git a/list.c b/list.c index 907300896..0ac5b04a0 100644 --- a/list.c +++ b/list.c @@ -130,7 +130,7 @@ void vListInsertEnd( List_t * const pxList, /* Remember which list the item is in. */ pxNewListItem->pxContainer = pxList; - ( pxList->uxNumberOfItems )++; + ( pxList->uxNumberOfItems ) += ( UBaseType_t ) 1U; traceRETURN_vListInsertEnd(); } @@ -205,12 +205,13 @@ void vListInsert( List_t * const pxList, * item later. */ pxNewListItem->pxContainer = pxList; - ( pxList->uxNumberOfItems )++; + ( pxList->uxNumberOfItems ) += ( UBaseType_t ) 1U; traceRETURN_vListInsert(); } /*-----------------------------------------------------------*/ + UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove ) { /* The list item knows which list it is in. Obtain the list from the list @@ -219,8 +220,6 @@ UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove ) traceENTER_uxListRemove( pxItemToRemove ); - - pxItemToRemove->pxNext->pxPrevious = pxItemToRemove->pxPrevious; pxItemToRemove->pxPrevious->pxNext = pxItemToRemove->pxNext; @@ -238,7 +237,7 @@ UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove ) } pxItemToRemove->pxContainer = NULL; - ( pxList->uxNumberOfItems )--; + ( pxList->uxNumberOfItems ) -= ( UBaseType_t ) 1U; traceRETURN_uxListRemove( pxList->uxNumberOfItems ); diff --git a/tasks.c b/tasks.c index 95f60b1fb..c51c155a7 100644 --- a/tasks.c +++ b/tasks.c @@ -255,7 +255,7 @@ pxTemp = pxDelayedTaskList; \ pxDelayedTaskList = pxOverflowDelayedTaskList; \ pxOverflowDelayedTaskList = pxTemp; \ - xNumOfOverflows++; \ + xNumOfOverflows += ( BaseType_t ) 1; \ prvResetNextTaskUnblockTime(); \ } while( 0 ) @@ -2021,7 +2021,7 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode, * updated. */ taskENTER_CRITICAL(); { - uxCurrentNumberOfTasks++; + uxCurrentNumberOfTasks += ( UBaseType_t ) 1U; if( pxCurrentTCB == NULL ) { @@ -3815,7 +3815,7 @@ void vTaskSuspendAll( void ) /* The scheduler is suspended if uxSchedulerSuspended is non-zero. An increment * is used to allow calls to vTaskSuspendAll() to nest. */ - ++uxSchedulerSuspended; + uxSchedulerSuspended += ( UBaseType_t ) 1U; /* Enforces ordering for ports and optimised compilers that may otherwise place * the above increment elsewhere. */ @@ -3968,7 +3968,7 @@ BaseType_t xTaskResumeAll( void ) * previous call to vTaskSuspendAll(). */ configASSERT( uxSchedulerSuspended != 0U ); - --uxSchedulerSuspended; + uxSchedulerSuspended -= ( UBaseType_t ) 1U; portRELEASE_TASK_LOCK(); if( uxSchedulerSuspended == ( UBaseType_t ) 0U ) @@ -4968,7 +4968,7 @@ BaseType_t xTaskIncrementTick( void ) } else { - ++xPendedTicks; + xPendedTicks += 1U; /* The tick hook gets called at regular intervals, even if the * scheduler is locked. */ From e68975fcf75c26363ded33de9b98f2a1ccf65b03 Mon Sep 17 00:00:00 2001 From: Christoph Seitz Date: Fri, 16 Feb 2024 06:42:18 +0100 Subject: [PATCH 13/38] Add default core affinity config value. (#996) * Add default core affinity config value. --------- Co-authored-by: Anubhav Rawal --- examples/template_configuration/FreeRTOSConfig.h | 9 +++++++++ include/FreeRTOS.h | 6 ++++++ tasks.c | 8 ++++---- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/examples/template_configuration/FreeRTOSConfig.h b/examples/template_configuration/FreeRTOSConfig.h index 14aa3b24b..2c807142c 100644 --- a/examples/template_configuration/FreeRTOSConfig.h +++ b/examples/template_configuration/FreeRTOSConfig.h @@ -496,6 +496,15 @@ * run any task on any available core. */ #define configUSE_CORE_AFFINITY 0 +/* When using SMP with core affinity feature enabled, set + * configTASK_DEFAULT_CORE_AFFINITY to change the default core affinity mask for + * tasks created without an affinity mask specified. Setting the define to 1 would + * make such tasks run on core 0 and setting it to (1 << portGET_CORE_ID()) would + * make such tasks run on the current core. This config value is useful, if + * swapping tasks between cores is not supported (e.g. Tricore) or if legacy code + * should be controlled. Defaults to tskNO_AFFINITY if left undefined. */ +#define configTASK_DEFAULT_CORE_AFFINITY tskNO_AFFINITY + /* When using SMP (i.e. configNUMBER_OF_CORES is greater than one), if * configUSE_TASK_PREEMPTION_DISABLE is set to 1, individual tasks can be set to * either pre-emptive or co-operative mode using the vTaskPreemptionDisable and diff --git a/include/FreeRTOS.h b/include/FreeRTOS.h index 9ef6217cf..0c386cc4d 100644 --- a/include/FreeRTOS.h +++ b/include/FreeRTOS.h @@ -484,6 +484,12 @@ #define configUSE_CORE_AFFINITY 0 #endif /* configUSE_CORE_AFFINITY */ +#if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) ) + #ifndef configTASK_DEFAULT_CORE_AFFINITY + #define configTASK_DEFAULT_CORE_AFFINITY tskNO_AFFINITY + #endif +#endif + #ifndef configUSE_PASSIVE_IDLE_HOOK #define configUSE_PASSIVE_IDLE_HOOK 0 #endif /* configUSE_PASSIVE_IDLE_HOOK */ diff --git a/tasks.c b/tasks.c index c51c155a7..6c399dbf5 100644 --- a/tasks.c +++ b/tasks.c @@ -1325,7 +1325,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION; #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) ) { /* Set the task's affinity before scheduling it. */ - pxNewTCB->uxCoreAffinityMask = tskNO_AFFINITY; + pxNewTCB->uxCoreAffinityMask = configTASK_DEFAULT_CORE_AFFINITY; } #endif @@ -1442,7 +1442,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION; #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) ) { /* Set the task's affinity before scheduling it. */ - pxNewTCB->uxCoreAffinityMask = tskNO_AFFINITY; + pxNewTCB->uxCoreAffinityMask = configTASK_DEFAULT_CORE_AFFINITY; } #endif @@ -1560,7 +1560,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION; #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) ) { /* Set the task's affinity before scheduling it. */ - pxNewTCB->uxCoreAffinityMask = tskNO_AFFINITY; + pxNewTCB->uxCoreAffinityMask = configTASK_DEFAULT_CORE_AFFINITY; } #endif /* #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) ) */ @@ -1733,7 +1733,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION; #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) ) { /* Set the task's affinity before scheduling it. */ - pxNewTCB->uxCoreAffinityMask = tskNO_AFFINITY; + pxNewTCB->uxCoreAffinityMask = configTASK_DEFAULT_CORE_AFFINITY; } #endif From 1a500f1a7418588c4b3f88edd221891ee99d27cd Mon Sep 17 00:00:00 2001 From: chinglee-iot <61685396+chinglee-iot@users.noreply.github.com> Date: Mon, 19 Feb 2024 14:39:31 +0800 Subject: [PATCH 14/38] Support reset kernel state for restarting scheduler (#944) * Adding the following functions to reset kernel state. These functions are only required for application which needs to restart the scheduler. - void vTaskResetState( void ) - void vTimerResetState( void ) - void vPortHeapResetState( void ) - void vCoRoutineResetState( void ) --------- Signed-off-by: Gaurav Aggarwal Co-authored-by: Chris Morgan Co-authored-by: Soren Ptak Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> Co-authored-by: Gaurav Aggarwal Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com> --- croutine.c | 27 ++++++++++++++++-- include/croutine.h | 7 +++++ include/portable.h | 6 ++++ include/task.h | 14 ++++++++++ include/timers.h | 6 ++++ portable/MemMang/heap_1.c | 15 +++++++++- portable/MemMang/heap_2.c | 17 +++++++++++- portable/MemMang/heap_3.c | 12 ++++++++ portable/MemMang/heap_4.c | 24 +++++++++++++--- portable/MemMang/heap_5.c | 29 +++++++++++++++++--- tasks.c | 58 +++++++++++++++++++++++++++++++++++++++ timers.c | 12 ++++++++ 12 files changed, 215 insertions(+), 12 deletions(-) diff --git a/croutine.c b/croutine.c index daa88275f..4d210b732 100644 --- a/croutine.c +++ b/croutine.c @@ -52,8 +52,10 @@ /* Other file private variables. --------------------------------*/ CRCB_t * pxCurrentCoRoutine = NULL; - static UBaseType_t uxTopCoRoutineReadyPriority = 0; - static TickType_t xCoRoutineTickCount = 0, xLastTickCount = 0, xPassedTicks = 0; + static UBaseType_t uxTopCoRoutineReadyPriority = ( UBaseType_t ) 0U; + static TickType_t xCoRoutineTickCount = ( TickType_t ) 0U; + static TickType_t xLastTickCount = ( TickType_t ) 0U; + static TickType_t xPassedTicks = ( TickType_t ) 0U; /* The initial state of the co-routine when it is created. */ #define corINITIAL_STATE ( 0 ) @@ -378,5 +380,26 @@ return xReturn; } +/*-----------------------------------------------------------*/ + +/* + * Reset state in this file. This state is normally initialized at start up. + * This function must be called by the application before restarting the + * scheduler. + */ + void vCoRoutineResetState( void ) + { + /* Lists for ready and blocked co-routines. */ + pxDelayedCoRoutineList = NULL; + pxOverflowDelayedCoRoutineList = NULL; + + /* Other file private variables. */ + pxCurrentCoRoutine = NULL; + uxTopCoRoutineReadyPriority = ( UBaseType_t ) 0U; + xCoRoutineTickCount = ( TickType_t ) 0U; + xLastTickCount = ( TickType_t ) 0U; + xPassedTicks = ( TickType_t ) 0U; + } +/*-----------------------------------------------------------*/ #endif /* configUSE_CO_ROUTINES == 0 */ diff --git a/include/croutine.h b/include/croutine.h index 40ac9765b..7888863e5 100644 --- a/include/croutine.h +++ b/include/croutine.h @@ -746,6 +746,13 @@ void vCoRoutineAddToDelayedList( TickType_t xTicksToDelay, */ BaseType_t xCoRoutineRemoveFromEventList( const List_t * pxEventList ); + +/* + * This function resets the internal state of the coroutine module. It must be + * called by the application before restarting the scheduler. + */ +void vCoRoutineResetState( void ) PRIVILEGED_FUNCTION; + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/include/portable.h b/include/portable.h index c4b350abf..da1d7ad49 100644 --- a/include/portable.h +++ b/include/portable.h @@ -194,6 +194,12 @@ size_t xPortGetMinimumEverFreeHeapSize( void ) PRIVILEGED_FUNCTION; #define vPortFreeStack vPortFree #endif +/* + * This function resets the internal state of the heap module. It must be called + * by the application before restarting the scheduler. + */ +void vPortHeapResetState( void ) PRIVILEGED_FUNCTION; + #if ( configUSE_MALLOC_FAILED_HOOK == 1 ) /** diff --git a/include/task.h b/include/task.h index 69d61a7b4..33d9d4c07 100644 --- a/include/task.h +++ b/include/task.h @@ -3438,6 +3438,20 @@ BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, */ BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp ) PRIVILEGED_FUNCTION; +/** + * task.h + * @code{c} + * void vTaskResetState( void ); + * @endcode + * + * This function resets the internal state of the task. It must be called by the + * application before restarting the scheduler. + * + * \defgroup vTaskResetState vTaskResetState + * \ingroup SchedulerControl + */ +void vTaskResetState( void ) PRIVILEGED_FUNCTION; + /*----------------------------------------------------------- * SCHEDULER INTERNALS AVAILABLE FOR PORTING PURPOSES diff --git a/include/timers.h b/include/timers.h index f526fdedd..34dc406e4 100644 --- a/include/timers.h +++ b/include/timers.h @@ -1417,6 +1417,12 @@ BaseType_t xTimerGenericCommandFromISR( TimerHandle_t xTimer, #endif +/* + * This function resets the internal state of the timer module. It must be called + * by the application before restarting the scheduler. + */ +void vTimerResetState( void ) PRIVILEGED_FUNCTION; + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/portable/MemMang/heap_1.c b/portable/MemMang/heap_1.c index 19f695b20..93538362f 100644 --- a/portable/MemMang/heap_1.c +++ b/portable/MemMang/heap_1.c @@ -64,7 +64,7 @@ #endif /* configAPPLICATION_ALLOCATED_HEAP */ /* Index into the ucHeap array. */ -static size_t xNextFreeByte = ( size_t ) 0; +static size_t xNextFreeByte = ( size_t ) 0U; /*-----------------------------------------------------------*/ @@ -150,3 +150,16 @@ size_t xPortGetFreeHeapSize( void ) { return( configADJUSTED_HEAP_SIZE - xNextFreeByte ); } + +/*-----------------------------------------------------------*/ + +/* + * Reset the state in this file. This state is normally initialized at start up. + * This function must be called by the application before restarting the + * scheduler. + */ +void vPortHeapResetState( void ) +{ + xNextFreeByte = ( size_t ) 0U; +} +/*-----------------------------------------------------------*/ diff --git a/portable/MemMang/heap_2.c b/portable/MemMang/heap_2.c index fffcb9ca3..6f77f0869 100644 --- a/portable/MemMang/heap_2.c +++ b/portable/MemMang/heap_2.c @@ -113,6 +113,9 @@ PRIVILEGED_DATA static BlockLink_t xStart, xEnd; * fragmentation. */ PRIVILEGED_DATA static size_t xFreeBytesRemaining = configADJUSTED_HEAP_SIZE; +/* Indicates whether the heap has been initialised or not. */ +PRIVILEGED_DATA static BaseType_t xHeapHasBeenInitialised = pdFALSE; + /*-----------------------------------------------------------*/ /* @@ -155,7 +158,6 @@ void * pvPortMalloc( size_t xWantedSize ) BlockLink_t * pxBlock; BlockLink_t * pxPreviousBlock; BlockLink_t * pxNewBlockLink; - PRIVILEGED_DATA static BaseType_t xHeapHasBeenInitialised = pdFALSE; void * pvReturn = NULL; size_t xAdditionalRequiredSize; @@ -384,3 +386,16 @@ static void prvHeapInit( void ) /* PRIVILEGED_FUNCTION */ pxFirstFreeBlock->pxNextFreeBlock = &xEnd; } /*-----------------------------------------------------------*/ + +/* + * Reset the state in this file. This state is normally initialized at start up. + * This function must be called by the application before restarting the + * scheduler. + */ +void vPortHeapResetState( void ) +{ + xFreeBytesRemaining = configADJUSTED_HEAP_SIZE; + + xHeapHasBeenInitialised = pdFALSE; +} +/*-----------------------------------------------------------*/ diff --git a/portable/MemMang/heap_3.c b/portable/MemMang/heap_3.c index d174a57e9..2240068e8 100644 --- a/portable/MemMang/heap_3.c +++ b/portable/MemMang/heap_3.c @@ -92,3 +92,15 @@ void vPortFree( void * pv ) ( void ) xTaskResumeAll(); } } +/*-----------------------------------------------------------*/ + +/* + * Reset the state in this file. This state is normally initialized at start up. + * This function must be called by the application before restarting the + * scheduler. + */ +void vPortHeapResetState( void ) +{ + /* No state needs to be re-initialised in heap_3. */ +} +/*-----------------------------------------------------------*/ diff --git a/portable/MemMang/heap_4.c b/portable/MemMang/heap_4.c index 507bf48b9..ea1e422da 100644 --- a/portable/MemMang/heap_4.c +++ b/portable/MemMang/heap_4.c @@ -163,10 +163,10 @@ PRIVILEGED_DATA static BlockLink_t * pxEnd = NULL; /* Keeps track of the number of calls to allocate and free memory as well as the * number of free bytes remaining, but says nothing about fragmentation. */ -PRIVILEGED_DATA static size_t xFreeBytesRemaining = 0U; -PRIVILEGED_DATA static size_t xMinimumEverFreeBytesRemaining = 0U; -PRIVILEGED_DATA static size_t xNumberOfSuccessfulAllocations = 0; -PRIVILEGED_DATA static size_t xNumberOfSuccessfulFrees = 0; +PRIVILEGED_DATA static size_t xFreeBytesRemaining = ( size_t ) 0U; +PRIVILEGED_DATA static size_t xMinimumEverFreeBytesRemaining = ( size_t ) 0U; +PRIVILEGED_DATA static size_t xNumberOfSuccessfulAllocations = ( size_t ) 0U; +PRIVILEGED_DATA static size_t xNumberOfSuccessfulFrees = ( size_t ) 0U; /*-----------------------------------------------------------*/ @@ -608,3 +608,19 @@ void vPortGetHeapStats( HeapStats_t * pxHeapStats ) taskEXIT_CRITICAL(); } /*-----------------------------------------------------------*/ + +/* + * Reset the state in this file. This state is normally initialized at start up. + * This function must be called by the application before restarting the + * scheduler. + */ +void vPortHeapResetState( void ) +{ + pxEnd = NULL; + + xFreeBytesRemaining = ( size_t ) 0U; + xMinimumEverFreeBytesRemaining = ( size_t ) 0U; + xNumberOfSuccessfulAllocations = ( size_t ) 0U; + xNumberOfSuccessfulFrees = ( size_t ) 0U; +} +/*-----------------------------------------------------------*/ diff --git a/portable/MemMang/heap_5.c b/portable/MemMang/heap_5.c index 18234626a..4e1437393 100644 --- a/portable/MemMang/heap_5.c +++ b/portable/MemMang/heap_5.c @@ -187,10 +187,10 @@ PRIVILEGED_DATA static BlockLink_t * pxEnd = NULL; /* Keeps track of the number of calls to allocate and free memory as well as the * number of free bytes remaining, but says nothing about fragmentation. */ -PRIVILEGED_DATA static size_t xFreeBytesRemaining = 0U; -PRIVILEGED_DATA static size_t xMinimumEverFreeBytesRemaining = 0U; -PRIVILEGED_DATA static size_t xNumberOfSuccessfulAllocations = 0; -PRIVILEGED_DATA static size_t xNumberOfSuccessfulFrees = 0; +PRIVILEGED_DATA static size_t xFreeBytesRemaining = ( size_t ) 0U; +PRIVILEGED_DATA static size_t xMinimumEverFreeBytesRemaining = ( size_t ) 0U; +PRIVILEGED_DATA static size_t xNumberOfSuccessfulAllocations = ( size_t ) 0U; +PRIVILEGED_DATA static size_t xNumberOfSuccessfulFrees = ( size_t ) 0U; #if ( configENABLE_HEAP_PROTECTOR == 1 ) @@ -707,3 +707,24 @@ void vPortGetHeapStats( HeapStats_t * pxHeapStats ) taskEXIT_CRITICAL(); } /*-----------------------------------------------------------*/ + +/* + * Reset the state in this file. This state is normally initialized at start up. + * This function must be called by the application before restarting the + * scheduler. + */ +void vPortHeapResetState( void ) +{ + pxEnd = NULL; + + xFreeBytesRemaining = ( size_t ) 0U; + xMinimumEverFreeBytesRemaining = ( size_t ) 0U; + xNumberOfSuccessfulAllocations = ( size_t ) 0U; + xNumberOfSuccessfulFrees = ( size_t ) 0U; + + #if ( configENABLE_HEAP_PROTECTOR == 1 ) + pucHeapHighAddress = NULL; + pucHeapLowAddress = NULL; + #endif /* #if ( configENABLE_HEAP_PROTECTOR == 1 ) */ +} +/*-----------------------------------------------------------*/ diff --git a/tasks.c b/tasks.c index 6c399dbf5..217cc6201 100644 --- a/tasks.c +++ b/tasks.c @@ -8694,3 +8694,61 @@ static void prvAddCurrentTaskToDelayedList( TickType_t xTicksToWait, #endif /* #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configKERNEL_PROVIDED_STATIC_MEMORY == 1 ) && ( portUSING_MPU_WRAPPERS == 0 ) ) */ /*-----------------------------------------------------------*/ + +/* + * Reset the state in this file. This state is normally initialized at start up. + * This function must be called by the application before restarting the + * scheduler. + */ +void vTaskResetState( void ) +{ + BaseType_t xCoreID; + + /* Task control block. */ + #if ( configNUMBER_OF_CORES == 1 ) + { + pxCurrentTCB = NULL; + } + #endif /* #if ( configNUMBER_OF_CORES == 1 ) */ + + #if ( INCLUDE_vTaskDelete == 1 ) + { + uxDeletedTasksWaitingCleanUp = ( UBaseType_t ) 0U; + } + #endif /* #if ( INCLUDE_vTaskDelete == 1 ) */ + + #if ( configUSE_POSIX_ERRNO == 1 ) + { + FreeRTOS_errno = 0; + } + #endif /* #if ( configUSE_POSIX_ERRNO == 1 ) */ + + /* Other file private variables. */ + uxCurrentNumberOfTasks = ( UBaseType_t ) 0U; + xTickCount = ( TickType_t ) configINITIAL_TICK_COUNT; + uxTopReadyPriority = tskIDLE_PRIORITY; + xSchedulerRunning = pdFALSE; + xPendedTicks = ( TickType_t ) 0U; + + for( xCoreID = 0; xCoreID < configNUMBER_OF_CORES; xCoreID++ ) + { + xYieldPendings[ xCoreID ] = pdFALSE; + } + + xNumOfOverflows = ( BaseType_t ) 0; + uxTaskNumber = ( UBaseType_t ) 0U; + xNextTaskUnblockTime = ( TickType_t ) 0U; + + uxSchedulerSuspended = ( UBaseType_t ) 0U; + + #if ( configGENERATE_RUN_TIME_STATS == 1 ) + { + for( xCoreID = 0; xCoreID < configNUMBER_OF_CORES; xCoreID++ ) + { + ulTaskSwitchedInTime[ xCoreID ] = 0U; + ulTotalRunTime[ xCoreID ] = 0U; + } + } + #endif /* #if ( configGENERATE_RUN_TIME_STATS == 1 ) */ +} +/*-----------------------------------------------------------*/ diff --git a/timers.c b/timers.c index a432e74c2..a3d0d0abe 100644 --- a/timers.c +++ b/timers.c @@ -1322,6 +1322,18 @@ #endif /* configUSE_TRACE_FACILITY */ /*-----------------------------------------------------------*/ +/* + * Reset the state in this file. This state is normally initialized at start up. + * This function must be called by the application before restarting the + * scheduler. + */ + void vTimerResetState( void ) + { + xTimerQueue = NULL; + xTimerTaskHandle = NULL; + } +/*-----------------------------------------------------------*/ + /* This entire source file will be skipped if the application is not configured * to include software timer functionality. If you want to include software timer * functionality then ensure configUSE_TIMERS is set to 1 in FreeRTOSConfig.h. */ From 2fcb0f48b1b93674781b85d8039e5b5c9e43ccf7 Mon Sep 17 00:00:00 2001 From: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com> Date: Tue, 20 Feb 2024 08:49:41 -0800 Subject: [PATCH 15/38] Fix small bugs in Kernel (#998) * Fix small bugs * Cast sizeof to BaseType_t * Test removing assert to fix UT * Revert change to tasks.c Since configIDLE_TASK_NAME must be defined as a string according to the documentation, the macro will always be NULL terminated. Which means that the check `if( cIdleName[ xIdleTaskNameIndex ] == ( char ) 0x00 )` will catch the end of string. * Update coverity config; Add coverity version; Update pvPortMalloc declaration to match the definitions. * Add port files to sed command * Remove warnings about unused parameters in port code --------- Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> --- MISRA.md | 10 +-- examples/coverity/CMakeLists.txt | 9 +- examples/coverity/coverity_misra.config | 102 ++++++++++------------ include/FreeRTOS.h | 8 +- include/portable.h | 2 +- portable/ThirdParty/GCC/Posix/portmacro.h | 2 +- portable/template/port.c | 4 + 7 files changed, 68 insertions(+), 69 deletions(-) diff --git a/MISRA.md b/MISRA.md index 8d501e0bd..ee518bc2c 100644 --- a/MISRA.md +++ b/MISRA.md @@ -2,11 +2,11 @@ FreeRTOS-Kernel conforms to [MISRA C:2012](https://www.misra.org.uk/misra-c) guidelines, with the deviations listed below. Compliance is checked with -Coverity static analysis. Since the FreeRTOS kernel is designed for -small-embedded devices, it needs to have a very small memory footprint and -has to be efficient. To achieve that and to increase the performance, it -deviates from some MISRA rules. The specific deviations, suppressed inline, -are listed below. +Coverity static analysis version 2023.6.1. Since the FreeRTOS kernel is +designed for small-embedded devices, it needs to have a very small memory +footprint and has to be efficient. To achieve that and to increase the +performance, it deviates from some MISRA rules. The specific deviations, +suppressed inline, are listed below. Additionally, [MISRA configuration file](examples/coverity/coverity_misra.config) contains project wide deviations. diff --git a/examples/coverity/CMakeLists.txt b/examples/coverity/CMakeLists.txt index b4538655e..00332b5ac 100644 --- a/examples/coverity/CMakeLists.txt +++ b/examples/coverity/CMakeLists.txt @@ -2,8 +2,9 @@ cmake_minimum_required(VERSION 3.15) project(coverity) -set(FREERTOS_KERNEL_PATH "../../") -FILE(GLOB FREERTOS_KERNEL_SOURCE ${FREERTOS_KERNEL_PATH}*.c) +set(FREERTOS_KERNEL_PATH "../..") +FILE(GLOB FREERTOS_KERNEL_SOURCE ${FREERTOS_KERNEL_PATH}/*.c) +FILE(GLOB FREERTOS_PORT_CODE ${FREERTOS_KERNEL_PATH}/portable/template/*.c) # Coverity incorrectly infers the type of pdTRUE and pdFALSE as boolean because # of their names. This generates multiple false positive warnings about type @@ -12,8 +13,8 @@ FILE(GLOB FREERTOS_KERNEL_SOURCE ${FREERTOS_KERNEL_PATH}*.c) # fixes the issue of incorrectly inferring the type of pdTRUE and pdFALSE as # boolean. add_custom_target(fix_source ALL - COMMAND sed -i -b -e 's/pdFALSE/pdFAIL/g' -e 's/pdTRUE/pdPASS/g' ${FREERTOS_KERNEL_SOURCE} - DEPENDS ${FREERTOS_KERNEL_SOURCE}) + COMMAND sed -i -b -e 's/pdFALSE/pdFAIL/g' -e 's/pdTRUE/pdPASS/g' ${FREERTOS_KERNEL_SOURCE} ${FREERTOS_PORT_CODE} + DEPENDS ${FREERTOS_KERNEL_SOURCE} ${FREERTOS_PORT_CODE}) # Add the freertos_config for FreeRTOS-Kernel. add_library(freertos_config INTERFACE) diff --git a/examples/coverity/coverity_misra.config b/examples/coverity/coverity_misra.config index 101b20031..d80ddb553 100644 --- a/examples/coverity/coverity_misra.config +++ b/examples/coverity/coverity_misra.config @@ -1,97 +1,91 @@ -// MISRA C-2012 Rules - { - version : "2.0", - standard : "c2012", - title: "Coverity MISRA Configuration", - deviations : [ - // Disable the following rules. + "version" : "2.0", + "standard" : "c2012", + "title": "Coverity MISRA Configuration", + "deviations" : [ { - deviation: "Rule 3.1", - reason: "We post HTTP links in code comments which contain // inside comments blocks." + "deviation": "Rule 3.1", + "reason": "We post HTTP links in code comments which contain // inside comments blocks." }, { - deviation: "Rule 14.4", - reason: "do while( 0 ) pattern is used in macros to prevent extra semi-colon." - }, - - // Disable the following advisory rules and directives. - { - deviation: "Directive 4.4", - reason: "Code snippet is used in comment to help explanation." + "deviation": "Rule 14.4", + "reason": "do while( 0 ) pattern is used in macros to prevent extra semi-colon." }, { - deviation: "Directive 4.5", - reason: "Allow names that MISRA considers ambiguous." + "deviation": "Directive 4.4", + "reason": "Code snippet is used in comment to help explanation." }, { - deviation: "Directive 4.6", - reason: "Allow port to use primitive type with typedefs." + "deviation": "Directive 4.5", + "reason": "Allow names that MISRA considers ambiguous." }, { - deviation: "Directive 4.8", - reason: "HeapRegion_t and HeapStats_t are used only in heap files but declared in portable.h which is included in multiple source files. As a result, these definitions appear in multiple source files where they are not used." + "deviation": "Directive 4.6", + "reason": "Allow port to use primitive type with typedefs." }, { - deviation: "Directive 4.9", - reason: "FreeRTOS-Kernel is optimised to work on small micro-controllers. To achieve that, function-like macros are used." + "deviation": "Directive 4.8", + "reason": "HeapRegion_t and HeapStats_t are used only in heap files but declared in portable.h which is included in multiple source files. As a result, these definitions appear in multiple source files where they are not used." }, { - deviation: "Rule 2.3", - reason: "FreeRTOS defines types which is used in application." + "deviation": "Directive 4.9", + "reason": "FreeRTOS-Kernel is optimised to work on small micro-controllers. To achieve that, function-like macros are used." }, { - deviation: "Rule 2.4", - reason: "Allow to define unused tag." + "deviation": "Rule 2.3", + "reason": "FreeRTOS defines types which is used in application." }, { - deviation: "Rule 2.5", - reason: "Allow to define unused macro." + "deviation": "Rule 2.4", + "reason": "Allow to define unused tag." }, { - deviation: "Rule 5.9", - reason: "Allow to define identifier with the same name in structure and global variable." + "deviation": "Rule 2.5", + "reason": "Allow to define unused macro." }, { - deviation: "Rule 8.7", - reason: "API functions are not used by the library outside of the files they are defined; however, they must be externally visible in order to be used by an application." + "deviation": "Rule 5.9", + "reason": "Allow to define identifier with the same name in structure and global variable." }, { - deviation: "Rule 8.9", - reason: "Allow to object to be defined in wider scope for debug purpose." + "deviation": "Rule 8.7", + "reason": "API functions are not used by the library outside of the files they are defined; however, they must be externally visible in order to be used by an application." }, { - deviation: "Rule 8.13", - reason: "Allow to not to use const-qualified type for callback function." + "deviation": "Rule 8.9", + "reason": "Allow to object to be defined in wider scope for debug purpose." }, { - deviation: "Rule 11.4", - reason: "Allow to convert between a pointer to object and an interger type for stack alignment." + "deviation": "Rule 8.13", + "reason": "Allow to not to use const-qualified type for callback function." }, { - deviation: "Rule 15.4", - reason: "Allow to use multiple break statements in a loop." + "deviation": "Rule 11.4", + "reason": "Allow to convert between a pointer to object and an interger type for stack alignment." }, { - deviation: "Rule 15.5", - reason: "Allow to use multiple points of exit." + "deviation": "Rule 15.4", + "reason": "Allow to use multiple break statements in a loop." }, { - deviation: "Rule 17.8", - reason: "Allow to update the parameters of a function." + "deviation": "Rule 15.5", + "reason": "Allow to use multiple points of exit." }, { - deviation: "Rule 18.4", - reason: "Allow to use pointer arithmetic." + "deviation": "Rule 17.8", + "reason": "Allow to update the parameters of a function." }, { - deviation: "Rule 19.2", - reason: "Allow to use union." + "deviation": "Rule 18.4", + "reason": "Allow to use pointer arithmetic." }, { - deviation: "Rule 20.5", - reason: "Allow to use #undef for MPU wrappers." + "deviation": "Rule 19.2", + "reason": "Allow to use union." + }, + { + "deviation": "Rule 20.5", + "reason": "Allow to use #undef for MPU wrappers." } ] } - diff --git a/include/FreeRTOS.h b/include/FreeRTOS.h index 0c386cc4d..b993893e7 100644 --- a/include/FreeRTOS.h +++ b/include/FreeRTOS.h @@ -96,6 +96,10 @@ #define configNUMBER_OF_CORES 1 #endif +#ifndef configUSE_MALLOC_FAILED_HOOK + #define configUSE_MALLOC_FAILED_HOOK 0 +#endif + /* Basic FreeRTOS definitions. */ #include "projdefs.h" @@ -2649,10 +2653,6 @@ #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() #endif -#ifndef configUSE_MALLOC_FAILED_HOOK - #define configUSE_MALLOC_FAILED_HOOK 0 -#endif - #ifndef portPRIVILEGE_BIT #define portPRIVILEGE_BIT ( ( UBaseType_t ) 0x00 ) #endif diff --git a/include/portable.h b/include/portable.h index da1d7ad49..ee7b49350 100644 --- a/include/portable.h +++ b/include/portable.h @@ -178,7 +178,7 @@ void vPortGetHeapStats( HeapStats_t * pxHeapStats ); /* * Map to the memory management routines required for the port. */ -void * pvPortMalloc( size_t xSize ) PRIVILEGED_FUNCTION; +void * pvPortMalloc( size_t xWantedSize ) PRIVILEGED_FUNCTION; void * pvPortCalloc( size_t xNum, size_t xSize ) PRIVILEGED_FUNCTION; void vPortFree( void * pv ) PRIVILEGED_FUNCTION; diff --git a/portable/ThirdParty/GCC/Posix/portmacro.h b/portable/ThirdParty/GCC/Posix/portmacro.h index 6de25da45..d1e35d125 100644 --- a/portable/ThirdParty/GCC/Posix/portmacro.h +++ b/portable/ThirdParty/GCC/Posix/portmacro.h @@ -64,7 +64,7 @@ typedef long BaseType_t; typedef unsigned long UBaseType_t; typedef unsigned long TickType_t; -#define portMAX_DELAY ( TickType_t ) ULONG_MAX +#define portMAX_DELAY ( ( TickType_t ) ULONG_MAX ) #define portTICK_TYPE_IS_ATOMIC 1 diff --git a/portable/template/port.c b/portable/template/port.c index d4eb56eac..7cac1c991 100644 --- a/portable/template/port.c +++ b/portable/template/port.c @@ -19,6 +19,10 @@ StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, TaskFunction_t pxCode, void * pvParameters ) { + ( void ) pxTopOfStack; + ( void ) pvParameters; + ( void ) * pxCode; + return NULL; } From 839ccb719b91ecd1cd066dc852110d2bbbe78cde Mon Sep 17 00:00:00 2001 From: Soren Ptak Date: Mon, 26 Feb 2024 12:26:42 -0500 Subject: [PATCH 16/38] Use Regex for Copyright Year in Header Check (#1002) --- .github/scripts/kernel_checker.py | 8 ++++++-- croutine.c | 2 +- event_groups.c | 2 +- examples/cmake_example/main.c | 2 +- examples/coverity/FreeRTOSConfig.h | 2 +- examples/template_configuration/FreeRTOSConfig.h | 2 +- include/FreeRTOS.h | 2 +- include/StackMacros.h | 2 +- include/atomic.h | 2 +- include/croutine.h | 2 +- include/deprecated_definitions.h | 2 +- include/event_groups.h | 2 +- include/list.h | 2 +- include/message_buffer.h | 2 +- include/mpu_prototypes.h | 2 +- include/mpu_syscall_numbers.h | 2 +- include/mpu_wrappers.h | 2 +- include/newlib-freertos.h | 2 +- include/picolibc-freertos.h | 2 +- include/portable.h | 2 +- include/projdefs.h | 2 +- include/queue.h | 2 +- include/semphr.h | 2 +- include/stack_macros.h | 2 +- include/stdint.readme | 2 +- include/stream_buffer.h | 2 +- include/task.h | 2 +- include/timers.h | 2 +- list.c | 2 +- portable/ARMv8M/copy_files.py | 2 +- portable/ARMv8M/non_secure/port.c | 2 +- .../portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c | 2 +- .../ARMv8M/non_secure/portable/GCC/ARM_CM23/portasm.c | 2 +- .../ARMv8M/non_secure/portable/GCC/ARM_CM23/portmacro.h | 2 +- .../portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c | 2 +- .../ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portasm.c | 2 +- .../non_secure/portable/GCC/ARM_CM23_NTZ/portmacro.h | 2 +- .../portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c | 2 +- .../ARMv8M/non_secure/portable/GCC/ARM_CM33/portasm.c | 2 +- .../ARMv8M/non_secure/portable/GCC/ARM_CM33/portmacro.h | 2 +- .../portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c | 2 +- .../ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portasm.c | 2 +- .../non_secure/portable/GCC/ARM_CM33_NTZ/portmacro.h | 2 +- .../ARMv8M/non_secure/portable/GCC/ARM_CM35P/portmacro.h | 2 +- .../ARMv8M/non_secure/portable/GCC/ARM_CM55/portmacro.h | 2 +- .../ARMv8M/non_secure/portable/GCC/ARM_CM85/portmacro.h | 2 +- .../portable/IAR/ARM_CM23/mpu_wrappers_v2_asm.S | 2 +- .../ARMv8M/non_secure/portable/IAR/ARM_CM23/portasm.s | 2 +- .../ARMv8M/non_secure/portable/IAR/ARM_CM23/portmacro.h | 2 +- .../portable/IAR/ARM_CM23_NTZ/mpu_wrappers_v2_asm.S | 2 +- .../ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portasm.s | 2 +- .../non_secure/portable/IAR/ARM_CM23_NTZ/portmacro.h | 2 +- .../portable/IAR/ARM_CM33/mpu_wrappers_v2_asm.S | 2 +- .../ARMv8M/non_secure/portable/IAR/ARM_CM33/portasm.s | 2 +- .../ARMv8M/non_secure/portable/IAR/ARM_CM33/portmacro.h | 2 +- .../portable/IAR/ARM_CM33_NTZ/mpu_wrappers_v2_asm.S | 2 +- .../ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portasm.s | 2 +- .../non_secure/portable/IAR/ARM_CM33_NTZ/portmacro.h | 2 +- .../ARMv8M/non_secure/portable/IAR/ARM_CM35P/portmacro.h | 2 +- .../ARMv8M/non_secure/portable/IAR/ARM_CM55/portmacro.h | 2 +- .../ARMv8M/non_secure/portable/IAR/ARM_CM85/portmacro.h | 2 +- portable/ARMv8M/non_secure/portasm.h | 2 +- portable/ARMv8M/non_secure/portmacrocommon.h | 2 +- .../context/portable/GCC/ARM_CM23/secure_context_port.c | 2 +- .../context/portable/GCC/ARM_CM33/secure_context_port.c | 2 +- .../portable/IAR/ARM_CM23/secure_context_port_asm.s | 2 +- .../portable/IAR/ARM_CM33/secure_context_port_asm.s | 2 +- portable/ARMv8M/secure/context/secure_context.c | 2 +- portable/ARMv8M/secure/context/secure_context.h | 2 +- portable/ARMv8M/secure/heap/secure_heap.c | 2 +- portable/ARMv8M/secure/heap/secure_heap.h | 2 +- portable/ARMv8M/secure/init/secure_init.c | 2 +- portable/ARMv8M/secure/init/secure_init.h | 2 +- portable/ARMv8M/secure/macros/secure_port_macros.h | 2 +- portable/BCC/16BitDOS/Flsh186/port.c | 2 +- portable/BCC/16BitDOS/Flsh186/prtmacro.h | 2 +- portable/BCC/16BitDOS/PC/port.c | 2 +- portable/BCC/16BitDOS/PC/prtmacro.h | 2 +- portable/BCC/16BitDOS/common/portasm.h | 2 +- portable/BCC/16BitDOS/common/portcomn.c | 2 +- portable/CCS/ARM_CM3/port.c | 2 +- portable/CCS/ARM_CM3/portasm.asm | 2 +- portable/CCS/ARM_CM3/portmacro.h | 2 +- portable/CCS/ARM_CM4F/port.c | 2 +- portable/CCS/ARM_CM4F/portasm.asm | 2 +- portable/CCS/ARM_CM4F/portmacro.h | 2 +- portable/CCS/ARM_Cortex-R4/port.c | 2 +- portable/CCS/ARM_Cortex-R4/portASM.asm | 2 +- portable/CCS/ARM_Cortex-R4/portmacro.h | 2 +- portable/CCS/MSP430X/data_model.h | 2 +- portable/CCS/MSP430X/port.c | 2 +- portable/CCS/MSP430X/portext.asm | 2 +- portable/CCS/MSP430X/portmacro.h | 2 +- portable/CodeWarrior/ColdFire_V1/port.c | 2 +- portable/CodeWarrior/ColdFire_V1/portasm.S | 2 +- portable/CodeWarrior/ColdFire_V1/portmacro.h | 2 +- portable/CodeWarrior/ColdFire_V2/port.c | 2 +- portable/CodeWarrior/ColdFire_V2/portasm.S | 2 +- portable/CodeWarrior/ColdFire_V2/portmacro.h | 2 +- portable/CodeWarrior/HCS12/port.c | 2 +- portable/CodeWarrior/HCS12/portmacro.h | 2 +- portable/Common/mpu_wrappers.c | 2 +- portable/Common/mpu_wrappers_v2.c | 2 +- portable/GCC/ARM7_AT91FR40008/port.c | 2 +- portable/GCC/ARM7_AT91FR40008/portISR.c | 2 +- portable/GCC/ARM7_AT91FR40008/portmacro.h | 2 +- portable/GCC/ARM7_AT91SAM7S/port.c | 2 +- portable/GCC/ARM7_AT91SAM7S/portISR.c | 2 +- portable/GCC/ARM7_AT91SAM7S/portmacro.h | 2 +- portable/GCC/ARM7_LPC2000/port.c | 2 +- portable/GCC/ARM7_LPC2000/portISR.c | 2 +- portable/GCC/ARM7_LPC2000/portmacro.h | 2 +- portable/GCC/ARM7_LPC23xx/port.c | 2 +- portable/GCC/ARM7_LPC23xx/portISR.c | 2 +- portable/GCC/ARM7_LPC23xx/portmacro.h | 2 +- portable/GCC/ARM_AARCH64/port.c | 2 +- portable/GCC/ARM_AARCH64/portASM.S | 2 +- portable/GCC/ARM_AARCH64/portmacro.h | 2 +- portable/GCC/ARM_AARCH64_SRE/port.c | 2 +- portable/GCC/ARM_AARCH64_SRE/portASM.S | 2 +- portable/GCC/ARM_AARCH64_SRE/portmacro.h | 2 +- portable/GCC/ARM_CA9/port.c | 2 +- portable/GCC/ARM_CA9/portASM.S | 2 +- portable/GCC/ARM_CA9/portmacro.h | 2 +- portable/GCC/ARM_CM0/port.c | 2 +- portable/GCC/ARM_CM0/portmacro.h | 2 +- portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c | 2 +- portable/GCC/ARM_CM23/non_secure/port.c | 2 +- portable/GCC/ARM_CM23/non_secure/portasm.c | 2 +- portable/GCC/ARM_CM23/non_secure/portasm.h | 2 +- portable/GCC/ARM_CM23/non_secure/portmacro.h | 2 +- portable/GCC/ARM_CM23/non_secure/portmacrocommon.h | 2 +- portable/GCC/ARM_CM23/secure/secure_context.c | 2 +- portable/GCC/ARM_CM23/secure/secure_context.h | 2 +- portable/GCC/ARM_CM23/secure/secure_context_port.c | 2 +- portable/GCC/ARM_CM23/secure/secure_heap.c | 2 +- portable/GCC/ARM_CM23/secure/secure_heap.h | 2 +- portable/GCC/ARM_CM23/secure/secure_init.c | 2 +- portable/GCC/ARM_CM23/secure/secure_init.h | 2 +- portable/GCC/ARM_CM23/secure/secure_port_macros.h | 2 +- .../GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c | 2 +- portable/GCC/ARM_CM23_NTZ/non_secure/port.c | 2 +- portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c | 2 +- portable/GCC/ARM_CM23_NTZ/non_secure/portasm.h | 2 +- portable/GCC/ARM_CM23_NTZ/non_secure/portmacro.h | 2 +- portable/GCC/ARM_CM23_NTZ/non_secure/portmacrocommon.h | 2 +- portable/GCC/ARM_CM3/port.c | 2 +- portable/GCC/ARM_CM3/portmacro.h | 2 +- portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c | 2 +- portable/GCC/ARM_CM33/non_secure/port.c | 2 +- portable/GCC/ARM_CM33/non_secure/portasm.c | 2 +- portable/GCC/ARM_CM33/non_secure/portasm.h | 2 +- portable/GCC/ARM_CM33/non_secure/portmacro.h | 2 +- portable/GCC/ARM_CM33/non_secure/portmacrocommon.h | 2 +- portable/GCC/ARM_CM33/secure/secure_context.c | 2 +- portable/GCC/ARM_CM33/secure/secure_context.h | 2 +- portable/GCC/ARM_CM33/secure/secure_context_port.c | 2 +- portable/GCC/ARM_CM33/secure/secure_heap.c | 2 +- portable/GCC/ARM_CM33/secure/secure_heap.h | 2 +- portable/GCC/ARM_CM33/secure/secure_init.c | 2 +- portable/GCC/ARM_CM33/secure/secure_init.h | 2 +- portable/GCC/ARM_CM33/secure/secure_port_macros.h | 2 +- .../GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c | 2 +- portable/GCC/ARM_CM33_NTZ/non_secure/port.c | 2 +- portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c | 2 +- portable/GCC/ARM_CM33_NTZ/non_secure/portasm.h | 2 +- portable/GCC/ARM_CM33_NTZ/non_secure/portmacro.h | 2 +- portable/GCC/ARM_CM33_NTZ/non_secure/portmacrocommon.h | 2 +- portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c | 2 +- portable/GCC/ARM_CM35P/non_secure/port.c | 2 +- portable/GCC/ARM_CM35P/non_secure/portasm.c | 2 +- portable/GCC/ARM_CM35P/non_secure/portasm.h | 2 +- portable/GCC/ARM_CM35P/non_secure/portmacro.h | 2 +- portable/GCC/ARM_CM35P/non_secure/portmacrocommon.h | 2 +- portable/GCC/ARM_CM35P/secure/secure_context.c | 2 +- portable/GCC/ARM_CM35P/secure/secure_context.h | 2 +- portable/GCC/ARM_CM35P/secure/secure_context_port.c | 2 +- portable/GCC/ARM_CM35P/secure/secure_heap.c | 2 +- portable/GCC/ARM_CM35P/secure/secure_heap.h | 2 +- portable/GCC/ARM_CM35P/secure/secure_init.c | 2 +- portable/GCC/ARM_CM35P/secure/secure_init.h | 2 +- portable/GCC/ARM_CM35P/secure/secure_port_macros.h | 2 +- .../GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c | 2 +- portable/GCC/ARM_CM35P_NTZ/non_secure/port.c | 2 +- portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.c | 2 +- portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.h | 2 +- portable/GCC/ARM_CM35P_NTZ/non_secure/portmacro.h | 2 +- portable/GCC/ARM_CM35P_NTZ/non_secure/portmacrocommon.h | 2 +- portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c | 2 +- portable/GCC/ARM_CM3_MPU/port.c | 2 +- portable/GCC/ARM_CM3_MPU/portmacro.h | 2 +- portable/GCC/ARM_CM4F/port.c | 2 +- portable/GCC/ARM_CM4F/portmacro.h | 2 +- portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c | 2 +- portable/GCC/ARM_CM4_MPU/port.c | 2 +- portable/GCC/ARM_CM4_MPU/portmacro.h | 2 +- portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c | 2 +- portable/GCC/ARM_CM55/non_secure/port.c | 2 +- portable/GCC/ARM_CM55/non_secure/portasm.c | 2 +- portable/GCC/ARM_CM55/non_secure/portasm.h | 2 +- portable/GCC/ARM_CM55/non_secure/portmacro.h | 2 +- portable/GCC/ARM_CM55/non_secure/portmacrocommon.h | 2 +- portable/GCC/ARM_CM55/secure/secure_context.c | 2 +- portable/GCC/ARM_CM55/secure/secure_context.h | 2 +- portable/GCC/ARM_CM55/secure/secure_context_port.c | 2 +- portable/GCC/ARM_CM55/secure/secure_heap.c | 2 +- portable/GCC/ARM_CM55/secure/secure_heap.h | 2 +- portable/GCC/ARM_CM55/secure/secure_init.c | 2 +- portable/GCC/ARM_CM55/secure/secure_init.h | 2 +- portable/GCC/ARM_CM55/secure/secure_port_macros.h | 2 +- .../GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c | 2 +- portable/GCC/ARM_CM55_NTZ/non_secure/port.c | 2 +- portable/GCC/ARM_CM55_NTZ/non_secure/portasm.c | 2 +- portable/GCC/ARM_CM55_NTZ/non_secure/portasm.h | 2 +- portable/GCC/ARM_CM55_NTZ/non_secure/portmacro.h | 2 +- portable/GCC/ARM_CM55_NTZ/non_secure/portmacrocommon.h | 2 +- portable/GCC/ARM_CM7/r0p1/port.c | 2 +- portable/GCC/ARM_CM7/r0p1/portmacro.h | 2 +- portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c | 2 +- portable/GCC/ARM_CM85/non_secure/port.c | 2 +- portable/GCC/ARM_CM85/non_secure/portasm.c | 2 +- portable/GCC/ARM_CM85/non_secure/portasm.h | 2 +- portable/GCC/ARM_CM85/non_secure/portmacro.h | 2 +- portable/GCC/ARM_CM85/non_secure/portmacrocommon.h | 2 +- portable/GCC/ARM_CM85/secure/secure_context.c | 2 +- portable/GCC/ARM_CM85/secure/secure_context.h | 2 +- portable/GCC/ARM_CM85/secure/secure_context_port.c | 2 +- portable/GCC/ARM_CM85/secure/secure_heap.c | 2 +- portable/GCC/ARM_CM85/secure/secure_heap.h | 2 +- portable/GCC/ARM_CM85/secure/secure_init.c | 2 +- portable/GCC/ARM_CM85/secure/secure_init.h | 2 +- portable/GCC/ARM_CM85/secure/secure_port_macros.h | 2 +- .../GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c | 2 +- portable/GCC/ARM_CM85_NTZ/non_secure/port.c | 2 +- portable/GCC/ARM_CM85_NTZ/non_secure/portasm.c | 2 +- portable/GCC/ARM_CM85_NTZ/non_secure/portasm.h | 2 +- portable/GCC/ARM_CM85_NTZ/non_secure/portmacro.h | 2 +- portable/GCC/ARM_CM85_NTZ/non_secure/portmacrocommon.h | 2 +- portable/GCC/ARM_CR5/port.c | 2 +- portable/GCC/ARM_CR5/portASM.S | 2 +- portable/GCC/ARM_CR5/portmacro.h | 2 +- portable/GCC/ARM_CRx_No_GIC/port.c | 2 +- portable/GCC/ARM_CRx_No_GIC/portASM.S | 2 +- portable/GCC/ARM_CRx_No_GIC/portmacro.h | 2 +- portable/GCC/ATMega323/port.c | 2 +- portable/GCC/ATMega323/portmacro.h | 2 +- portable/GCC/AVR32_UC3/exception.S | 2 +- portable/GCC/AVR32_UC3/port.c | 2 +- portable/GCC/AVR32_UC3/portmacro.h | 2 +- portable/GCC/CORTUS_APS3/port.c | 2 +- portable/GCC/CORTUS_APS3/portmacro.h | 2 +- portable/GCC/ColdFire_V2/port.c | 2 +- portable/GCC/ColdFire_V2/portasm.S | 2 +- portable/GCC/ColdFire_V2/portmacro.h | 2 +- portable/GCC/H8S2329/port.c | 2 +- portable/GCC/H8S2329/portmacro.h | 2 +- portable/GCC/HCS12/port.c | 2 +- portable/GCC/HCS12/portmacro.h | 2 +- portable/GCC/IA32_flat/ISR_Support.h | 2 +- portable/GCC/IA32_flat/port.c | 2 +- portable/GCC/IA32_flat/portASM.S | 2 +- portable/GCC/IA32_flat/portmacro.h | 2 +- portable/GCC/MSP430F449/port.c | 2 +- portable/GCC/MSP430F449/portmacro.h | 2 +- portable/GCC/MicroBlaze/port.c | 2 +- portable/GCC/MicroBlaze/portasm.s | 2 +- portable/GCC/MicroBlaze/portmacro.h | 2 +- portable/GCC/MicroBlazeV8/port.c | 2 +- portable/GCC/MicroBlazeV8/port_exceptions.c | 2 +- portable/GCC/MicroBlazeV8/portasm.S | 2 +- portable/GCC/MicroBlazeV8/portmacro.h | 2 +- portable/GCC/MicroBlazeV9/port.c | 2 +- portable/GCC/MicroBlazeV9/port_exceptions.c | 2 +- portable/GCC/MicroBlazeV9/portasm.S | 2 +- portable/GCC/MicroBlazeV9/portmacro.h | 2 +- portable/GCC/NiosII/port.c | 2 +- portable/GCC/NiosII/port_asm.S | 2 +- portable/GCC/NiosII/portmacro.h | 2 +- portable/GCC/PPC405_Xilinx/FPU_Macros.h | 2 +- portable/GCC/PPC405_Xilinx/port.c | 2 +- portable/GCC/PPC405_Xilinx/portasm.S | 2 +- portable/GCC/PPC405_Xilinx/portmacro.h | 2 +- portable/GCC/PPC440_Xilinx/FPU_Macros.h | 2 +- portable/GCC/PPC440_Xilinx/port.c | 2 +- portable/GCC/PPC440_Xilinx/portasm.S | 2 +- portable/GCC/PPC440_Xilinx/portmacro.h | 2 +- .../freertos_risc_v_chip_specific_extensions.h | 2 +- .../freertos_risc_v_chip_specific_extensions.h | 2 +- .../freertos_risc_v_chip_specific_extensions.h | 2 +- .../freertos_risc_v_chip_specific_extensions.h | 2 +- portable/GCC/RISC-V/port.c | 2 +- portable/GCC/RISC-V/portASM.S | 2 +- portable/GCC/RISC-V/portContext.h | 2 +- portable/GCC/RISC-V/portmacro.h | 2 +- portable/GCC/RL78/isr_support.h | 2 +- portable/GCC/RL78/port.c | 2 +- portable/GCC/RL78/portasm.S | 2 +- portable/GCC/RL78/portmacro.h | 2 +- portable/GCC/RX100/port.c | 2 +- portable/GCC/RX100/portmacro.h | 2 +- portable/GCC/RX200/port.c | 2 +- portable/GCC/RX200/portmacro.h | 2 +- portable/GCC/RX600/port.c | 2 +- portable/GCC/RX600/portmacro.h | 2 +- portable/GCC/RX600v2/port.c | 2 +- portable/GCC/RX600v2/portmacro.h | 2 +- portable/GCC/RX700v3_DPFPU/port.c | 2 +- portable/GCC/RX700v3_DPFPU/portmacro.h | 2 +- portable/GCC/STR75x/port.c | 2 +- portable/GCC/STR75x/portISR.c | 2 +- portable/GCC/STR75x/portmacro.h | 2 +- portable/GCC/TriCore_1782/port.c | 2 +- portable/GCC/TriCore_1782/portmacro.h | 2 +- portable/GCC/TriCore_1782/porttrap.c | 2 +- portable/IAR/78K0R/ISR_Support.h | 2 +- portable/IAR/78K0R/port.c | 2 +- portable/IAR/78K0R/portasm.s26 | 2 +- portable/IAR/78K0R/portmacro.h | 2 +- portable/IAR/ARM_CA5_No_GIC/port.c | 2 +- portable/IAR/ARM_CA5_No_GIC/portASM.h | 2 +- portable/IAR/ARM_CA5_No_GIC/portASM.s | 2 +- portable/IAR/ARM_CA5_No_GIC/portmacro.h | 2 +- portable/IAR/ARM_CA9/port.c | 2 +- portable/IAR/ARM_CA9/portASM.h | 2 +- portable/IAR/ARM_CA9/portASM.s | 2 +- portable/IAR/ARM_CA9/portmacro.h | 2 +- portable/IAR/ARM_CM0/port.c | 2 +- portable/IAR/ARM_CM0/portasm.s | 2 +- portable/IAR/ARM_CM0/portmacro.h | 2 +- portable/IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S | 2 +- portable/IAR/ARM_CM23/non_secure/port.c | 2 +- portable/IAR/ARM_CM23/non_secure/portasm.h | 2 +- portable/IAR/ARM_CM23/non_secure/portasm.s | 2 +- portable/IAR/ARM_CM23/non_secure/portmacro.h | 2 +- portable/IAR/ARM_CM23/non_secure/portmacrocommon.h | 2 +- portable/IAR/ARM_CM23/secure/secure_context.c | 2 +- portable/IAR/ARM_CM23/secure/secure_context.h | 2 +- portable/IAR/ARM_CM23/secure/secure_context_port_asm.s | 2 +- portable/IAR/ARM_CM23/secure/secure_heap.c | 2 +- portable/IAR/ARM_CM23/secure/secure_heap.h | 2 +- portable/IAR/ARM_CM23/secure/secure_init.c | 2 +- portable/IAR/ARM_CM23/secure/secure_init.h | 2 +- portable/IAR/ARM_CM23/secure/secure_port_macros.h | 2 +- .../IAR/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.S | 2 +- portable/IAR/ARM_CM23_NTZ/non_secure/port.c | 2 +- portable/IAR/ARM_CM23_NTZ/non_secure/portasm.h | 2 +- portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s | 2 +- portable/IAR/ARM_CM23_NTZ/non_secure/portmacro.h | 2 +- portable/IAR/ARM_CM23_NTZ/non_secure/portmacrocommon.h | 2 +- portable/IAR/ARM_CM3/port.c | 2 +- portable/IAR/ARM_CM3/portasm.s | 2 +- portable/IAR/ARM_CM3/portmacro.h | 2 +- portable/IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S | 2 +- portable/IAR/ARM_CM33/non_secure/port.c | 2 +- portable/IAR/ARM_CM33/non_secure/portasm.h | 2 +- portable/IAR/ARM_CM33/non_secure/portasm.s | 2 +- portable/IAR/ARM_CM33/non_secure/portmacro.h | 2 +- portable/IAR/ARM_CM33/non_secure/portmacrocommon.h | 2 +- portable/IAR/ARM_CM33/secure/secure_context.c | 2 +- portable/IAR/ARM_CM33/secure/secure_context.h | 2 +- portable/IAR/ARM_CM33/secure/secure_context_port_asm.s | 2 +- portable/IAR/ARM_CM33/secure/secure_heap.c | 2 +- portable/IAR/ARM_CM33/secure/secure_heap.h | 2 +- portable/IAR/ARM_CM33/secure/secure_init.c | 2 +- portable/IAR/ARM_CM33/secure/secure_init.h | 2 +- portable/IAR/ARM_CM33/secure/secure_port_macros.h | 2 +- .../IAR/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.S | 2 +- portable/IAR/ARM_CM33_NTZ/non_secure/port.c | 2 +- portable/IAR/ARM_CM33_NTZ/non_secure/portasm.h | 2 +- portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s | 2 +- portable/IAR/ARM_CM33_NTZ/non_secure/portmacro.h | 2 +- portable/IAR/ARM_CM33_NTZ/non_secure/portmacrocommon.h | 2 +- portable/IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S | 2 +- portable/IAR/ARM_CM35P/non_secure/port.c | 2 +- portable/IAR/ARM_CM35P/non_secure/portasm.h | 2 +- portable/IAR/ARM_CM35P/non_secure/portasm.s | 2 +- portable/IAR/ARM_CM35P/non_secure/portmacro.h | 2 +- portable/IAR/ARM_CM35P/non_secure/portmacrocommon.h | 2 +- portable/IAR/ARM_CM35P/secure/secure_context.c | 2 +- portable/IAR/ARM_CM35P/secure/secure_context.h | 2 +- portable/IAR/ARM_CM35P/secure/secure_context_port_asm.s | 2 +- portable/IAR/ARM_CM35P/secure/secure_heap.c | 2 +- portable/IAR/ARM_CM35P/secure/secure_heap.h | 2 +- portable/IAR/ARM_CM35P/secure/secure_init.c | 2 +- portable/IAR/ARM_CM35P/secure/secure_init.h | 2 +- portable/IAR/ARM_CM35P/secure/secure_port_macros.h | 2 +- .../IAR/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.S | 2 +- portable/IAR/ARM_CM35P_NTZ/non_secure/port.c | 2 +- portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.h | 2 +- portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.s | 2 +- portable/IAR/ARM_CM35P_NTZ/non_secure/portmacro.h | 2 +- portable/IAR/ARM_CM35P_NTZ/non_secure/portmacrocommon.h | 2 +- portable/IAR/ARM_CM4F/port.c | 2 +- portable/IAR/ARM_CM4F/portasm.s | 2 +- portable/IAR/ARM_CM4F/portmacro.h | 2 +- portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S | 2 +- portable/IAR/ARM_CM4F_MPU/port.c | 2 +- portable/IAR/ARM_CM4F_MPU/portasm.s | 2 +- portable/IAR/ARM_CM4F_MPU/portmacro.h | 2 +- portable/IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S | 2 +- portable/IAR/ARM_CM55/non_secure/port.c | 2 +- portable/IAR/ARM_CM55/non_secure/portasm.h | 2 +- portable/IAR/ARM_CM55/non_secure/portasm.s | 2 +- portable/IAR/ARM_CM55/non_secure/portmacro.h | 2 +- portable/IAR/ARM_CM55/non_secure/portmacrocommon.h | 2 +- portable/IAR/ARM_CM55/secure/secure_context.c | 2 +- portable/IAR/ARM_CM55/secure/secure_context.h | 2 +- portable/IAR/ARM_CM55/secure/secure_context_port_asm.s | 2 +- portable/IAR/ARM_CM55/secure/secure_heap.c | 2 +- portable/IAR/ARM_CM55/secure/secure_heap.h | 2 +- portable/IAR/ARM_CM55/secure/secure_init.c | 2 +- portable/IAR/ARM_CM55/secure/secure_init.h | 2 +- portable/IAR/ARM_CM55/secure/secure_port_macros.h | 2 +- .../IAR/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.S | 2 +- portable/IAR/ARM_CM55_NTZ/non_secure/port.c | 2 +- portable/IAR/ARM_CM55_NTZ/non_secure/portasm.h | 2 +- portable/IAR/ARM_CM55_NTZ/non_secure/portasm.s | 2 +- portable/IAR/ARM_CM55_NTZ/non_secure/portmacro.h | 2 +- portable/IAR/ARM_CM55_NTZ/non_secure/portmacrocommon.h | 2 +- portable/IAR/ARM_CM7/r0p1/port.c | 2 +- portable/IAR/ARM_CM7/r0p1/portasm.s | 2 +- portable/IAR/ARM_CM7/r0p1/portmacro.h | 2 +- portable/IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S | 2 +- portable/IAR/ARM_CM85/non_secure/port.c | 2 +- portable/IAR/ARM_CM85/non_secure/portasm.h | 2 +- portable/IAR/ARM_CM85/non_secure/portasm.s | 2 +- portable/IAR/ARM_CM85/non_secure/portmacro.h | 2 +- portable/IAR/ARM_CM85/non_secure/portmacrocommon.h | 2 +- portable/IAR/ARM_CM85/secure/secure_context.c | 2 +- portable/IAR/ARM_CM85/secure/secure_context.h | 2 +- portable/IAR/ARM_CM85/secure/secure_context_port_asm.s | 2 +- portable/IAR/ARM_CM85/secure/secure_heap.c | 2 +- portable/IAR/ARM_CM85/secure/secure_heap.h | 2 +- portable/IAR/ARM_CM85/secure/secure_init.c | 2 +- portable/IAR/ARM_CM85/secure/secure_init.h | 2 +- portable/IAR/ARM_CM85/secure/secure_port_macros.h | 2 +- .../IAR/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.S | 2 +- portable/IAR/ARM_CM85_NTZ/non_secure/port.c | 2 +- portable/IAR/ARM_CM85_NTZ/non_secure/portasm.h | 2 +- portable/IAR/ARM_CM85_NTZ/non_secure/portasm.s | 2 +- portable/IAR/ARM_CM85_NTZ/non_secure/portmacro.h | 2 +- portable/IAR/ARM_CM85_NTZ/non_secure/portmacrocommon.h | 2 +- portable/IAR/ARM_CRx_No_GIC/port.c | 2 +- portable/IAR/ARM_CRx_No_GIC/portASM.s | 2 +- portable/IAR/ARM_CRx_No_GIC/portmacro.h | 2 +- portable/IAR/ATMega323/port.c | 2 +- portable/IAR/ATMega323/portmacro.h | 2 +- portable/IAR/ATMega323/portmacro.s90 | 2 +- portable/IAR/AVR32_UC3/exception.s82 | 2 +- portable/IAR/AVR32_UC3/port.c | 2 +- portable/IAR/AVR32_UC3/portmacro.h | 2 +- portable/IAR/AVR32_UC3/read.c | 2 +- portable/IAR/AVR32_UC3/write.c | 2 +- portable/IAR/AVR_AVRDx/port.c | 2 +- portable/IAR/AVR_AVRDx/porthardware.h | 2 +- portable/IAR/AVR_AVRDx/portmacro.h | 2 +- portable/IAR/AVR_AVRDx/portmacro.s90 | 2 +- portable/IAR/AVR_Mega0/port.c | 2 +- portable/IAR/AVR_Mega0/porthardware.h | 2 +- portable/IAR/AVR_Mega0/portmacro.h | 2 +- portable/IAR/AVR_Mega0/portmacro.s90 | 2 +- portable/IAR/AtmelSAM7S64/ISR_Support.h | 2 +- portable/IAR/AtmelSAM7S64/port.c | 2 +- portable/IAR/AtmelSAM7S64/portasm.s79 | 2 +- portable/IAR/AtmelSAM7S64/portmacro.h | 2 +- portable/IAR/AtmelSAM9XE/ISR_Support.h | 2 +- portable/IAR/AtmelSAM9XE/port.c | 2 +- portable/IAR/AtmelSAM9XE/portasm.s79 | 2 +- portable/IAR/AtmelSAM9XE/portmacro.h | 2 +- portable/IAR/LPC2000/ISR_Support.h | 2 +- portable/IAR/LPC2000/port.c | 2 +- portable/IAR/LPC2000/portasm.s79 | 2 +- portable/IAR/LPC2000/portmacro.h | 2 +- portable/IAR/MSP430/port.c | 2 +- portable/IAR/MSP430/portasm.h | 2 +- portable/IAR/MSP430/portext.s43 | 2 +- portable/IAR/MSP430/portmacro.h | 2 +- portable/IAR/MSP430X/data_model.h | 2 +- portable/IAR/MSP430X/port.c | 2 +- portable/IAR/MSP430X/portext.s43 | 2 +- portable/IAR/MSP430X/portmacro.h | 2 +- .../freertos_risc_v_chip_specific_extensions.h | 2 +- portable/IAR/RISC-V/port.c | 2 +- portable/IAR/RISC-V/portASM.s | 2 +- portable/IAR/RISC-V/portContext.h | 2 +- portable/IAR/RISC-V/portmacro.h | 2 +- portable/IAR/RL78/port.c | 2 +- portable/IAR/RL78/portasm.s | 2 +- portable/IAR/RL78/portmacro.h | 2 +- portable/IAR/RX100/port.c | 2 +- portable/IAR/RX100/port_asm.s | 2 +- portable/IAR/RX100/portmacro.h | 2 +- portable/IAR/RX600/port.c | 2 +- portable/IAR/RX600/port_asm.s | 2 +- portable/IAR/RX600/portmacro.h | 2 +- portable/IAR/RX700v3_DPFPU/port.c | 2 +- portable/IAR/RX700v3_DPFPU/portmacro.h | 2 +- portable/IAR/RXv2/port.c | 2 +- portable/IAR/RXv2/port_asm.s | 2 +- portable/IAR/RXv2/portmacro.h | 2 +- portable/IAR/STR71x/ISR_Support.h | 2 +- portable/IAR/STR71x/port.c | 2 +- portable/IAR/STR71x/portasm.s79 | 2 +- portable/IAR/STR71x/portmacro.h | 2 +- portable/IAR/STR75x/ISR_Support.h | 2 +- portable/IAR/STR75x/port.c | 2 +- portable/IAR/STR75x/portasm.s79 | 2 +- portable/IAR/STR75x/portmacro.h | 2 +- portable/IAR/STR91x/ISR_Support.h | 2 +- portable/IAR/STR91x/port.c | 2 +- portable/IAR/STR91x/portasm.s79 | 2 +- portable/IAR/STR91x/portmacro.h | 2 +- portable/IAR/V850ES/ISR_Support.h | 2 +- portable/IAR/V850ES/port.c | 2 +- portable/IAR/V850ES/portasm.s85 | 2 +- portable/IAR/V850ES/portasm_Fx3.s85 | 2 +- portable/IAR/V850ES/portasm_Hx2.s85 | 2 +- portable/IAR/V850ES/portmacro.h | 2 +- portable/MPLAB/PIC18F/port.c | 2 +- portable/MPLAB/PIC18F/portmacro.h | 2 +- portable/MPLAB/PIC24_dsPIC/port.c | 2 +- portable/MPLAB/PIC24_dsPIC/portasm_PIC24.S | 2 +- portable/MPLAB/PIC24_dsPIC/portasm_dsPIC.S | 2 +- portable/MPLAB/PIC24_dsPIC/portmacro.h | 2 +- portable/MPLAB/PIC32MEC14xx/ISR_Support.h | 2 +- portable/MPLAB/PIC32MEC14xx/port.c | 2 +- portable/MPLAB/PIC32MEC14xx/port_asm.S | 2 +- portable/MPLAB/PIC32MEC14xx/portmacro.h | 2 +- portable/MPLAB/PIC32MX/ISR_Support.h | 2 +- portable/MPLAB/PIC32MX/port.c | 2 +- portable/MPLAB/PIC32MX/port_asm.S | 2 +- portable/MPLAB/PIC32MX/portmacro.h | 2 +- portable/MPLAB/PIC32MZ/ISR_Support.h | 2 +- portable/MPLAB/PIC32MZ/port.c | 2 +- portable/MPLAB/PIC32MZ/port_asm.S | 2 +- portable/MPLAB/PIC32MZ/portmacro.h | 2 +- portable/MSVC-MingW/port.c | 2 +- portable/MSVC-MingW/portmacro.h | 2 +- portable/MemMang/heap_1.c | 2 +- portable/MemMang/heap_2.c | 2 +- portable/MemMang/heap_3.c | 2 +- portable/MemMang/heap_4.c | 2 +- portable/MemMang/heap_5.c | 2 +- portable/MikroC/ARM_CM4F/port.c | 2 +- portable/MikroC/ARM_CM4F/portmacro.h | 2 +- portable/Paradigm/Tern_EE/large_untested/port.c | 2 +- portable/Paradigm/Tern_EE/large_untested/portasm.h | 2 +- portable/Paradigm/Tern_EE/large_untested/portmacro.h | 2 +- portable/Paradigm/Tern_EE/small/port.c | 2 +- portable/Paradigm/Tern_EE/small/portasm.h | 2 +- portable/Paradigm/Tern_EE/small/portmacro.h | 2 +- portable/RVDS/ARM7_LPC21xx/port.c | 2 +- portable/RVDS/ARM7_LPC21xx/portASM.s | 2 +- portable/RVDS/ARM7_LPC21xx/portmacro.h | 2 +- portable/RVDS/ARM7_LPC21xx/portmacro.inc | 2 +- portable/RVDS/ARM_CA9/port.c | 2 +- portable/RVDS/ARM_CA9/portASM.s | 2 +- portable/RVDS/ARM_CA9/portmacro.h | 2 +- portable/RVDS/ARM_CA9/portmacro.inc | 2 +- portable/RVDS/ARM_CM0/port.c | 2 +- portable/RVDS/ARM_CM0/portmacro.h | 2 +- portable/RVDS/ARM_CM3/port.c | 2 +- portable/RVDS/ARM_CM3/portmacro.h | 2 +- portable/RVDS/ARM_CM4F/port.c | 2 +- portable/RVDS/ARM_CM4F/portmacro.h | 2 +- portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c | 2 +- portable/RVDS/ARM_CM4_MPU/port.c | 2 +- portable/RVDS/ARM_CM4_MPU/portmacro.h | 2 +- portable/RVDS/ARM_CM7/r0p1/port.c | 2 +- portable/RVDS/ARM_CM7/r0p1/portmacro.h | 2 +- portable/Renesas/RX100/port.c | 2 +- portable/Renesas/RX100/port_asm.src | 2 +- portable/Renesas/RX100/portmacro.h | 2 +- portable/Renesas/RX200/port.c | 2 +- portable/Renesas/RX200/port_asm.src | 2 +- portable/Renesas/RX200/portmacro.h | 2 +- portable/Renesas/RX600/port.c | 2 +- portable/Renesas/RX600/port_asm.src | 2 +- portable/Renesas/RX600/portmacro.h | 2 +- portable/Renesas/RX600v2/port.c | 2 +- portable/Renesas/RX600v2/port_asm.src | 2 +- portable/Renesas/RX600v2/portmacro.h | 2 +- portable/Renesas/RX700v3_DPFPU/port.c | 2 +- portable/Renesas/RX700v3_DPFPU/port_asm.src | 2 +- portable/Renesas/RX700v3_DPFPU/portmacro.h | 2 +- portable/Renesas/SH2A_FPU/ISR_Support.inc | 2 +- portable/Renesas/SH2A_FPU/port.c | 2 +- portable/Renesas/SH2A_FPU/portasm.src | 2 +- portable/Renesas/SH2A_FPU/portmacro.h | 2 +- portable/Rowley/MSP430F449/port.c | 2 +- portable/Rowley/MSP430F449/portasm.h | 2 +- portable/Rowley/MSP430F449/portext.asm | 2 +- portable/Rowley/MSP430F449/portmacro.h | 2 +- portable/SDCC/Cygnal/port.c | 2 +- portable/SDCC/Cygnal/portmacro.h | 2 +- portable/Softune/MB91460/__STD_LIB_sbrk.c | 2 +- portable/Softune/MB91460/port.c | 2 +- portable/Softune/MB91460/portmacro.h | 2 +- portable/Softune/MB96340/__STD_LIB_sbrk.c | 2 +- portable/Softune/MB96340/port.c | 2 +- portable/Softune/MB96340/portmacro.h | 2 +- portable/Tasking/ARM_CM4F/port.c | 2 +- portable/Tasking/ARM_CM4F/port_asm.asm | 2 +- portable/Tasking/ARM_CM4F/portmacro.h | 2 +- portable/ThirdParty/GCC/ATmega/port.c | 2 +- portable/ThirdParty/GCC/ATmega/portmacro.h | 2 +- portable/ThirdParty/GCC/Posix/utils/wait_for_event.c | 2 +- portable/ThirdParty/GCC/Posix/utils/wait_for_event.h | 2 +- .../ThirdParty/GCC/RP2040/include/freertos_sdk_config.h | 2 +- portable/ThirdParty/GCC/RP2040/include/portmacro.h | 2 +- portable/ThirdParty/GCC/RP2040/include/rp2040_config.h | 2 +- portable/ThirdParty/GCC/RP2040/port.c | 2 +- .../GCC/Xtensa_ESP32/include/FreeRTOSConfig_arch.h | 2 +- portable/ThirdParty/GCC/Xtensa_ESP32/include/portmacro.h | 2 +- portable/ThirdParty/GCC/Xtensa_ESP32/port.c | 2 +- portable/ThirdParty/XCC/Xtensa/port.c | 2 +- portable/ThirdParty/XCC/Xtensa/portasm.S | 2 +- portable/ThirdParty/XCC/Xtensa/portbenchmark.h | 2 +- portable/ThirdParty/XCC/Xtensa/portclib.c | 2 +- portable/ThirdParty/XCC/Xtensa/portmacro.h | 2 +- portable/ThirdParty/XCC/Xtensa/porttrace.h | 2 +- portable/ThirdParty/XCC/Xtensa/xtensa_api.h | 2 +- portable/ThirdParty/XCC/Xtensa/xtensa_config.h | 2 +- portable/ThirdParty/XCC/Xtensa/xtensa_context.S | 2 +- portable/ThirdParty/XCC/Xtensa/xtensa_context.h | 2 +- portable/ThirdParty/XCC/Xtensa/xtensa_init.c | 2 +- portable/ThirdParty/XCC/Xtensa/xtensa_intr.c | 2 +- portable/ThirdParty/XCC/Xtensa/xtensa_intr_asm.S | 2 +- portable/ThirdParty/XCC/Xtensa/xtensa_overlay_os_hook.c | 2 +- portable/ThirdParty/XCC/Xtensa/xtensa_rtos.h | 2 +- portable/ThirdParty/XCC/Xtensa/xtensa_timer.h | 2 +- portable/ThirdParty/XCC/Xtensa/xtensa_vectors.S | 2 +- portable/WizC/PIC18/Drivers/Tick/Tick.c | 2 +- portable/WizC/PIC18/Drivers/Tick/isrTick.c | 2 +- portable/WizC/PIC18/addFreeRTOS.h | 2 +- portable/WizC/PIC18/port.c | 2 +- portable/WizC/PIC18/portmacro.h | 2 +- portable/oWatcom/16BitDOS/Flsh186/port.c | 2 +- portable/oWatcom/16BitDOS/Flsh186/portmacro.h | 2 +- portable/oWatcom/16BitDOS/PC/port.c | 2 +- portable/oWatcom/16BitDOS/PC/portmacro.h | 2 +- portable/oWatcom/16BitDOS/common/portasm.h | 2 +- portable/oWatcom/16BitDOS/common/portcomn.c | 2 +- queue.c | 2 +- stream_buffer.c | 2 +- tasks.c | 2 +- timers.c | 2 +- 647 files changed, 652 insertions(+), 648 deletions(-) diff --git a/.github/scripts/kernel_checker.py b/.github/scripts/kernel_checker.py index 0e8556350..130841abb 100755 --- a/.github/scripts/kernel_checker.py +++ b/.github/scripts/kernel_checker.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 #/* # * FreeRTOS Kernel -# * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# * Copyright (C) 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. # * # * SPDX-License-Identifier: MIT # * @@ -108,7 +108,7 @@ KERNEL_THIRD_PARTY_PATTERNS = [ KERNEL_HEADER = [ '/*\n', ' * FreeRTOS Kernel \n', - ' * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n', + ' * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n', ' *\n', ' * SPDX-License-Identifier: MIT\n', ' *\n', @@ -135,12 +135,16 @@ KERNEL_HEADER = [ ' */\n', ] + +FREERTOS_COPYRIGHT_REGEX = r"^(;|#)?( *(\/\*|\*|#|\/\/))? Copyright \(C\) 20\d\d Amazon.com, Inc. or its affiliates. All Rights Reserved\.( \*\/)?$" + def main(): parser = HeaderChecker.configArgParser() args = parser.parse_args() # Configure the checks then run checker = HeaderChecker(KERNEL_HEADER, + copyright_regex=FREERTOS_COPYRIGHT_REGEX, ignored_files=KERNEL_IGNORED_FILES, ignored_ext=KERNEL_IGNORED_EXTENSIONS, ignored_patterns=KERNEL_IGNORED_PATTERNS, diff --git a/croutine.c b/croutine.c index 4d210b732..86256bcd1 100644 --- a/croutine.c +++ b/croutine.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/event_groups.c b/event_groups.c index 3fac0d9c8..2118f0474 100644 --- a/event_groups.c +++ b/event_groups.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/examples/cmake_example/main.c b/examples/cmake_example/main.c index 4825f2d19..f357b2f91 100644 --- a/examples/cmake_example/main.c +++ b/examples/cmake_example/main.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/examples/coverity/FreeRTOSConfig.h b/examples/coverity/FreeRTOSConfig.h index 4d957872d..06b0f9a28 100644 --- a/examples/coverity/FreeRTOSConfig.h +++ b/examples/coverity/FreeRTOSConfig.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/examples/template_configuration/FreeRTOSConfig.h b/examples/template_configuration/FreeRTOSConfig.h index 2c807142c..d7203f2e6 100644 --- a/examples/template_configuration/FreeRTOSConfig.h +++ b/examples/template_configuration/FreeRTOSConfig.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/FreeRTOS.h b/include/FreeRTOS.h index b993893e7..ecf82dc5a 100644 --- a/include/FreeRTOS.h +++ b/include/FreeRTOS.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/StackMacros.h b/include/StackMacros.h index b8ed92e31..d0c624733 100644 --- a/include/StackMacros.h +++ b/include/StackMacros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/atomic.h b/include/atomic.h index ef487b4ab..335a77fdf 100644 --- a/include/atomic.h +++ b/include/atomic.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/croutine.h b/include/croutine.h index 7888863e5..25f4caec8 100644 --- a/include/croutine.h +++ b/include/croutine.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/deprecated_definitions.h b/include/deprecated_definitions.h index b046711a6..edc0f2246 100644 --- a/include/deprecated_definitions.h +++ b/include/deprecated_definitions.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/event_groups.h b/include/event_groups.h index d66ab262c..f5652114e 100644 --- a/include/event_groups.h +++ b/include/event_groups.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/list.h b/include/list.h index 9b96ab137..a9aace44e 100644 --- a/include/list.h +++ b/include/list.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/message_buffer.h b/include/message_buffer.h index d693d28cc..fb5a6c04a 100644 --- a/include/message_buffer.h +++ b/include/message_buffer.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/mpu_prototypes.h b/include/mpu_prototypes.h index 94ab59611..d51f6e1d2 100644 --- a/include/mpu_prototypes.h +++ b/include/mpu_prototypes.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/mpu_syscall_numbers.h b/include/mpu_syscall_numbers.h index 47913c998..7c625a78d 100644 --- a/include/mpu_syscall_numbers.h +++ b/include/mpu_syscall_numbers.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/mpu_wrappers.h b/include/mpu_wrappers.h index 6117bbbcc..19c5e779f 100644 --- a/include/mpu_wrappers.h +++ b/include/mpu_wrappers.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/newlib-freertos.h b/include/newlib-freertos.h index a65e62e8e..4414d24ad 100644 --- a/include/newlib-freertos.h +++ b/include/newlib-freertos.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/picolibc-freertos.h b/include/picolibc-freertos.h index ef6b7570c..5cf01afa8 100644 --- a/include/picolibc-freertos.h +++ b/include/picolibc-freertos.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/portable.h b/include/portable.h index ee7b49350..a20a3daa3 100644 --- a/include/portable.h +++ b/include/portable.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/projdefs.h b/include/projdefs.h index 370285d30..04ec47fae 100644 --- a/include/projdefs.h +++ b/include/projdefs.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/queue.h b/include/queue.h index e892ed3d5..a2cd3ffe9 100644 --- a/include/queue.h +++ b/include/queue.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/semphr.h b/include/semphr.h index e93b708c5..8977acadb 100644 --- a/include/semphr.h +++ b/include/semphr.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/stack_macros.h b/include/stack_macros.h index bd9ec2770..c1018b68a 100644 --- a/include/stack_macros.h +++ b/include/stack_macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/stdint.readme b/include/stdint.readme index 5c9d192ec..bfe3bb6f8 100644 --- a/include/stdint.readme +++ b/include/stdint.readme @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/stream_buffer.h b/include/stream_buffer.h index 2ff584eaf..d3ed9aff4 100644 --- a/include/stream_buffer.h +++ b/include/stream_buffer.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/task.h b/include/task.h index 33d9d4c07..08452a9b2 100644 --- a/include/task.h +++ b/include/task.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/include/timers.h b/include/timers.h index 34dc406e4..19d55d535 100644 --- a/include/timers.h +++ b/include/timers.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/list.c b/list.c index 0ac5b04a0..87fa7aba3 100644 --- a/list.c +++ b/list.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/copy_files.py b/portable/ARMv8M/copy_files.py index 3609c67ef..023fb68e0 100644 --- a/portable/ARMv8M/copy_files.py +++ b/portable/ARMv8M/copy_files.py @@ -1,6 +1,6 @@ #/* # * FreeRTOS Kernel -# * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. # * # * SPDX-License-Identifier: MIT # * diff --git a/portable/ARMv8M/non_secure/port.c b/portable/ARMv8M/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/ARMv8M/non_secure/port.c +++ b/portable/ARMv8M/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c index e67f3cbae..9c829b540 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portasm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portasm.c index f8b37b691..8df9bfa7c 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portasm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portmacro.h b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portmacro.h index d17f3eb28..b08fa71b0 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c index e67f3cbae..9c829b540 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portasm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portasm.c index 5fde8342e..82bff509e 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portasm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portmacro.h b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portmacro.h index d17f3eb28..b08fa71b0 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c index 4cb310afd..170d10fcc 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portasm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portasm.c index 16c598ad7..1ee04b76d 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portasm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portmacro.h b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portmacro.h index 90448b6cc..8d3555bb4 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c index 4cb310afd..170d10fcc 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portasm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portasm.c index 76ba642a0..56866d6b6 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portasm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portmacro.h b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portmacro.h index 90448b6cc..8d3555bb4 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM35P/portmacro.h b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM35P/portmacro.h index 11fc04273..0eb0a6592 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM35P/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM35P/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM55/portmacro.h b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM55/portmacro.h index 7b011b5b5..2797dbd53 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM55/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM55/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM85/portmacro.h b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM85/portmacro.h index a6fda8a88..2d5cac90e 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM85/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM85/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/mpu_wrappers_v2_asm.S b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/mpu_wrappers_v2_asm.S index 419df5b1e..8ea2f5c78 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/mpu_wrappers_v2_asm.S +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portasm.s b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portasm.s index 06c761090..6817abd7a 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portasm.s +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portmacro.h b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portmacro.h index 56d7398f5..667b58151 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/mpu_wrappers_v2_asm.S b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/mpu_wrappers_v2_asm.S index 419df5b1e..8ea2f5c78 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/mpu_wrappers_v2_asm.S +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portasm.s b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portasm.s index d4487dfac..bfe9eee4b 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portasm.s +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portmacro.h b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portmacro.h index 56d7398f5..667b58151 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/mpu_wrappers_v2_asm.S b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/mpu_wrappers_v2_asm.S index 80d5a1c63..a69845eda 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/mpu_wrappers_v2_asm.S +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portasm.s b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portasm.s index d8f1b1d9a..418c5f887 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portasm.s +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portmacro.h b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portmacro.h index 890f3ea96..eeb14d86f 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/mpu_wrappers_v2_asm.S b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/mpu_wrappers_v2_asm.S index 80d5a1c63..a69845eda 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/mpu_wrappers_v2_asm.S +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portasm.s b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portasm.s index 7cf467d22..44f662646 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portasm.s +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portmacro.h b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portmacro.h index 59a44193f..acb4748a2 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM35P/portmacro.h b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM35P/portmacro.h index 468d14311..0dcac8d4d 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM35P/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM35P/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM55/portmacro.h b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM55/portmacro.h index 1338d25be..92dc75fd1 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM55/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM55/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM85/portmacro.h b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM85/portmacro.h index cffcb20d9..02f67453a 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM85/portmacro.h +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM85/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portasm.h b/portable/ARMv8M/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/ARMv8M/non_secure/portasm.h +++ b/portable/ARMv8M/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/non_secure/portmacrocommon.h b/portable/ARMv8M/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/ARMv8M/non_secure/portmacrocommon.h +++ b/portable/ARMv8M/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/secure/context/portable/GCC/ARM_CM23/secure_context_port.c b/portable/ARMv8M/secure/context/portable/GCC/ARM_CM23/secure_context_port.c index 2d9eeeaf8..32559ad04 100644 --- a/portable/ARMv8M/secure/context/portable/GCC/ARM_CM23/secure_context_port.c +++ b/portable/ARMv8M/secure/context/portable/GCC/ARM_CM23/secure_context_port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/secure/context/portable/GCC/ARM_CM33/secure_context_port.c b/portable/ARMv8M/secure/context/portable/GCC/ARM_CM33/secure_context_port.c index 13520870b..2d3d9439d 100644 --- a/portable/ARMv8M/secure/context/portable/GCC/ARM_CM33/secure_context_port.c +++ b/portable/ARMv8M/secure/context/portable/GCC/ARM_CM33/secure_context_port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/secure/context/portable/IAR/ARM_CM23/secure_context_port_asm.s b/portable/ARMv8M/secure/context/portable/IAR/ARM_CM23/secure_context_port_asm.s index f7c5d19d2..f70e89115 100644 --- a/portable/ARMv8M/secure/context/portable/IAR/ARM_CM23/secure_context_port_asm.s +++ b/portable/ARMv8M/secure/context/portable/IAR/ARM_CM23/secure_context_port_asm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/secure/context/portable/IAR/ARM_CM33/secure_context_port_asm.s b/portable/ARMv8M/secure/context/portable/IAR/ARM_CM33/secure_context_port_asm.s index 400bd0107..27a8f3933 100644 --- a/portable/ARMv8M/secure/context/portable/IAR/ARM_CM33/secure_context_port_asm.s +++ b/portable/ARMv8M/secure/context/portable/IAR/ARM_CM33/secure_context_port_asm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/secure/context/secure_context.c b/portable/ARMv8M/secure/context/secure_context.c index 7d2171996..72fb3862c 100644 --- a/portable/ARMv8M/secure/context/secure_context.c +++ b/portable/ARMv8M/secure/context/secure_context.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/secure/context/secure_context.h b/portable/ARMv8M/secure/context/secure_context.h index 0bf776198..e36a8e430 100644 --- a/portable/ARMv8M/secure/context/secure_context.h +++ b/portable/ARMv8M/secure/context/secure_context.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/secure/heap/secure_heap.c b/portable/ARMv8M/secure/heap/secure_heap.c index 1ec3bdbdb..4fa6a2ffa 100644 --- a/portable/ARMv8M/secure/heap/secure_heap.c +++ b/portable/ARMv8M/secure/heap/secure_heap.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/secure/heap/secure_heap.h b/portable/ARMv8M/secure/heap/secure_heap.h index c13590f86..0e84a9d9d 100644 --- a/portable/ARMv8M/secure/heap/secure_heap.h +++ b/portable/ARMv8M/secure/heap/secure_heap.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/secure/init/secure_init.c b/portable/ARMv8M/secure/init/secure_init.c index b89c5f644..c50d37668 100644 --- a/portable/ARMv8M/secure/init/secure_init.c +++ b/portable/ARMv8M/secure/init/secure_init.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/secure/init/secure_init.h b/portable/ARMv8M/secure/init/secure_init.h index 21daeda6b..ebe04900f 100644 --- a/portable/ARMv8M/secure/init/secure_init.h +++ b/portable/ARMv8M/secure/init/secure_init.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ARMv8M/secure/macros/secure_port_macros.h b/portable/ARMv8M/secure/macros/secure_port_macros.h index 304913b8d..a70da2c65 100644 --- a/portable/ARMv8M/secure/macros/secure_port_macros.h +++ b/portable/ARMv8M/secure/macros/secure_port_macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/BCC/16BitDOS/Flsh186/port.c b/portable/BCC/16BitDOS/Flsh186/port.c index 66b8b7b7b..14b1f6f5a 100644 --- a/portable/BCC/16BitDOS/Flsh186/port.c +++ b/portable/BCC/16BitDOS/Flsh186/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/BCC/16BitDOS/Flsh186/prtmacro.h b/portable/BCC/16BitDOS/Flsh186/prtmacro.h index 295c0bc73..b1b5c26eb 100644 --- a/portable/BCC/16BitDOS/Flsh186/prtmacro.h +++ b/portable/BCC/16BitDOS/Flsh186/prtmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/BCC/16BitDOS/PC/port.c b/portable/BCC/16BitDOS/PC/port.c index 6940b1a67..0c1c0644e 100644 --- a/portable/BCC/16BitDOS/PC/port.c +++ b/portable/BCC/16BitDOS/PC/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/BCC/16BitDOS/PC/prtmacro.h b/portable/BCC/16BitDOS/PC/prtmacro.h index 5fb4ed6a4..d24431806 100644 --- a/portable/BCC/16BitDOS/PC/prtmacro.h +++ b/portable/BCC/16BitDOS/PC/prtmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/BCC/16BitDOS/common/portasm.h b/portable/BCC/16BitDOS/common/portasm.h index e53d257c8..3e3acf0bd 100644 --- a/portable/BCC/16BitDOS/common/portasm.h +++ b/portable/BCC/16BitDOS/common/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/BCC/16BitDOS/common/portcomn.c b/portable/BCC/16BitDOS/common/portcomn.c index 69ab45ba7..0e1bca1ab 100644 --- a/portable/BCC/16BitDOS/common/portcomn.c +++ b/portable/BCC/16BitDOS/common/portcomn.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CCS/ARM_CM3/port.c b/portable/CCS/ARM_CM3/port.c index e8b0f0d74..5ed26c2d2 100644 --- a/portable/CCS/ARM_CM3/port.c +++ b/portable/CCS/ARM_CM3/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CCS/ARM_CM3/portasm.asm b/portable/CCS/ARM_CM3/portasm.asm index 2773c6ca2..483a66b49 100644 --- a/portable/CCS/ARM_CM3/portasm.asm +++ b/portable/CCS/ARM_CM3/portasm.asm @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/CCS/ARM_CM3/portmacro.h b/portable/CCS/ARM_CM3/portmacro.h index 29d9bc033..336a5ff1e 100644 --- a/portable/CCS/ARM_CM3/portmacro.h +++ b/portable/CCS/ARM_CM3/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CCS/ARM_CM4F/port.c b/portable/CCS/ARM_CM4F/port.c index c3a9b0f4b..1ac7a59e6 100644 --- a/portable/CCS/ARM_CM4F/port.c +++ b/portable/CCS/ARM_CM4F/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CCS/ARM_CM4F/portasm.asm b/portable/CCS/ARM_CM4F/portasm.asm index eb75533bd..81d0a71c2 100644 --- a/portable/CCS/ARM_CM4F/portasm.asm +++ b/portable/CCS/ARM_CM4F/portasm.asm @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/CCS/ARM_CM4F/portmacro.h b/portable/CCS/ARM_CM4F/portmacro.h index f4405ab1b..47dcc5aba 100644 --- a/portable/CCS/ARM_CM4F/portmacro.h +++ b/portable/CCS/ARM_CM4F/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CCS/ARM_Cortex-R4/port.c b/portable/CCS/ARM_Cortex-R4/port.c index 6c63a5a71..853248f40 100644 --- a/portable/CCS/ARM_Cortex-R4/port.c +++ b/portable/CCS/ARM_Cortex-R4/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CCS/ARM_Cortex-R4/portASM.asm b/portable/CCS/ARM_Cortex-R4/portASM.asm index 927df85d4..f20af2941 100644 --- a/portable/CCS/ARM_Cortex-R4/portASM.asm +++ b/portable/CCS/ARM_Cortex-R4/portASM.asm @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/CCS/ARM_Cortex-R4/portmacro.h b/portable/CCS/ARM_Cortex-R4/portmacro.h index 07c1827cb..644f13a3c 100644 --- a/portable/CCS/ARM_Cortex-R4/portmacro.h +++ b/portable/CCS/ARM_Cortex-R4/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CCS/MSP430X/data_model.h b/portable/CCS/MSP430X/data_model.h index 186caa65d..b199175c0 100644 --- a/portable/CCS/MSP430X/data_model.h +++ b/portable/CCS/MSP430X/data_model.h @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/CCS/MSP430X/port.c b/portable/CCS/MSP430X/port.c index c691b5d9f..186fb2cdd 100644 --- a/portable/CCS/MSP430X/port.c +++ b/portable/CCS/MSP430X/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CCS/MSP430X/portext.asm b/portable/CCS/MSP430X/portext.asm index 9fe306e94..dbbcec0aa 100644 --- a/portable/CCS/MSP430X/portext.asm +++ b/portable/CCS/MSP430X/portext.asm @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/CCS/MSP430X/portmacro.h b/portable/CCS/MSP430X/portmacro.h index 064b0503a..91e2b9c5b 100644 --- a/portable/CCS/MSP430X/portmacro.h +++ b/portable/CCS/MSP430X/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CodeWarrior/ColdFire_V1/port.c b/portable/CodeWarrior/ColdFire_V1/port.c index d9831384e..520c62ac5 100644 --- a/portable/CodeWarrior/ColdFire_V1/port.c +++ b/portable/CodeWarrior/ColdFire_V1/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CodeWarrior/ColdFire_V1/portasm.S b/portable/CodeWarrior/ColdFire_V1/portasm.S index 75f55f037..1f00348af 100644 --- a/portable/CodeWarrior/ColdFire_V1/portasm.S +++ b/portable/CodeWarrior/ColdFire_V1/portasm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CodeWarrior/ColdFire_V1/portmacro.h b/portable/CodeWarrior/ColdFire_V1/portmacro.h index a98093d72..2f224d30b 100644 --- a/portable/CodeWarrior/ColdFire_V1/portmacro.h +++ b/portable/CodeWarrior/ColdFire_V1/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CodeWarrior/ColdFire_V2/port.c b/portable/CodeWarrior/ColdFire_V2/port.c index 5bca650fe..64b2d078b 100644 --- a/portable/CodeWarrior/ColdFire_V2/port.c +++ b/portable/CodeWarrior/ColdFire_V2/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CodeWarrior/ColdFire_V2/portasm.S b/portable/CodeWarrior/ColdFire_V2/portasm.S index bdffce5e8..66f429259 100644 --- a/portable/CodeWarrior/ColdFire_V2/portasm.S +++ b/portable/CodeWarrior/ColdFire_V2/portasm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CodeWarrior/ColdFire_V2/portmacro.h b/portable/CodeWarrior/ColdFire_V2/portmacro.h index a59dff9dd..55b38ae3a 100644 --- a/portable/CodeWarrior/ColdFire_V2/portmacro.h +++ b/portable/CodeWarrior/ColdFire_V2/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CodeWarrior/HCS12/port.c b/portable/CodeWarrior/HCS12/port.c index e4876125a..2d564cd66 100644 --- a/portable/CodeWarrior/HCS12/port.c +++ b/portable/CodeWarrior/HCS12/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/CodeWarrior/HCS12/portmacro.h b/portable/CodeWarrior/HCS12/portmacro.h index d0d0a140e..8e6eb1057 100644 --- a/portable/CodeWarrior/HCS12/portmacro.h +++ b/portable/CodeWarrior/HCS12/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Common/mpu_wrappers.c b/portable/Common/mpu_wrappers.c index d25618c67..03ca77c68 100644 --- a/portable/Common/mpu_wrappers.c +++ b/portable/Common/mpu_wrappers.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Common/mpu_wrappers_v2.c b/portable/Common/mpu_wrappers_v2.c index af9e9f129..99256e3fa 100644 --- a/portable/Common/mpu_wrappers_v2.c +++ b/portable/Common/mpu_wrappers_v2.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM7_AT91FR40008/port.c b/portable/GCC/ARM7_AT91FR40008/port.c index 86cc6e0f3..30bbb9f48 100644 --- a/portable/GCC/ARM7_AT91FR40008/port.c +++ b/portable/GCC/ARM7_AT91FR40008/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM7_AT91FR40008/portISR.c b/portable/GCC/ARM7_AT91FR40008/portISR.c index 9df08b0c9..b4ddcc06d 100644 --- a/portable/GCC/ARM7_AT91FR40008/portISR.c +++ b/portable/GCC/ARM7_AT91FR40008/portISR.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM7_AT91FR40008/portmacro.h b/portable/GCC/ARM7_AT91FR40008/portmacro.h index f0975cc3e..4dbadab3f 100644 --- a/portable/GCC/ARM7_AT91FR40008/portmacro.h +++ b/portable/GCC/ARM7_AT91FR40008/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM7_AT91SAM7S/port.c b/portable/GCC/ARM7_AT91SAM7S/port.c index f1afce707..6750c45ee 100644 --- a/portable/GCC/ARM7_AT91SAM7S/port.c +++ b/portable/GCC/ARM7_AT91SAM7S/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM7_AT91SAM7S/portISR.c b/portable/GCC/ARM7_AT91SAM7S/portISR.c index 917c67ddb..9e5ff6c98 100644 --- a/portable/GCC/ARM7_AT91SAM7S/portISR.c +++ b/portable/GCC/ARM7_AT91SAM7S/portISR.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM7_AT91SAM7S/portmacro.h b/portable/GCC/ARM7_AT91SAM7S/portmacro.h index 5b78481e3..3f2242fa9 100644 --- a/portable/GCC/ARM7_AT91SAM7S/portmacro.h +++ b/portable/GCC/ARM7_AT91SAM7S/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM7_LPC2000/port.c b/portable/GCC/ARM7_LPC2000/port.c index 53df1a534..2c8268af5 100644 --- a/portable/GCC/ARM7_LPC2000/port.c +++ b/portable/GCC/ARM7_LPC2000/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM7_LPC2000/portISR.c b/portable/GCC/ARM7_LPC2000/portISR.c index 704907f9d..4255df713 100644 --- a/portable/GCC/ARM7_LPC2000/portISR.c +++ b/portable/GCC/ARM7_LPC2000/portISR.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM7_LPC2000/portmacro.h b/portable/GCC/ARM7_LPC2000/portmacro.h index b96c6fa8b..8e82cc08e 100644 --- a/portable/GCC/ARM7_LPC2000/portmacro.h +++ b/portable/GCC/ARM7_LPC2000/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM7_LPC23xx/port.c b/portable/GCC/ARM7_LPC23xx/port.c index 4ec34eb3f..8ac1df709 100644 --- a/portable/GCC/ARM7_LPC23xx/port.c +++ b/portable/GCC/ARM7_LPC23xx/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM7_LPC23xx/portISR.c b/portable/GCC/ARM7_LPC23xx/portISR.c index 4fc549aca..1cf7c7dae 100644 --- a/portable/GCC/ARM7_LPC23xx/portISR.c +++ b/portable/GCC/ARM7_LPC23xx/portISR.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM7_LPC23xx/portmacro.h b/portable/GCC/ARM7_LPC23xx/portmacro.h index 5b78481e3..3f2242fa9 100644 --- a/portable/GCC/ARM7_LPC23xx/portmacro.h +++ b/portable/GCC/ARM7_LPC23xx/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_AARCH64/port.c b/portable/GCC/ARM_AARCH64/port.c index 8c2af2dc7..5b52dadda 100644 --- a/portable/GCC/ARM_AARCH64/port.c +++ b/portable/GCC/ARM_AARCH64/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_AARCH64/portASM.S b/portable/GCC/ARM_AARCH64/portASM.S index c98cadb11..e684755bf 100644 --- a/portable/GCC/ARM_AARCH64/portASM.S +++ b/portable/GCC/ARM_AARCH64/portASM.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_AARCH64/portmacro.h b/portable/GCC/ARM_AARCH64/portmacro.h index 2c9da1c60..04d34fc4f 100644 --- a/portable/GCC/ARM_AARCH64/portmacro.h +++ b/portable/GCC/ARM_AARCH64/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_AARCH64_SRE/port.c b/portable/GCC/ARM_AARCH64_SRE/port.c index 8731054bc..1c96c0efd 100644 --- a/portable/GCC/ARM_AARCH64_SRE/port.c +++ b/portable/GCC/ARM_AARCH64_SRE/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_AARCH64_SRE/portASM.S b/portable/GCC/ARM_AARCH64_SRE/portASM.S index d779890bc..ed3c031d0 100644 --- a/portable/GCC/ARM_AARCH64_SRE/portASM.S +++ b/portable/GCC/ARM_AARCH64_SRE/portASM.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_AARCH64_SRE/portmacro.h b/portable/GCC/ARM_AARCH64_SRE/portmacro.h index cbe0b54dd..efbcdfae6 100644 --- a/portable/GCC/ARM_AARCH64_SRE/portmacro.h +++ b/portable/GCC/ARM_AARCH64_SRE/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CA9/port.c b/portable/GCC/ARM_CA9/port.c index 4e4189d36..79b60a933 100644 --- a/portable/GCC/ARM_CA9/port.c +++ b/portable/GCC/ARM_CA9/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CA9/portASM.S b/portable/GCC/ARM_CA9/portASM.S index 55baabbd3..6efeaba77 100644 --- a/portable/GCC/ARM_CA9/portASM.S +++ b/portable/GCC/ARM_CA9/portASM.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CA9/portmacro.h b/portable/GCC/ARM_CA9/portmacro.h index bd9b36dd9..0e213cf5d 100644 --- a/portable/GCC/ARM_CA9/portmacro.h +++ b/portable/GCC/ARM_CA9/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM0/port.c b/portable/GCC/ARM_CM0/port.c index 53bc33a41..41b14fa3b 100644 --- a/portable/GCC/ARM_CM0/port.c +++ b/portable/GCC/ARM_CM0/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM0/portmacro.h b/portable/GCC/ARM_CM0/portmacro.h index 3c55b5d0c..6331020bd 100644 --- a/portable/GCC/ARM_CM0/portmacro.h +++ b/portable/GCC/ARM_CM0/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c index e67f3cbae..9c829b540 100644 --- a/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/non_secure/port.c b/portable/GCC/ARM_CM23/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/GCC/ARM_CM23/non_secure/port.c +++ b/portable/GCC/ARM_CM23/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/non_secure/portasm.c b/portable/GCC/ARM_CM23/non_secure/portasm.c index f8b37b691..8df9bfa7c 100644 --- a/portable/GCC/ARM_CM23/non_secure/portasm.c +++ b/portable/GCC/ARM_CM23/non_secure/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/non_secure/portasm.h b/portable/GCC/ARM_CM23/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/GCC/ARM_CM23/non_secure/portasm.h +++ b/portable/GCC/ARM_CM23/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/non_secure/portmacro.h b/portable/GCC/ARM_CM23/non_secure/portmacro.h index d17f3eb28..b08fa71b0 100644 --- a/portable/GCC/ARM_CM23/non_secure/portmacro.h +++ b/portable/GCC/ARM_CM23/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/non_secure/portmacrocommon.h b/portable/GCC/ARM_CM23/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/GCC/ARM_CM23/non_secure/portmacrocommon.h +++ b/portable/GCC/ARM_CM23/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/secure/secure_context.c b/portable/GCC/ARM_CM23/secure/secure_context.c index 7d2171996..72fb3862c 100644 --- a/portable/GCC/ARM_CM23/secure/secure_context.c +++ b/portable/GCC/ARM_CM23/secure/secure_context.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/secure/secure_context.h b/portable/GCC/ARM_CM23/secure/secure_context.h index 0bf776198..e36a8e430 100644 --- a/portable/GCC/ARM_CM23/secure/secure_context.h +++ b/portable/GCC/ARM_CM23/secure/secure_context.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/secure/secure_context_port.c b/portable/GCC/ARM_CM23/secure/secure_context_port.c index 2d9eeeaf8..32559ad04 100644 --- a/portable/GCC/ARM_CM23/secure/secure_context_port.c +++ b/portable/GCC/ARM_CM23/secure/secure_context_port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/secure/secure_heap.c b/portable/GCC/ARM_CM23/secure/secure_heap.c index 1ec3bdbdb..4fa6a2ffa 100644 --- a/portable/GCC/ARM_CM23/secure/secure_heap.c +++ b/portable/GCC/ARM_CM23/secure/secure_heap.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/secure/secure_heap.h b/portable/GCC/ARM_CM23/secure/secure_heap.h index c13590f86..0e84a9d9d 100644 --- a/portable/GCC/ARM_CM23/secure/secure_heap.h +++ b/portable/GCC/ARM_CM23/secure/secure_heap.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/secure/secure_init.c b/portable/GCC/ARM_CM23/secure/secure_init.c index b89c5f644..c50d37668 100644 --- a/portable/GCC/ARM_CM23/secure/secure_init.c +++ b/portable/GCC/ARM_CM23/secure/secure_init.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/secure/secure_init.h b/portable/GCC/ARM_CM23/secure/secure_init.h index 21daeda6b..ebe04900f 100644 --- a/portable/GCC/ARM_CM23/secure/secure_init.h +++ b/portable/GCC/ARM_CM23/secure/secure_init.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23/secure/secure_port_macros.h b/portable/GCC/ARM_CM23/secure/secure_port_macros.h index 304913b8d..a70da2c65 100644 --- a/portable/GCC/ARM_CM23/secure/secure_port_macros.h +++ b/portable/GCC/ARM_CM23/secure/secure_port_macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c index e67f3cbae..9c829b540 100644 --- a/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23_NTZ/non_secure/port.c b/portable/GCC/ARM_CM23_NTZ/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/GCC/ARM_CM23_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM23_NTZ/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c b/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c index 5fde8342e..82bff509e 100644 --- a/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c +++ b/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.h b/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.h +++ b/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23_NTZ/non_secure/portmacro.h b/portable/GCC/ARM_CM23_NTZ/non_secure/portmacro.h index d17f3eb28..b08fa71b0 100644 --- a/portable/GCC/ARM_CM23_NTZ/non_secure/portmacro.h +++ b/portable/GCC/ARM_CM23_NTZ/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM23_NTZ/non_secure/portmacrocommon.h b/portable/GCC/ARM_CM23_NTZ/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/GCC/ARM_CM23_NTZ/non_secure/portmacrocommon.h +++ b/portable/GCC/ARM_CM23_NTZ/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM3/port.c b/portable/GCC/ARM_CM3/port.c index 8ce6fa6c4..1a9c9b072 100644 --- a/portable/GCC/ARM_CM3/port.c +++ b/portable/GCC/ARM_CM3/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM3/portmacro.h b/portable/GCC/ARM_CM3/portmacro.h index 5d91d2139..757e44fd9 100644 --- a/portable/GCC/ARM_CM3/portmacro.h +++ b/portable/GCC/ARM_CM3/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c index 4cb310afd..170d10fcc 100644 --- a/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/non_secure/port.c b/portable/GCC/ARM_CM33/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/GCC/ARM_CM33/non_secure/port.c +++ b/portable/GCC/ARM_CM33/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/non_secure/portasm.c b/portable/GCC/ARM_CM33/non_secure/portasm.c index 16c598ad7..1ee04b76d 100644 --- a/portable/GCC/ARM_CM33/non_secure/portasm.c +++ b/portable/GCC/ARM_CM33/non_secure/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/non_secure/portasm.h b/portable/GCC/ARM_CM33/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/GCC/ARM_CM33/non_secure/portasm.h +++ b/portable/GCC/ARM_CM33/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/non_secure/portmacro.h b/portable/GCC/ARM_CM33/non_secure/portmacro.h index 90448b6cc..8d3555bb4 100644 --- a/portable/GCC/ARM_CM33/non_secure/portmacro.h +++ b/portable/GCC/ARM_CM33/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/non_secure/portmacrocommon.h b/portable/GCC/ARM_CM33/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/GCC/ARM_CM33/non_secure/portmacrocommon.h +++ b/portable/GCC/ARM_CM33/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/secure/secure_context.c b/portable/GCC/ARM_CM33/secure/secure_context.c index 7d2171996..72fb3862c 100644 --- a/portable/GCC/ARM_CM33/secure/secure_context.c +++ b/portable/GCC/ARM_CM33/secure/secure_context.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/secure/secure_context.h b/portable/GCC/ARM_CM33/secure/secure_context.h index 0bf776198..e36a8e430 100644 --- a/portable/GCC/ARM_CM33/secure/secure_context.h +++ b/portable/GCC/ARM_CM33/secure/secure_context.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/secure/secure_context_port.c b/portable/GCC/ARM_CM33/secure/secure_context_port.c index 13520870b..2d3d9439d 100644 --- a/portable/GCC/ARM_CM33/secure/secure_context_port.c +++ b/portable/GCC/ARM_CM33/secure/secure_context_port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/secure/secure_heap.c b/portable/GCC/ARM_CM33/secure/secure_heap.c index 1ec3bdbdb..4fa6a2ffa 100644 --- a/portable/GCC/ARM_CM33/secure/secure_heap.c +++ b/portable/GCC/ARM_CM33/secure/secure_heap.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/secure/secure_heap.h b/portable/GCC/ARM_CM33/secure/secure_heap.h index c13590f86..0e84a9d9d 100644 --- a/portable/GCC/ARM_CM33/secure/secure_heap.h +++ b/portable/GCC/ARM_CM33/secure/secure_heap.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/secure/secure_init.c b/portable/GCC/ARM_CM33/secure/secure_init.c index b89c5f644..c50d37668 100644 --- a/portable/GCC/ARM_CM33/secure/secure_init.c +++ b/portable/GCC/ARM_CM33/secure/secure_init.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/secure/secure_init.h b/portable/GCC/ARM_CM33/secure/secure_init.h index 21daeda6b..ebe04900f 100644 --- a/portable/GCC/ARM_CM33/secure/secure_init.h +++ b/portable/GCC/ARM_CM33/secure/secure_init.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33/secure/secure_port_macros.h b/portable/GCC/ARM_CM33/secure/secure_port_macros.h index 304913b8d..a70da2c65 100644 --- a/portable/GCC/ARM_CM33/secure/secure_port_macros.h +++ b/portable/GCC/ARM_CM33/secure/secure_port_macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c index 4cb310afd..170d10fcc 100644 --- a/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33_NTZ/non_secure/port.c b/portable/GCC/ARM_CM33_NTZ/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/GCC/ARM_CM33_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM33_NTZ/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c b/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c index 76ba642a0..56866d6b6 100644 --- a/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c +++ b/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.h b/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.h +++ b/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33_NTZ/non_secure/portmacro.h b/portable/GCC/ARM_CM33_NTZ/non_secure/portmacro.h index 90448b6cc..8d3555bb4 100644 --- a/portable/GCC/ARM_CM33_NTZ/non_secure/portmacro.h +++ b/portable/GCC/ARM_CM33_NTZ/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM33_NTZ/non_secure/portmacrocommon.h b/portable/GCC/ARM_CM33_NTZ/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/GCC/ARM_CM33_NTZ/non_secure/portmacrocommon.h +++ b/portable/GCC/ARM_CM33_NTZ/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c index 4cb310afd..170d10fcc 100644 --- a/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/non_secure/port.c b/portable/GCC/ARM_CM35P/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/GCC/ARM_CM35P/non_secure/port.c +++ b/portable/GCC/ARM_CM35P/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/non_secure/portasm.c b/portable/GCC/ARM_CM35P/non_secure/portasm.c index 16c598ad7..1ee04b76d 100644 --- a/portable/GCC/ARM_CM35P/non_secure/portasm.c +++ b/portable/GCC/ARM_CM35P/non_secure/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/non_secure/portasm.h b/portable/GCC/ARM_CM35P/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/GCC/ARM_CM35P/non_secure/portasm.h +++ b/portable/GCC/ARM_CM35P/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/non_secure/portmacro.h b/portable/GCC/ARM_CM35P/non_secure/portmacro.h index 11fc04273..0eb0a6592 100644 --- a/portable/GCC/ARM_CM35P/non_secure/portmacro.h +++ b/portable/GCC/ARM_CM35P/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/non_secure/portmacrocommon.h b/portable/GCC/ARM_CM35P/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/GCC/ARM_CM35P/non_secure/portmacrocommon.h +++ b/portable/GCC/ARM_CM35P/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/secure/secure_context.c b/portable/GCC/ARM_CM35P/secure/secure_context.c index 7d2171996..72fb3862c 100644 --- a/portable/GCC/ARM_CM35P/secure/secure_context.c +++ b/portable/GCC/ARM_CM35P/secure/secure_context.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/secure/secure_context.h b/portable/GCC/ARM_CM35P/secure/secure_context.h index 0bf776198..e36a8e430 100644 --- a/portable/GCC/ARM_CM35P/secure/secure_context.h +++ b/portable/GCC/ARM_CM35P/secure/secure_context.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/secure/secure_context_port.c b/portable/GCC/ARM_CM35P/secure/secure_context_port.c index 13520870b..2d3d9439d 100644 --- a/portable/GCC/ARM_CM35P/secure/secure_context_port.c +++ b/portable/GCC/ARM_CM35P/secure/secure_context_port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/secure/secure_heap.c b/portable/GCC/ARM_CM35P/secure/secure_heap.c index 1ec3bdbdb..4fa6a2ffa 100644 --- a/portable/GCC/ARM_CM35P/secure/secure_heap.c +++ b/portable/GCC/ARM_CM35P/secure/secure_heap.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/secure/secure_heap.h b/portable/GCC/ARM_CM35P/secure/secure_heap.h index c13590f86..0e84a9d9d 100644 --- a/portable/GCC/ARM_CM35P/secure/secure_heap.h +++ b/portable/GCC/ARM_CM35P/secure/secure_heap.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/secure/secure_init.c b/portable/GCC/ARM_CM35P/secure/secure_init.c index b89c5f644..c50d37668 100644 --- a/portable/GCC/ARM_CM35P/secure/secure_init.c +++ b/portable/GCC/ARM_CM35P/secure/secure_init.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/secure/secure_init.h b/portable/GCC/ARM_CM35P/secure/secure_init.h index 21daeda6b..ebe04900f 100644 --- a/portable/GCC/ARM_CM35P/secure/secure_init.h +++ b/portable/GCC/ARM_CM35P/secure/secure_init.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P/secure/secure_port_macros.h b/portable/GCC/ARM_CM35P/secure/secure_port_macros.h index 304913b8d..a70da2c65 100644 --- a/portable/GCC/ARM_CM35P/secure/secure_port_macros.h +++ b/portable/GCC/ARM_CM35P/secure/secure_port_macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c index 4cb310afd..170d10fcc 100644 --- a/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c b/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.c b/portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.c index 76ba642a0..56866d6b6 100644 --- a/portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.c +++ b/portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.h b/portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.h +++ b/portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P_NTZ/non_secure/portmacro.h b/portable/GCC/ARM_CM35P_NTZ/non_secure/portmacro.h index 11fc04273..0eb0a6592 100644 --- a/portable/GCC/ARM_CM35P_NTZ/non_secure/portmacro.h +++ b/portable/GCC/ARM_CM35P_NTZ/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM35P_NTZ/non_secure/portmacrocommon.h b/portable/GCC/ARM_CM35P_NTZ/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/GCC/ARM_CM35P_NTZ/non_secure/portmacrocommon.h +++ b/portable/GCC/ARM_CM35P_NTZ/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c index 6b76b376c..c95f72e8e 100644 --- a/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM3_MPU/port.c b/portable/GCC/ARM_CM3_MPU/port.c index a8a92402e..fd7640017 100644 --- a/portable/GCC/ARM_CM3_MPU/port.c +++ b/portable/GCC/ARM_CM3_MPU/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM3_MPU/portmacro.h b/portable/GCC/ARM_CM3_MPU/portmacro.h index 5983c7912..7dd66e3ca 100644 --- a/portable/GCC/ARM_CM3_MPU/portmacro.h +++ b/portable/GCC/ARM_CM3_MPU/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM4F/port.c b/portable/GCC/ARM_CM4F/port.c index 3e5151bdc..ecd07f01c 100644 --- a/portable/GCC/ARM_CM4F/port.c +++ b/portable/GCC/ARM_CM4F/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM4F/portmacro.h b/portable/GCC/ARM_CM4F/portmacro.h index 40b2d03e9..6c97a1280 100644 --- a/portable/GCC/ARM_CM4F/portmacro.h +++ b/portable/GCC/ARM_CM4F/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c index 6b76b376c..c95f72e8e 100644 --- a/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM4_MPU/port.c b/portable/GCC/ARM_CM4_MPU/port.c index f84ebd523..04ed7aa0e 100644 --- a/portable/GCC/ARM_CM4_MPU/port.c +++ b/portable/GCC/ARM_CM4_MPU/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM4_MPU/portmacro.h b/portable/GCC/ARM_CM4_MPU/portmacro.h index 4b941e6fa..d9677a72b 100644 --- a/portable/GCC/ARM_CM4_MPU/portmacro.h +++ b/portable/GCC/ARM_CM4_MPU/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c index 4cb310afd..170d10fcc 100644 --- a/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/non_secure/port.c b/portable/GCC/ARM_CM55/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/GCC/ARM_CM55/non_secure/port.c +++ b/portable/GCC/ARM_CM55/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/non_secure/portasm.c b/portable/GCC/ARM_CM55/non_secure/portasm.c index 16c598ad7..1ee04b76d 100644 --- a/portable/GCC/ARM_CM55/non_secure/portasm.c +++ b/portable/GCC/ARM_CM55/non_secure/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/non_secure/portasm.h b/portable/GCC/ARM_CM55/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/GCC/ARM_CM55/non_secure/portasm.h +++ b/portable/GCC/ARM_CM55/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/non_secure/portmacro.h b/portable/GCC/ARM_CM55/non_secure/portmacro.h index 7b011b5b5..2797dbd53 100644 --- a/portable/GCC/ARM_CM55/non_secure/portmacro.h +++ b/portable/GCC/ARM_CM55/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/non_secure/portmacrocommon.h b/portable/GCC/ARM_CM55/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/GCC/ARM_CM55/non_secure/portmacrocommon.h +++ b/portable/GCC/ARM_CM55/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/secure/secure_context.c b/portable/GCC/ARM_CM55/secure/secure_context.c index 7d2171996..72fb3862c 100644 --- a/portable/GCC/ARM_CM55/secure/secure_context.c +++ b/portable/GCC/ARM_CM55/secure/secure_context.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/secure/secure_context.h b/portable/GCC/ARM_CM55/secure/secure_context.h index 0bf776198..e36a8e430 100644 --- a/portable/GCC/ARM_CM55/secure/secure_context.h +++ b/portable/GCC/ARM_CM55/secure/secure_context.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/secure/secure_context_port.c b/portable/GCC/ARM_CM55/secure/secure_context_port.c index 13520870b..2d3d9439d 100644 --- a/portable/GCC/ARM_CM55/secure/secure_context_port.c +++ b/portable/GCC/ARM_CM55/secure/secure_context_port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/secure/secure_heap.c b/portable/GCC/ARM_CM55/secure/secure_heap.c index 1ec3bdbdb..4fa6a2ffa 100644 --- a/portable/GCC/ARM_CM55/secure/secure_heap.c +++ b/portable/GCC/ARM_CM55/secure/secure_heap.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/secure/secure_heap.h b/portable/GCC/ARM_CM55/secure/secure_heap.h index c13590f86..0e84a9d9d 100644 --- a/portable/GCC/ARM_CM55/secure/secure_heap.h +++ b/portable/GCC/ARM_CM55/secure/secure_heap.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/secure/secure_init.c b/portable/GCC/ARM_CM55/secure/secure_init.c index b89c5f644..c50d37668 100644 --- a/portable/GCC/ARM_CM55/secure/secure_init.c +++ b/portable/GCC/ARM_CM55/secure/secure_init.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/secure/secure_init.h b/portable/GCC/ARM_CM55/secure/secure_init.h index 21daeda6b..ebe04900f 100644 --- a/portable/GCC/ARM_CM55/secure/secure_init.h +++ b/portable/GCC/ARM_CM55/secure/secure_init.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55/secure/secure_port_macros.h b/portable/GCC/ARM_CM55/secure/secure_port_macros.h index 304913b8d..a70da2c65 100644 --- a/portable/GCC/ARM_CM55/secure/secure_port_macros.h +++ b/portable/GCC/ARM_CM55/secure/secure_port_macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c index 4cb310afd..170d10fcc 100644 --- a/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55_NTZ/non_secure/port.c b/portable/GCC/ARM_CM55_NTZ/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/GCC/ARM_CM55_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM55_NTZ/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55_NTZ/non_secure/portasm.c b/portable/GCC/ARM_CM55_NTZ/non_secure/portasm.c index 76ba642a0..56866d6b6 100644 --- a/portable/GCC/ARM_CM55_NTZ/non_secure/portasm.c +++ b/portable/GCC/ARM_CM55_NTZ/non_secure/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55_NTZ/non_secure/portasm.h b/portable/GCC/ARM_CM55_NTZ/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/GCC/ARM_CM55_NTZ/non_secure/portasm.h +++ b/portable/GCC/ARM_CM55_NTZ/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55_NTZ/non_secure/portmacro.h b/portable/GCC/ARM_CM55_NTZ/non_secure/portmacro.h index 7b011b5b5..2797dbd53 100644 --- a/portable/GCC/ARM_CM55_NTZ/non_secure/portmacro.h +++ b/portable/GCC/ARM_CM55_NTZ/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM55_NTZ/non_secure/portmacrocommon.h b/portable/GCC/ARM_CM55_NTZ/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/GCC/ARM_CM55_NTZ/non_secure/portmacrocommon.h +++ b/portable/GCC/ARM_CM55_NTZ/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM7/r0p1/port.c b/portable/GCC/ARM_CM7/r0p1/port.c index 3070445ab..220be503f 100644 --- a/portable/GCC/ARM_CM7/r0p1/port.c +++ b/portable/GCC/ARM_CM7/r0p1/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM7/r0p1/portmacro.h b/portable/GCC/ARM_CM7/r0p1/portmacro.h index aa2199c25..2d2edacdf 100644 --- a/portable/GCC/ARM_CM7/r0p1/portmacro.h +++ b/portable/GCC/ARM_CM7/r0p1/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c index 4cb310afd..170d10fcc 100644 --- a/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/non_secure/port.c b/portable/GCC/ARM_CM85/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/GCC/ARM_CM85/non_secure/port.c +++ b/portable/GCC/ARM_CM85/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/non_secure/portasm.c b/portable/GCC/ARM_CM85/non_secure/portasm.c index 16c598ad7..1ee04b76d 100644 --- a/portable/GCC/ARM_CM85/non_secure/portasm.c +++ b/portable/GCC/ARM_CM85/non_secure/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/non_secure/portasm.h b/portable/GCC/ARM_CM85/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/GCC/ARM_CM85/non_secure/portasm.h +++ b/portable/GCC/ARM_CM85/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/non_secure/portmacro.h b/portable/GCC/ARM_CM85/non_secure/portmacro.h index a6fda8a88..2d5cac90e 100644 --- a/portable/GCC/ARM_CM85/non_secure/portmacro.h +++ b/portable/GCC/ARM_CM85/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/non_secure/portmacrocommon.h b/portable/GCC/ARM_CM85/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/GCC/ARM_CM85/non_secure/portmacrocommon.h +++ b/portable/GCC/ARM_CM85/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/secure/secure_context.c b/portable/GCC/ARM_CM85/secure/secure_context.c index 7d2171996..72fb3862c 100644 --- a/portable/GCC/ARM_CM85/secure/secure_context.c +++ b/portable/GCC/ARM_CM85/secure/secure_context.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/secure/secure_context.h b/portable/GCC/ARM_CM85/secure/secure_context.h index 0bf776198..e36a8e430 100644 --- a/portable/GCC/ARM_CM85/secure/secure_context.h +++ b/portable/GCC/ARM_CM85/secure/secure_context.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/secure/secure_context_port.c b/portable/GCC/ARM_CM85/secure/secure_context_port.c index 13520870b..2d3d9439d 100644 --- a/portable/GCC/ARM_CM85/secure/secure_context_port.c +++ b/portable/GCC/ARM_CM85/secure/secure_context_port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/secure/secure_heap.c b/portable/GCC/ARM_CM85/secure/secure_heap.c index 1ec3bdbdb..4fa6a2ffa 100644 --- a/portable/GCC/ARM_CM85/secure/secure_heap.c +++ b/portable/GCC/ARM_CM85/secure/secure_heap.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/secure/secure_heap.h b/portable/GCC/ARM_CM85/secure/secure_heap.h index c13590f86..0e84a9d9d 100644 --- a/portable/GCC/ARM_CM85/secure/secure_heap.h +++ b/portable/GCC/ARM_CM85/secure/secure_heap.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/secure/secure_init.c b/portable/GCC/ARM_CM85/secure/secure_init.c index b89c5f644..c50d37668 100644 --- a/portable/GCC/ARM_CM85/secure/secure_init.c +++ b/portable/GCC/ARM_CM85/secure/secure_init.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/secure/secure_init.h b/portable/GCC/ARM_CM85/secure/secure_init.h index 21daeda6b..ebe04900f 100644 --- a/portable/GCC/ARM_CM85/secure/secure_init.h +++ b/portable/GCC/ARM_CM85/secure/secure_init.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85/secure/secure_port_macros.h b/portable/GCC/ARM_CM85/secure/secure_port_macros.h index 304913b8d..a70da2c65 100644 --- a/portable/GCC/ARM_CM85/secure/secure_port_macros.h +++ b/portable/GCC/ARM_CM85/secure/secure_port_macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c index 4cb310afd..170d10fcc 100644 --- a/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85_NTZ/non_secure/port.c b/portable/GCC/ARM_CM85_NTZ/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/GCC/ARM_CM85_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM85_NTZ/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85_NTZ/non_secure/portasm.c b/portable/GCC/ARM_CM85_NTZ/non_secure/portasm.c index 76ba642a0..56866d6b6 100644 --- a/portable/GCC/ARM_CM85_NTZ/non_secure/portasm.c +++ b/portable/GCC/ARM_CM85_NTZ/non_secure/portasm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85_NTZ/non_secure/portasm.h b/portable/GCC/ARM_CM85_NTZ/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/GCC/ARM_CM85_NTZ/non_secure/portasm.h +++ b/portable/GCC/ARM_CM85_NTZ/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85_NTZ/non_secure/portmacro.h b/portable/GCC/ARM_CM85_NTZ/non_secure/portmacro.h index a6fda8a88..2d5cac90e 100644 --- a/portable/GCC/ARM_CM85_NTZ/non_secure/portmacro.h +++ b/portable/GCC/ARM_CM85_NTZ/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CM85_NTZ/non_secure/portmacrocommon.h b/portable/GCC/ARM_CM85_NTZ/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/GCC/ARM_CM85_NTZ/non_secure/portmacrocommon.h +++ b/portable/GCC/ARM_CM85_NTZ/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CR5/port.c b/portable/GCC/ARM_CR5/port.c index 323ea916d..72658e8d7 100644 --- a/portable/GCC/ARM_CR5/port.c +++ b/portable/GCC/ARM_CR5/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CR5/portASM.S b/portable/GCC/ARM_CR5/portASM.S index c331057d6..e14cddd07 100644 --- a/portable/GCC/ARM_CR5/portASM.S +++ b/portable/GCC/ARM_CR5/portASM.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CR5/portmacro.h b/portable/GCC/ARM_CR5/portmacro.h index ff7337d15..568208a99 100644 --- a/portable/GCC/ARM_CR5/portmacro.h +++ b/portable/GCC/ARM_CR5/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CRx_No_GIC/port.c b/portable/GCC/ARM_CRx_No_GIC/port.c index ff2abf4ff..7294fb760 100644 --- a/portable/GCC/ARM_CRx_No_GIC/port.c +++ b/portable/GCC/ARM_CRx_No_GIC/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CRx_No_GIC/portASM.S b/portable/GCC/ARM_CRx_No_GIC/portASM.S index bfb15733a..960d46f7e 100644 --- a/portable/GCC/ARM_CRx_No_GIC/portASM.S +++ b/portable/GCC/ARM_CRx_No_GIC/portASM.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ARM_CRx_No_GIC/portmacro.h b/portable/GCC/ARM_CRx_No_GIC/portmacro.h index d88a0fd05..5a9ae265e 100644 --- a/portable/GCC/ARM_CRx_No_GIC/portmacro.h +++ b/portable/GCC/ARM_CRx_No_GIC/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ATMega323/port.c b/portable/GCC/ATMega323/port.c index 6d71a6da3..ff80a8b81 100644 --- a/portable/GCC/ATMega323/port.c +++ b/portable/GCC/ATMega323/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ATMega323/portmacro.h b/portable/GCC/ATMega323/portmacro.h index 275468b4c..6ed5e4295 100644 --- a/portable/GCC/ATMega323/portmacro.h +++ b/portable/GCC/ATMega323/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/AVR32_UC3/exception.S b/portable/GCC/AVR32_UC3/exception.S index 9d46489ae..4e1b29703 100644 --- a/portable/GCC/AVR32_UC3/exception.S +++ b/portable/GCC/AVR32_UC3/exception.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT AND BSD-3-Clause * diff --git a/portable/GCC/AVR32_UC3/port.c b/portable/GCC/AVR32_UC3/port.c index 6e7257304..bd8b0bd2b 100644 --- a/portable/GCC/AVR32_UC3/port.c +++ b/portable/GCC/AVR32_UC3/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT AND BSD-3-Clause * diff --git a/portable/GCC/AVR32_UC3/portmacro.h b/portable/GCC/AVR32_UC3/portmacro.h index 521c46397..d96a629b5 100644 --- a/portable/GCC/AVR32_UC3/portmacro.h +++ b/portable/GCC/AVR32_UC3/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT AND BSD-3-Clause * diff --git a/portable/GCC/CORTUS_APS3/port.c b/portable/GCC/CORTUS_APS3/port.c index 30c3ca654..8ea06df16 100644 --- a/portable/GCC/CORTUS_APS3/port.c +++ b/portable/GCC/CORTUS_APS3/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/CORTUS_APS3/portmacro.h b/portable/GCC/CORTUS_APS3/portmacro.h index 91a18bc74..a18af0f6f 100644 --- a/portable/GCC/CORTUS_APS3/portmacro.h +++ b/portable/GCC/CORTUS_APS3/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ColdFire_V2/port.c b/portable/GCC/ColdFire_V2/port.c index f35126df8..e3bbb6b9e 100644 --- a/portable/GCC/ColdFire_V2/port.c +++ b/portable/GCC/ColdFire_V2/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ColdFire_V2/portasm.S b/portable/GCC/ColdFire_V2/portasm.S index a3c6aca05..4b746ca22 100644 --- a/portable/GCC/ColdFire_V2/portasm.S +++ b/portable/GCC/ColdFire_V2/portasm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/ColdFire_V2/portmacro.h b/portable/GCC/ColdFire_V2/portmacro.h index 1a1b618d0..95381ab36 100644 --- a/portable/GCC/ColdFire_V2/portmacro.h +++ b/portable/GCC/ColdFire_V2/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/H8S2329/port.c b/portable/GCC/H8S2329/port.c index 7aec16f6c..f8693b37b 100644 --- a/portable/GCC/H8S2329/port.c +++ b/portable/GCC/H8S2329/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/H8S2329/portmacro.h b/portable/GCC/H8S2329/portmacro.h index 4b4e1cdac..a954d4335 100644 --- a/portable/GCC/H8S2329/portmacro.h +++ b/portable/GCC/H8S2329/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/HCS12/port.c b/portable/GCC/HCS12/port.c index e53a74a38..4355a3f11 100644 --- a/portable/GCC/HCS12/port.c +++ b/portable/GCC/HCS12/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/HCS12/portmacro.h b/portable/GCC/HCS12/portmacro.h index 37034a036..4d02ad54e 100644 --- a/portable/GCC/HCS12/portmacro.h +++ b/portable/GCC/HCS12/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/IA32_flat/ISR_Support.h b/portable/GCC/IA32_flat/ISR_Support.h index cecd6a152..545a8d236 100644 --- a/portable/GCC/IA32_flat/ISR_Support.h +++ b/portable/GCC/IA32_flat/ISR_Support.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/IA32_flat/port.c b/portable/GCC/IA32_flat/port.c index da1559416..207f6076b 100644 --- a/portable/GCC/IA32_flat/port.c +++ b/portable/GCC/IA32_flat/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/IA32_flat/portASM.S b/portable/GCC/IA32_flat/portASM.S index 4dac1af0b..c01b32bce 100644 --- a/portable/GCC/IA32_flat/portASM.S +++ b/portable/GCC/IA32_flat/portASM.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/IA32_flat/portmacro.h b/portable/GCC/IA32_flat/portmacro.h index fd07ee71d..085250e04 100644 --- a/portable/GCC/IA32_flat/portmacro.h +++ b/portable/GCC/IA32_flat/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/MSP430F449/port.c b/portable/GCC/MSP430F449/port.c index 488ad2d6f..48a1a7921 100644 --- a/portable/GCC/MSP430F449/port.c +++ b/portable/GCC/MSP430F449/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/MSP430F449/portmacro.h b/portable/GCC/MSP430F449/portmacro.h index f9470f096..de2014683 100644 --- a/portable/GCC/MSP430F449/portmacro.h +++ b/portable/GCC/MSP430F449/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/MicroBlaze/port.c b/portable/GCC/MicroBlaze/port.c index 2051e3e44..fb8b410be 100644 --- a/portable/GCC/MicroBlaze/port.c +++ b/portable/GCC/MicroBlaze/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/MicroBlaze/portasm.s b/portable/GCC/MicroBlaze/portasm.s index 344914893..b9c1dc8b3 100644 --- a/portable/GCC/MicroBlaze/portasm.s +++ b/portable/GCC/MicroBlaze/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/MicroBlaze/portmacro.h b/portable/GCC/MicroBlaze/portmacro.h index 8ddeb0ed0..a81e07cde 100644 --- a/portable/GCC/MicroBlaze/portmacro.h +++ b/portable/GCC/MicroBlaze/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/MicroBlazeV8/port.c b/portable/GCC/MicroBlazeV8/port.c index 5dced2b93..1557af645 100644 --- a/portable/GCC/MicroBlazeV8/port.c +++ b/portable/GCC/MicroBlazeV8/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/MicroBlazeV8/port_exceptions.c b/portable/GCC/MicroBlazeV8/port_exceptions.c index e2347732d..281a328b4 100644 --- a/portable/GCC/MicroBlazeV8/port_exceptions.c +++ b/portable/GCC/MicroBlazeV8/port_exceptions.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/MicroBlazeV8/portasm.S b/portable/GCC/MicroBlazeV8/portasm.S index d0e20515d..36829767d 100644 --- a/portable/GCC/MicroBlazeV8/portasm.S +++ b/portable/GCC/MicroBlazeV8/portasm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/MicroBlazeV8/portmacro.h b/portable/GCC/MicroBlazeV8/portmacro.h index 7606850bc..d23214ea4 100644 --- a/portable/GCC/MicroBlazeV8/portmacro.h +++ b/portable/GCC/MicroBlazeV8/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/MicroBlazeV9/port.c b/portable/GCC/MicroBlazeV9/port.c index 25c9ac357..7a94ece00 100644 --- a/portable/GCC/MicroBlazeV9/port.c +++ b/portable/GCC/MicroBlazeV9/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/MicroBlazeV9/port_exceptions.c b/portable/GCC/MicroBlazeV9/port_exceptions.c index f89e47b0a..21dd28844 100644 --- a/portable/GCC/MicroBlazeV9/port_exceptions.c +++ b/portable/GCC/MicroBlazeV9/port_exceptions.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/MicroBlazeV9/portasm.S b/portable/GCC/MicroBlazeV9/portasm.S index 0a5e658d9..7480e76ed 100644 --- a/portable/GCC/MicroBlazeV9/portasm.S +++ b/portable/GCC/MicroBlazeV9/portasm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/MicroBlazeV9/portmacro.h b/portable/GCC/MicroBlazeV9/portmacro.h index 497f9c514..1fb9c8259 100644 --- a/portable/GCC/MicroBlazeV9/portmacro.h +++ b/portable/GCC/MicroBlazeV9/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/NiosII/port.c b/portable/GCC/NiosII/port.c index e427b4fcc..974c7d121 100644 --- a/portable/GCC/NiosII/port.c +++ b/portable/GCC/NiosII/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/NiosII/port_asm.S b/portable/GCC/NiosII/port_asm.S index 80117e590..1485ab3fc 100644 --- a/portable/GCC/NiosII/port_asm.S +++ b/portable/GCC/NiosII/port_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/NiosII/portmacro.h b/portable/GCC/NiosII/portmacro.h index b7b1d94a0..957f4db79 100644 --- a/portable/GCC/NiosII/portmacro.h +++ b/portable/GCC/NiosII/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/PPC405_Xilinx/FPU_Macros.h b/portable/GCC/PPC405_Xilinx/FPU_Macros.h index 9d7f96ff9..8446c9ae1 100644 --- a/portable/GCC/PPC405_Xilinx/FPU_Macros.h +++ b/portable/GCC/PPC405_Xilinx/FPU_Macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/PPC405_Xilinx/port.c b/portable/GCC/PPC405_Xilinx/port.c index a988dfc5e..c815cf265 100644 --- a/portable/GCC/PPC405_Xilinx/port.c +++ b/portable/GCC/PPC405_Xilinx/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/PPC405_Xilinx/portasm.S b/portable/GCC/PPC405_Xilinx/portasm.S index 49866e83e..db3e3b916 100644 --- a/portable/GCC/PPC405_Xilinx/portasm.S +++ b/portable/GCC/PPC405_Xilinx/portasm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/PPC405_Xilinx/portmacro.h b/portable/GCC/PPC405_Xilinx/portmacro.h index fe0ca70cd..128d75c37 100644 --- a/portable/GCC/PPC405_Xilinx/portmacro.h +++ b/portable/GCC/PPC405_Xilinx/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/PPC440_Xilinx/FPU_Macros.h b/portable/GCC/PPC440_Xilinx/FPU_Macros.h index 9d7f96ff9..8446c9ae1 100644 --- a/portable/GCC/PPC440_Xilinx/FPU_Macros.h +++ b/portable/GCC/PPC440_Xilinx/FPU_Macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/PPC440_Xilinx/port.c b/portable/GCC/PPC440_Xilinx/port.c index d36e74300..a17c25918 100644 --- a/portable/GCC/PPC440_Xilinx/port.c +++ b/portable/GCC/PPC440_Xilinx/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/PPC440_Xilinx/portasm.S b/portable/GCC/PPC440_Xilinx/portasm.S index 49866e83e..db3e3b916 100644 --- a/portable/GCC/PPC440_Xilinx/portasm.S +++ b/portable/GCC/PPC440_Xilinx/portasm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/PPC440_Xilinx/portmacro.h b/portable/GCC/PPC440_Xilinx/portmacro.h index fe0ca70cd..128d75c37 100644 --- a/portable/GCC/PPC440_Xilinx/portmacro.h +++ b/portable/GCC/PPC440_Xilinx/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RISC-V/chip_specific_extensions/Pulpino_Vega_RV32M1RM/freertos_risc_v_chip_specific_extensions.h b/portable/GCC/RISC-V/chip_specific_extensions/Pulpino_Vega_RV32M1RM/freertos_risc_v_chip_specific_extensions.h index df7be85fc..bbc231cf1 100644 --- a/portable/GCC/RISC-V/chip_specific_extensions/Pulpino_Vega_RV32M1RM/freertos_risc_v_chip_specific_extensions.h +++ b/portable/GCC/RISC-V/chip_specific_extensions/Pulpino_Vega_RV32M1RM/freertos_risc_v_chip_specific_extensions.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RISC-V/chip_specific_extensions/RISCV_MTIME_CLINT_no_extensions/freertos_risc_v_chip_specific_extensions.h b/portable/GCC/RISC-V/chip_specific_extensions/RISCV_MTIME_CLINT_no_extensions/freertos_risc_v_chip_specific_extensions.h index d4850841f..3be456cb4 100644 --- a/portable/GCC/RISC-V/chip_specific_extensions/RISCV_MTIME_CLINT_no_extensions/freertos_risc_v_chip_specific_extensions.h +++ b/portable/GCC/RISC-V/chip_specific_extensions/RISCV_MTIME_CLINT_no_extensions/freertos_risc_v_chip_specific_extensions.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RISC-V/chip_specific_extensions/RISCV_no_extensions/freertos_risc_v_chip_specific_extensions.h b/portable/GCC/RISC-V/chip_specific_extensions/RISCV_no_extensions/freertos_risc_v_chip_specific_extensions.h index 930e50354..9f93824bd 100644 --- a/portable/GCC/RISC-V/chip_specific_extensions/RISCV_no_extensions/freertos_risc_v_chip_specific_extensions.h +++ b/portable/GCC/RISC-V/chip_specific_extensions/RISCV_no_extensions/freertos_risc_v_chip_specific_extensions.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RISC-V/chip_specific_extensions/RV32I_CLINT_no_extensions/freertos_risc_v_chip_specific_extensions.h b/portable/GCC/RISC-V/chip_specific_extensions/RV32I_CLINT_no_extensions/freertos_risc_v_chip_specific_extensions.h index bac15e4d8..d3e9ea992 100644 --- a/portable/GCC/RISC-V/chip_specific_extensions/RV32I_CLINT_no_extensions/freertos_risc_v_chip_specific_extensions.h +++ b/portable/GCC/RISC-V/chip_specific_extensions/RV32I_CLINT_no_extensions/freertos_risc_v_chip_specific_extensions.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RISC-V/port.c b/portable/GCC/RISC-V/port.c index e0648aa9c..0b7b336d7 100644 --- a/portable/GCC/RISC-V/port.c +++ b/portable/GCC/RISC-V/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RISC-V/portASM.S b/portable/GCC/RISC-V/portASM.S index 9dde71f6a..12637b06f 100644 --- a/portable/GCC/RISC-V/portASM.S +++ b/portable/GCC/RISC-V/portASM.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RISC-V/portContext.h b/portable/GCC/RISC-V/portContext.h index 7eb871a14..6baae753d 100644 --- a/portable/GCC/RISC-V/portContext.h +++ b/portable/GCC/RISC-V/portContext.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RISC-V/portmacro.h b/portable/GCC/RISC-V/portmacro.h index 05386c3d9..a516a2467 100644 --- a/portable/GCC/RISC-V/portmacro.h +++ b/portable/GCC/RISC-V/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RL78/isr_support.h b/portable/GCC/RL78/isr_support.h index 5f8e568bc..788718089 100644 --- a/portable/GCC/RL78/isr_support.h +++ b/portable/GCC/RL78/isr_support.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RL78/port.c b/portable/GCC/RL78/port.c index 00ff398c8..7dad2b12b 100644 --- a/portable/GCC/RL78/port.c +++ b/portable/GCC/RL78/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RL78/portasm.S b/portable/GCC/RL78/portasm.S index 18ac665ed..2f24db972 100644 --- a/portable/GCC/RL78/portasm.S +++ b/portable/GCC/RL78/portasm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RL78/portmacro.h b/portable/GCC/RL78/portmacro.h index eac8b1086..a91427257 100644 --- a/portable/GCC/RL78/portmacro.h +++ b/portable/GCC/RL78/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RX100/port.c b/portable/GCC/RX100/port.c index e7f72bde6..854587d44 100644 --- a/portable/GCC/RX100/port.c +++ b/portable/GCC/RX100/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RX100/portmacro.h b/portable/GCC/RX100/portmacro.h index 01bc3621b..c661c4c9c 100644 --- a/portable/GCC/RX100/portmacro.h +++ b/portable/GCC/RX100/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RX200/port.c b/portable/GCC/RX200/port.c index 6261bc75c..e58c96d13 100644 --- a/portable/GCC/RX200/port.c +++ b/portable/GCC/RX200/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RX200/portmacro.h b/portable/GCC/RX200/portmacro.h index aee4e4de3..a767299c5 100644 --- a/portable/GCC/RX200/portmacro.h +++ b/portable/GCC/RX200/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RX600/port.c b/portable/GCC/RX600/port.c index 94747bdbe..9e6a7b443 100644 --- a/portable/GCC/RX600/port.c +++ b/portable/GCC/RX600/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RX600/portmacro.h b/portable/GCC/RX600/portmacro.h index d441eb784..79559a989 100644 --- a/portable/GCC/RX600/portmacro.h +++ b/portable/GCC/RX600/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RX600v2/port.c b/portable/GCC/RX600v2/port.c index 56212de9c..c31d2c65c 100644 --- a/portable/GCC/RX600v2/port.c +++ b/portable/GCC/RX600v2/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RX600v2/portmacro.h b/portable/GCC/RX600v2/portmacro.h index d441eb784..79559a989 100644 --- a/portable/GCC/RX600v2/portmacro.h +++ b/portable/GCC/RX600v2/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RX700v3_DPFPU/port.c b/portable/GCC/RX700v3_DPFPU/port.c index 7aa1e741c..8ed1bcfa4 100644 --- a/portable/GCC/RX700v3_DPFPU/port.c +++ b/portable/GCC/RX700v3_DPFPU/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/RX700v3_DPFPU/portmacro.h b/portable/GCC/RX700v3_DPFPU/portmacro.h index 4f9b8a087..68c65b45f 100644 --- a/portable/GCC/RX700v3_DPFPU/portmacro.h +++ b/portable/GCC/RX700v3_DPFPU/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/STR75x/port.c b/portable/GCC/STR75x/port.c index 09fab1897..941b72b5f 100644 --- a/portable/GCC/STR75x/port.c +++ b/portable/GCC/STR75x/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/STR75x/portISR.c b/portable/GCC/STR75x/portISR.c index 569a6c7d3..110c22a80 100644 --- a/portable/GCC/STR75x/portISR.c +++ b/portable/GCC/STR75x/portISR.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/STR75x/portmacro.h b/portable/GCC/STR75x/portmacro.h index b52d3a513..81a30dcb3 100644 --- a/portable/GCC/STR75x/portmacro.h +++ b/portable/GCC/STR75x/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/TriCore_1782/port.c b/portable/GCC/TriCore_1782/port.c index f8f54922a..1579d8e72 100644 --- a/portable/GCC/TriCore_1782/port.c +++ b/portable/GCC/TriCore_1782/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/TriCore_1782/portmacro.h b/portable/GCC/TriCore_1782/portmacro.h index 8c1a9c0eb..c1e0b14d5 100644 --- a/portable/GCC/TriCore_1782/portmacro.h +++ b/portable/GCC/TriCore_1782/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/GCC/TriCore_1782/porttrap.c b/portable/GCC/TriCore_1782/porttrap.c index 732a406b6..f0600d754 100644 --- a/portable/GCC/TriCore_1782/porttrap.c +++ b/portable/GCC/TriCore_1782/porttrap.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/78K0R/ISR_Support.h b/portable/IAR/78K0R/ISR_Support.h index 2fa110c70..b5a1f4d1d 100644 --- a/portable/IAR/78K0R/ISR_Support.h +++ b/portable/IAR/78K0R/ISR_Support.h @@ -1,6 +1,6 @@ ; /* * ; * FreeRTOS Kernel - * ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * ; * * ; * SPDX-License-Identifier: MIT * ; * diff --git a/portable/IAR/78K0R/port.c b/portable/IAR/78K0R/port.c index 97d390300..3183b89ab 100644 --- a/portable/IAR/78K0R/port.c +++ b/portable/IAR/78K0R/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/78K0R/portasm.s26 b/portable/IAR/78K0R/portasm.s26 index 6b6b76137..1cddc0caf 100644 --- a/portable/IAR/78K0R/portasm.s26 +++ b/portable/IAR/78K0R/portasm.s26 @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/78K0R/portmacro.h b/portable/IAR/78K0R/portmacro.h index 206b82c22..e0ac8fb02 100644 --- a/portable/IAR/78K0R/portmacro.h +++ b/portable/IAR/78K0R/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CA5_No_GIC/port.c b/portable/IAR/ARM_CA5_No_GIC/port.c index 3cb7c0db2..31afbb567 100644 --- a/portable/IAR/ARM_CA5_No_GIC/port.c +++ b/portable/IAR/ARM_CA5_No_GIC/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CA5_No_GIC/portASM.h b/portable/IAR/ARM_CA5_No_GIC/portASM.h index 1a9006df3..c3f9978d2 100644 --- a/portable/IAR/ARM_CA5_No_GIC/portASM.h +++ b/portable/IAR/ARM_CA5_No_GIC/portASM.h @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/ARM_CA5_No_GIC/portASM.s b/portable/IAR/ARM_CA5_No_GIC/portASM.s index 8edcb6c55..dcfaa6043 100644 --- a/portable/IAR/ARM_CA5_No_GIC/portASM.s +++ b/portable/IAR/ARM_CA5_No_GIC/portASM.s @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/ARM_CA5_No_GIC/portmacro.h b/portable/IAR/ARM_CA5_No_GIC/portmacro.h index 82794345d..8d5caeb8a 100644 --- a/portable/IAR/ARM_CA5_No_GIC/portmacro.h +++ b/portable/IAR/ARM_CA5_No_GIC/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CA9/port.c b/portable/IAR/ARM_CA9/port.c index 3f87288ae..b558099af 100644 --- a/portable/IAR/ARM_CA9/port.c +++ b/portable/IAR/ARM_CA9/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CA9/portASM.h b/portable/IAR/ARM_CA9/portASM.h index e6df989da..181530b67 100644 --- a/portable/IAR/ARM_CA9/portASM.h +++ b/portable/IAR/ARM_CA9/portASM.h @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/ARM_CA9/portASM.s b/portable/IAR/ARM_CA9/portASM.s index 56ec384c0..d7d07995f 100644 --- a/portable/IAR/ARM_CA9/portASM.s +++ b/portable/IAR/ARM_CA9/portASM.s @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/ARM_CA9/portmacro.h b/portable/IAR/ARM_CA9/portmacro.h index 4782a5a66..c0954d895 100644 --- a/portable/IAR/ARM_CA9/portmacro.h +++ b/portable/IAR/ARM_CA9/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM0/port.c b/portable/IAR/ARM_CM0/port.c index 1b9caa13a..634833389 100644 --- a/portable/IAR/ARM_CM0/port.c +++ b/portable/IAR/ARM_CM0/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM0/portasm.s b/portable/IAR/ARM_CM0/portasm.s index ede492135..6c19a1749 100644 --- a/portable/IAR/ARM_CM0/portasm.s +++ b/portable/IAR/ARM_CM0/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM0/portmacro.h b/portable/IAR/ARM_CM0/portmacro.h index 88cba2016..a097db9df 100644 --- a/portable/IAR/ARM_CM0/portmacro.h +++ b/portable/IAR/ARM_CM0/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S index 419df5b1e..8ea2f5c78 100644 --- a/portable/IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/non_secure/port.c b/portable/IAR/ARM_CM23/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/IAR/ARM_CM23/non_secure/port.c +++ b/portable/IAR/ARM_CM23/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/non_secure/portasm.h b/portable/IAR/ARM_CM23/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/IAR/ARM_CM23/non_secure/portasm.h +++ b/portable/IAR/ARM_CM23/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/non_secure/portasm.s b/portable/IAR/ARM_CM23/non_secure/portasm.s index 06c761090..6817abd7a 100644 --- a/portable/IAR/ARM_CM23/non_secure/portasm.s +++ b/portable/IAR/ARM_CM23/non_secure/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/non_secure/portmacro.h b/portable/IAR/ARM_CM23/non_secure/portmacro.h index 56d7398f5..667b58151 100644 --- a/portable/IAR/ARM_CM23/non_secure/portmacro.h +++ b/portable/IAR/ARM_CM23/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/non_secure/portmacrocommon.h b/portable/IAR/ARM_CM23/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/IAR/ARM_CM23/non_secure/portmacrocommon.h +++ b/portable/IAR/ARM_CM23/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/secure/secure_context.c b/portable/IAR/ARM_CM23/secure/secure_context.c index 7d2171996..72fb3862c 100644 --- a/portable/IAR/ARM_CM23/secure/secure_context.c +++ b/portable/IAR/ARM_CM23/secure/secure_context.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/secure/secure_context.h b/portable/IAR/ARM_CM23/secure/secure_context.h index 0bf776198..e36a8e430 100644 --- a/portable/IAR/ARM_CM23/secure/secure_context.h +++ b/portable/IAR/ARM_CM23/secure/secure_context.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/secure/secure_context_port_asm.s b/portable/IAR/ARM_CM23/secure/secure_context_port_asm.s index f7c5d19d2..f70e89115 100644 --- a/portable/IAR/ARM_CM23/secure/secure_context_port_asm.s +++ b/portable/IAR/ARM_CM23/secure/secure_context_port_asm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/secure/secure_heap.c b/portable/IAR/ARM_CM23/secure/secure_heap.c index 1ec3bdbdb..4fa6a2ffa 100644 --- a/portable/IAR/ARM_CM23/secure/secure_heap.c +++ b/portable/IAR/ARM_CM23/secure/secure_heap.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/secure/secure_heap.h b/portable/IAR/ARM_CM23/secure/secure_heap.h index c13590f86..0e84a9d9d 100644 --- a/portable/IAR/ARM_CM23/secure/secure_heap.h +++ b/portable/IAR/ARM_CM23/secure/secure_heap.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/secure/secure_init.c b/portable/IAR/ARM_CM23/secure/secure_init.c index b89c5f644..c50d37668 100644 --- a/portable/IAR/ARM_CM23/secure/secure_init.c +++ b/portable/IAR/ARM_CM23/secure/secure_init.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/secure/secure_init.h b/portable/IAR/ARM_CM23/secure/secure_init.h index 21daeda6b..ebe04900f 100644 --- a/portable/IAR/ARM_CM23/secure/secure_init.h +++ b/portable/IAR/ARM_CM23/secure/secure_init.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23/secure/secure_port_macros.h b/portable/IAR/ARM_CM23/secure/secure_port_macros.h index 304913b8d..a70da2c65 100644 --- a/portable/IAR/ARM_CM23/secure/secure_port_macros.h +++ b/portable/IAR/ARM_CM23/secure/secure_port_macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.S index 419df5b1e..8ea2f5c78 100644 --- a/portable/IAR/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23_NTZ/non_secure/port.c b/portable/IAR/ARM_CM23_NTZ/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/IAR/ARM_CM23_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM23_NTZ/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.h b/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.h +++ b/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s b/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s index d4487dfac..bfe9eee4b 100644 --- a/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s +++ b/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23_NTZ/non_secure/portmacro.h b/portable/IAR/ARM_CM23_NTZ/non_secure/portmacro.h index 56d7398f5..667b58151 100644 --- a/portable/IAR/ARM_CM23_NTZ/non_secure/portmacro.h +++ b/portable/IAR/ARM_CM23_NTZ/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM23_NTZ/non_secure/portmacrocommon.h b/portable/IAR/ARM_CM23_NTZ/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/IAR/ARM_CM23_NTZ/non_secure/portmacrocommon.h +++ b/portable/IAR/ARM_CM23_NTZ/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM3/port.c b/portable/IAR/ARM_CM3/port.c index 460826872..d254dc255 100644 --- a/portable/IAR/ARM_CM3/port.c +++ b/portable/IAR/ARM_CM3/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM3/portasm.s b/portable/IAR/ARM_CM3/portasm.s index 0dbb43b00..7b2afde98 100644 --- a/portable/IAR/ARM_CM3/portasm.s +++ b/portable/IAR/ARM_CM3/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM3/portmacro.h b/portable/IAR/ARM_CM3/portmacro.h index c90a952e2..a64c4fb26 100644 --- a/portable/IAR/ARM_CM3/portmacro.h +++ b/portable/IAR/ARM_CM3/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S index 80d5a1c63..a69845eda 100644 --- a/portable/IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/non_secure/port.c b/portable/IAR/ARM_CM33/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/IAR/ARM_CM33/non_secure/port.c +++ b/portable/IAR/ARM_CM33/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/non_secure/portasm.h b/portable/IAR/ARM_CM33/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/IAR/ARM_CM33/non_secure/portasm.h +++ b/portable/IAR/ARM_CM33/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/non_secure/portasm.s b/portable/IAR/ARM_CM33/non_secure/portasm.s index d8f1b1d9a..418c5f887 100644 --- a/portable/IAR/ARM_CM33/non_secure/portasm.s +++ b/portable/IAR/ARM_CM33/non_secure/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/non_secure/portmacro.h b/portable/IAR/ARM_CM33/non_secure/portmacro.h index 890f3ea96..eeb14d86f 100644 --- a/portable/IAR/ARM_CM33/non_secure/portmacro.h +++ b/portable/IAR/ARM_CM33/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/non_secure/portmacrocommon.h b/portable/IAR/ARM_CM33/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/IAR/ARM_CM33/non_secure/portmacrocommon.h +++ b/portable/IAR/ARM_CM33/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/secure/secure_context.c b/portable/IAR/ARM_CM33/secure/secure_context.c index 7d2171996..72fb3862c 100644 --- a/portable/IAR/ARM_CM33/secure/secure_context.c +++ b/portable/IAR/ARM_CM33/secure/secure_context.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/secure/secure_context.h b/portable/IAR/ARM_CM33/secure/secure_context.h index 0bf776198..e36a8e430 100644 --- a/portable/IAR/ARM_CM33/secure/secure_context.h +++ b/portable/IAR/ARM_CM33/secure/secure_context.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/secure/secure_context_port_asm.s b/portable/IAR/ARM_CM33/secure/secure_context_port_asm.s index 400bd0107..27a8f3933 100644 --- a/portable/IAR/ARM_CM33/secure/secure_context_port_asm.s +++ b/portable/IAR/ARM_CM33/secure/secure_context_port_asm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/secure/secure_heap.c b/portable/IAR/ARM_CM33/secure/secure_heap.c index 1ec3bdbdb..4fa6a2ffa 100644 --- a/portable/IAR/ARM_CM33/secure/secure_heap.c +++ b/portable/IAR/ARM_CM33/secure/secure_heap.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/secure/secure_heap.h b/portable/IAR/ARM_CM33/secure/secure_heap.h index c13590f86..0e84a9d9d 100644 --- a/portable/IAR/ARM_CM33/secure/secure_heap.h +++ b/portable/IAR/ARM_CM33/secure/secure_heap.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/secure/secure_init.c b/portable/IAR/ARM_CM33/secure/secure_init.c index b89c5f644..c50d37668 100644 --- a/portable/IAR/ARM_CM33/secure/secure_init.c +++ b/portable/IAR/ARM_CM33/secure/secure_init.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/secure/secure_init.h b/portable/IAR/ARM_CM33/secure/secure_init.h index 21daeda6b..ebe04900f 100644 --- a/portable/IAR/ARM_CM33/secure/secure_init.h +++ b/portable/IAR/ARM_CM33/secure/secure_init.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33/secure/secure_port_macros.h b/portable/IAR/ARM_CM33/secure/secure_port_macros.h index 304913b8d..a70da2c65 100644 --- a/portable/IAR/ARM_CM33/secure/secure_port_macros.h +++ b/portable/IAR/ARM_CM33/secure/secure_port_macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.S index 80d5a1c63..a69845eda 100644 --- a/portable/IAR/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33_NTZ/non_secure/port.c b/portable/IAR/ARM_CM33_NTZ/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/IAR/ARM_CM33_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM33_NTZ/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.h b/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.h +++ b/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s b/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s index 7cf467d22..44f662646 100644 --- a/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s +++ b/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33_NTZ/non_secure/portmacro.h b/portable/IAR/ARM_CM33_NTZ/non_secure/portmacro.h index 59a44193f..acb4748a2 100644 --- a/portable/IAR/ARM_CM33_NTZ/non_secure/portmacro.h +++ b/portable/IAR/ARM_CM33_NTZ/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM33_NTZ/non_secure/portmacrocommon.h b/portable/IAR/ARM_CM33_NTZ/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/IAR/ARM_CM33_NTZ/non_secure/portmacrocommon.h +++ b/portable/IAR/ARM_CM33_NTZ/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S index 80d5a1c63..a69845eda 100644 --- a/portable/IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/non_secure/port.c b/portable/IAR/ARM_CM35P/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/IAR/ARM_CM35P/non_secure/port.c +++ b/portable/IAR/ARM_CM35P/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/non_secure/portasm.h b/portable/IAR/ARM_CM35P/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/IAR/ARM_CM35P/non_secure/portasm.h +++ b/portable/IAR/ARM_CM35P/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/non_secure/portasm.s b/portable/IAR/ARM_CM35P/non_secure/portasm.s index d8f1b1d9a..418c5f887 100644 --- a/portable/IAR/ARM_CM35P/non_secure/portasm.s +++ b/portable/IAR/ARM_CM35P/non_secure/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/non_secure/portmacro.h b/portable/IAR/ARM_CM35P/non_secure/portmacro.h index 468d14311..0dcac8d4d 100644 --- a/portable/IAR/ARM_CM35P/non_secure/portmacro.h +++ b/portable/IAR/ARM_CM35P/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/non_secure/portmacrocommon.h b/portable/IAR/ARM_CM35P/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/IAR/ARM_CM35P/non_secure/portmacrocommon.h +++ b/portable/IAR/ARM_CM35P/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/secure/secure_context.c b/portable/IAR/ARM_CM35P/secure/secure_context.c index 7d2171996..72fb3862c 100644 --- a/portable/IAR/ARM_CM35P/secure/secure_context.c +++ b/portable/IAR/ARM_CM35P/secure/secure_context.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/secure/secure_context.h b/portable/IAR/ARM_CM35P/secure/secure_context.h index 0bf776198..e36a8e430 100644 --- a/portable/IAR/ARM_CM35P/secure/secure_context.h +++ b/portable/IAR/ARM_CM35P/secure/secure_context.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/secure/secure_context_port_asm.s b/portable/IAR/ARM_CM35P/secure/secure_context_port_asm.s index 400bd0107..27a8f3933 100644 --- a/portable/IAR/ARM_CM35P/secure/secure_context_port_asm.s +++ b/portable/IAR/ARM_CM35P/secure/secure_context_port_asm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/secure/secure_heap.c b/portable/IAR/ARM_CM35P/secure/secure_heap.c index 1ec3bdbdb..4fa6a2ffa 100644 --- a/portable/IAR/ARM_CM35P/secure/secure_heap.c +++ b/portable/IAR/ARM_CM35P/secure/secure_heap.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/secure/secure_heap.h b/portable/IAR/ARM_CM35P/secure/secure_heap.h index c13590f86..0e84a9d9d 100644 --- a/portable/IAR/ARM_CM35P/secure/secure_heap.h +++ b/portable/IAR/ARM_CM35P/secure/secure_heap.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/secure/secure_init.c b/portable/IAR/ARM_CM35P/secure/secure_init.c index b89c5f644..c50d37668 100644 --- a/portable/IAR/ARM_CM35P/secure/secure_init.c +++ b/portable/IAR/ARM_CM35P/secure/secure_init.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/secure/secure_init.h b/portable/IAR/ARM_CM35P/secure/secure_init.h index 21daeda6b..ebe04900f 100644 --- a/portable/IAR/ARM_CM35P/secure/secure_init.h +++ b/portable/IAR/ARM_CM35P/secure/secure_init.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P/secure/secure_port_macros.h b/portable/IAR/ARM_CM35P/secure/secure_port_macros.h index 304913b8d..a70da2c65 100644 --- a/portable/IAR/ARM_CM35P/secure/secure_port_macros.h +++ b/portable/IAR/ARM_CM35P/secure/secure_port_macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.S index 80d5a1c63..a69845eda 100644 --- a/portable/IAR/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c b/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.h b/portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.h +++ b/portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.s b/portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.s index 7cf467d22..44f662646 100644 --- a/portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.s +++ b/portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P_NTZ/non_secure/portmacro.h b/portable/IAR/ARM_CM35P_NTZ/non_secure/portmacro.h index 468d14311..0dcac8d4d 100644 --- a/portable/IAR/ARM_CM35P_NTZ/non_secure/portmacro.h +++ b/portable/IAR/ARM_CM35P_NTZ/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM35P_NTZ/non_secure/portmacrocommon.h b/portable/IAR/ARM_CM35P_NTZ/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/IAR/ARM_CM35P_NTZ/non_secure/portmacrocommon.h +++ b/portable/IAR/ARM_CM35P_NTZ/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM4F/port.c b/portable/IAR/ARM_CM4F/port.c index 763ff2a5c..18b433282 100644 --- a/portable/IAR/ARM_CM4F/port.c +++ b/portable/IAR/ARM_CM4F/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM4F/portasm.s b/portable/IAR/ARM_CM4F/portasm.s index f4caf80bf..a2e8c3009 100644 --- a/portable/IAR/ARM_CM4F/portasm.s +++ b/portable/IAR/ARM_CM4F/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM4F/portmacro.h b/portable/IAR/ARM_CM4F/portmacro.h index 20467efcb..93cfd555e 100644 --- a/portable/IAR/ARM_CM4F/portmacro.h +++ b/portable/IAR/ARM_CM4F/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S index d21dbaa7f..bf91e99c6 100644 --- a/portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM4F_MPU/port.c b/portable/IAR/ARM_CM4F_MPU/port.c index b3db081f3..622af0f1e 100644 --- a/portable/IAR/ARM_CM4F_MPU/port.c +++ b/portable/IAR/ARM_CM4F_MPU/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM4F_MPU/portasm.s b/portable/IAR/ARM_CM4F_MPU/portasm.s index 7866d9ee9..9ce0e14d8 100644 --- a/portable/IAR/ARM_CM4F_MPU/portasm.s +++ b/portable/IAR/ARM_CM4F_MPU/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM4F_MPU/portmacro.h b/portable/IAR/ARM_CM4F_MPU/portmacro.h index 5b994cca9..f7f8b51f1 100644 --- a/portable/IAR/ARM_CM4F_MPU/portmacro.h +++ b/portable/IAR/ARM_CM4F_MPU/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S index 80d5a1c63..a69845eda 100644 --- a/portable/IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/non_secure/port.c b/portable/IAR/ARM_CM55/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/IAR/ARM_CM55/non_secure/port.c +++ b/portable/IAR/ARM_CM55/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/non_secure/portasm.h b/portable/IAR/ARM_CM55/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/IAR/ARM_CM55/non_secure/portasm.h +++ b/portable/IAR/ARM_CM55/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/non_secure/portasm.s b/portable/IAR/ARM_CM55/non_secure/portasm.s index d8f1b1d9a..418c5f887 100644 --- a/portable/IAR/ARM_CM55/non_secure/portasm.s +++ b/portable/IAR/ARM_CM55/non_secure/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/non_secure/portmacro.h b/portable/IAR/ARM_CM55/non_secure/portmacro.h index 1338d25be..92dc75fd1 100644 --- a/portable/IAR/ARM_CM55/non_secure/portmacro.h +++ b/portable/IAR/ARM_CM55/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/non_secure/portmacrocommon.h b/portable/IAR/ARM_CM55/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/IAR/ARM_CM55/non_secure/portmacrocommon.h +++ b/portable/IAR/ARM_CM55/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/secure/secure_context.c b/portable/IAR/ARM_CM55/secure/secure_context.c index 7d2171996..72fb3862c 100644 --- a/portable/IAR/ARM_CM55/secure/secure_context.c +++ b/portable/IAR/ARM_CM55/secure/secure_context.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/secure/secure_context.h b/portable/IAR/ARM_CM55/secure/secure_context.h index 0bf776198..e36a8e430 100644 --- a/portable/IAR/ARM_CM55/secure/secure_context.h +++ b/portable/IAR/ARM_CM55/secure/secure_context.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/secure/secure_context_port_asm.s b/portable/IAR/ARM_CM55/secure/secure_context_port_asm.s index 400bd0107..27a8f3933 100644 --- a/portable/IAR/ARM_CM55/secure/secure_context_port_asm.s +++ b/portable/IAR/ARM_CM55/secure/secure_context_port_asm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/secure/secure_heap.c b/portable/IAR/ARM_CM55/secure/secure_heap.c index 1ec3bdbdb..4fa6a2ffa 100644 --- a/portable/IAR/ARM_CM55/secure/secure_heap.c +++ b/portable/IAR/ARM_CM55/secure/secure_heap.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/secure/secure_heap.h b/portable/IAR/ARM_CM55/secure/secure_heap.h index c13590f86..0e84a9d9d 100644 --- a/portable/IAR/ARM_CM55/secure/secure_heap.h +++ b/portable/IAR/ARM_CM55/secure/secure_heap.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/secure/secure_init.c b/portable/IAR/ARM_CM55/secure/secure_init.c index b89c5f644..c50d37668 100644 --- a/portable/IAR/ARM_CM55/secure/secure_init.c +++ b/portable/IAR/ARM_CM55/secure/secure_init.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/secure/secure_init.h b/portable/IAR/ARM_CM55/secure/secure_init.h index 21daeda6b..ebe04900f 100644 --- a/portable/IAR/ARM_CM55/secure/secure_init.h +++ b/portable/IAR/ARM_CM55/secure/secure_init.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55/secure/secure_port_macros.h b/portable/IAR/ARM_CM55/secure/secure_port_macros.h index 304913b8d..a70da2c65 100644 --- a/portable/IAR/ARM_CM55/secure/secure_port_macros.h +++ b/portable/IAR/ARM_CM55/secure/secure_port_macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.S index 80d5a1c63..a69845eda 100644 --- a/portable/IAR/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55_NTZ/non_secure/port.c b/portable/IAR/ARM_CM55_NTZ/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/IAR/ARM_CM55_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM55_NTZ/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55_NTZ/non_secure/portasm.h b/portable/IAR/ARM_CM55_NTZ/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/IAR/ARM_CM55_NTZ/non_secure/portasm.h +++ b/portable/IAR/ARM_CM55_NTZ/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55_NTZ/non_secure/portasm.s b/portable/IAR/ARM_CM55_NTZ/non_secure/portasm.s index 7cf467d22..44f662646 100644 --- a/portable/IAR/ARM_CM55_NTZ/non_secure/portasm.s +++ b/portable/IAR/ARM_CM55_NTZ/non_secure/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55_NTZ/non_secure/portmacro.h b/portable/IAR/ARM_CM55_NTZ/non_secure/portmacro.h index 1338d25be..92dc75fd1 100644 --- a/portable/IAR/ARM_CM55_NTZ/non_secure/portmacro.h +++ b/portable/IAR/ARM_CM55_NTZ/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM55_NTZ/non_secure/portmacrocommon.h b/portable/IAR/ARM_CM55_NTZ/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/IAR/ARM_CM55_NTZ/non_secure/portmacrocommon.h +++ b/portable/IAR/ARM_CM55_NTZ/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM7/r0p1/port.c b/portable/IAR/ARM_CM7/r0p1/port.c index 2790028f4..7def0060e 100644 --- a/portable/IAR/ARM_CM7/r0p1/port.c +++ b/portable/IAR/ARM_CM7/r0p1/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM7/r0p1/portasm.s b/portable/IAR/ARM_CM7/r0p1/portasm.s index 483178d96..56d4b3e04 100644 --- a/portable/IAR/ARM_CM7/r0p1/portasm.s +++ b/portable/IAR/ARM_CM7/r0p1/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM7/r0p1/portmacro.h b/portable/IAR/ARM_CM7/r0p1/portmacro.h index a6c377b6b..0165b2d91 100644 --- a/portable/IAR/ARM_CM7/r0p1/portmacro.h +++ b/portable/IAR/ARM_CM7/r0p1/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S index 80d5a1c63..a69845eda 100644 --- a/portable/IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/non_secure/port.c b/portable/IAR/ARM_CM85/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/IAR/ARM_CM85/non_secure/port.c +++ b/portable/IAR/ARM_CM85/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/non_secure/portasm.h b/portable/IAR/ARM_CM85/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/IAR/ARM_CM85/non_secure/portasm.h +++ b/portable/IAR/ARM_CM85/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/non_secure/portasm.s b/portable/IAR/ARM_CM85/non_secure/portasm.s index d8f1b1d9a..418c5f887 100644 --- a/portable/IAR/ARM_CM85/non_secure/portasm.s +++ b/portable/IAR/ARM_CM85/non_secure/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/non_secure/portmacro.h b/portable/IAR/ARM_CM85/non_secure/portmacro.h index cffcb20d9..02f67453a 100644 --- a/portable/IAR/ARM_CM85/non_secure/portmacro.h +++ b/portable/IAR/ARM_CM85/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/non_secure/portmacrocommon.h b/portable/IAR/ARM_CM85/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/IAR/ARM_CM85/non_secure/portmacrocommon.h +++ b/portable/IAR/ARM_CM85/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/secure/secure_context.c b/portable/IAR/ARM_CM85/secure/secure_context.c index 7d2171996..72fb3862c 100644 --- a/portable/IAR/ARM_CM85/secure/secure_context.c +++ b/portable/IAR/ARM_CM85/secure/secure_context.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/secure/secure_context.h b/portable/IAR/ARM_CM85/secure/secure_context.h index 0bf776198..e36a8e430 100644 --- a/portable/IAR/ARM_CM85/secure/secure_context.h +++ b/portable/IAR/ARM_CM85/secure/secure_context.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/secure/secure_context_port_asm.s b/portable/IAR/ARM_CM85/secure/secure_context_port_asm.s index 400bd0107..27a8f3933 100644 --- a/portable/IAR/ARM_CM85/secure/secure_context_port_asm.s +++ b/portable/IAR/ARM_CM85/secure/secure_context_port_asm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/secure/secure_heap.c b/portable/IAR/ARM_CM85/secure/secure_heap.c index 1ec3bdbdb..4fa6a2ffa 100644 --- a/portable/IAR/ARM_CM85/secure/secure_heap.c +++ b/portable/IAR/ARM_CM85/secure/secure_heap.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/secure/secure_heap.h b/portable/IAR/ARM_CM85/secure/secure_heap.h index c13590f86..0e84a9d9d 100644 --- a/portable/IAR/ARM_CM85/secure/secure_heap.h +++ b/portable/IAR/ARM_CM85/secure/secure_heap.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/secure/secure_init.c b/portable/IAR/ARM_CM85/secure/secure_init.c index b89c5f644..c50d37668 100644 --- a/portable/IAR/ARM_CM85/secure/secure_init.c +++ b/portable/IAR/ARM_CM85/secure/secure_init.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/secure/secure_init.h b/portable/IAR/ARM_CM85/secure/secure_init.h index 21daeda6b..ebe04900f 100644 --- a/portable/IAR/ARM_CM85/secure/secure_init.h +++ b/portable/IAR/ARM_CM85/secure/secure_init.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85/secure/secure_port_macros.h b/portable/IAR/ARM_CM85/secure/secure_port_macros.h index 304913b8d..a70da2c65 100644 --- a/portable/IAR/ARM_CM85/secure/secure_port_macros.h +++ b/portable/IAR/ARM_CM85/secure/secure_port_macros.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.S index 80d5a1c63..a69845eda 100644 --- a/portable/IAR/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85_NTZ/non_secure/port.c b/portable/IAR/ARM_CM85_NTZ/non_secure/port.c index 6d88b637f..7171a72bf 100644 --- a/portable/IAR/ARM_CM85_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM85_NTZ/non_secure/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85_NTZ/non_secure/portasm.h b/portable/IAR/ARM_CM85_NTZ/non_secure/portasm.h index ecd86b97f..bd5a2bfca 100644 --- a/portable/IAR/ARM_CM85_NTZ/non_secure/portasm.h +++ b/portable/IAR/ARM_CM85_NTZ/non_secure/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85_NTZ/non_secure/portasm.s b/portable/IAR/ARM_CM85_NTZ/non_secure/portasm.s index 7cf467d22..44f662646 100644 --- a/portable/IAR/ARM_CM85_NTZ/non_secure/portasm.s +++ b/portable/IAR/ARM_CM85_NTZ/non_secure/portasm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85_NTZ/non_secure/portmacro.h b/portable/IAR/ARM_CM85_NTZ/non_secure/portmacro.h index cffcb20d9..02f67453a 100644 --- a/portable/IAR/ARM_CM85_NTZ/non_secure/portmacro.h +++ b/portable/IAR/ARM_CM85_NTZ/non_secure/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CM85_NTZ/non_secure/portmacrocommon.h b/portable/IAR/ARM_CM85_NTZ/non_secure/portmacrocommon.h index 672b0dbdc..3cf65761f 100644 --- a/portable/IAR/ARM_CM85_NTZ/non_secure/portmacrocommon.h +++ b/portable/IAR/ARM_CM85_NTZ/non_secure/portmacrocommon.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CRx_No_GIC/port.c b/portable/IAR/ARM_CRx_No_GIC/port.c index 235585642..1b5c0fb8e 100644 --- a/portable/IAR/ARM_CRx_No_GIC/port.c +++ b/portable/IAR/ARM_CRx_No_GIC/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ARM_CRx_No_GIC/portASM.s b/portable/IAR/ARM_CRx_No_GIC/portASM.s index 6883cced4..fb2a797ac 100644 --- a/portable/IAR/ARM_CRx_No_GIC/portASM.s +++ b/portable/IAR/ARM_CRx_No_GIC/portASM.s @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/ARM_CRx_No_GIC/portmacro.h b/portable/IAR/ARM_CRx_No_GIC/portmacro.h index d7c18b1f7..7707fcf02 100644 --- a/portable/IAR/ARM_CRx_No_GIC/portmacro.h +++ b/portable/IAR/ARM_CRx_No_GIC/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ATMega323/port.c b/portable/IAR/ATMega323/port.c index 991713789..980787990 100644 --- a/portable/IAR/ATMega323/port.c +++ b/portable/IAR/ATMega323/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ATMega323/portmacro.h b/portable/IAR/ATMega323/portmacro.h index 0a870ae21..e50d9f3d7 100644 --- a/portable/IAR/ATMega323/portmacro.h +++ b/portable/IAR/ATMega323/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/ATMega323/portmacro.s90 b/portable/IAR/ATMega323/portmacro.s90 index 8c72f410f..029d0dbb6 100644 --- a/portable/IAR/ATMega323/portmacro.s90 +++ b/portable/IAR/ATMega323/portmacro.s90 @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/AVR32_UC3/exception.s82 b/portable/IAR/AVR32_UC3/exception.s82 index 12012e420..653600995 100644 --- a/portable/IAR/AVR32_UC3/exception.s82 +++ b/portable/IAR/AVR32_UC3/exception.s82 @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT AND BSD-3-Clause * diff --git a/portable/IAR/AVR32_UC3/port.c b/portable/IAR/AVR32_UC3/port.c index 94fa1e37a..7a1cc640b 100644 --- a/portable/IAR/AVR32_UC3/port.c +++ b/portable/IAR/AVR32_UC3/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT AND BSD-3-Clause * diff --git a/portable/IAR/AVR32_UC3/portmacro.h b/portable/IAR/AVR32_UC3/portmacro.h index 42f4bfe65..036833f8f 100644 --- a/portable/IAR/AVR32_UC3/portmacro.h +++ b/portable/IAR/AVR32_UC3/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT AND BSD-3-Clause * diff --git a/portable/IAR/AVR32_UC3/read.c b/portable/IAR/AVR32_UC3/read.c index bbdc0781b..639d1f8f8 100644 --- a/portable/IAR/AVR32_UC3/read.c +++ b/portable/IAR/AVR32_UC3/read.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT AND BSD-3-Clause * diff --git a/portable/IAR/AVR32_UC3/write.c b/portable/IAR/AVR32_UC3/write.c index 139f45277..5ac796332 100644 --- a/portable/IAR/AVR32_UC3/write.c +++ b/portable/IAR/AVR32_UC3/write.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT AND BSD-3-Clause * diff --git a/portable/IAR/AVR_AVRDx/port.c b/portable/IAR/AVR_AVRDx/port.c index 8d8f22331..07269f0f6 100644 --- a/portable/IAR/AVR_AVRDx/port.c +++ b/portable/IAR/AVR_AVRDx/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/AVR_AVRDx/porthardware.h b/portable/IAR/AVR_AVRDx/porthardware.h index c313e0c69..f9176f96b 100644 --- a/portable/IAR/AVR_AVRDx/porthardware.h +++ b/portable/IAR/AVR_AVRDx/porthardware.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/AVR_AVRDx/portmacro.h b/portable/IAR/AVR_AVRDx/portmacro.h index 13c3f6e6b..829958dc0 100644 --- a/portable/IAR/AVR_AVRDx/portmacro.h +++ b/portable/IAR/AVR_AVRDx/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/AVR_AVRDx/portmacro.s90 b/portable/IAR/AVR_AVRDx/portmacro.s90 index dc72ccf58..c518d3af9 100644 --- a/portable/IAR/AVR_AVRDx/portmacro.s90 +++ b/portable/IAR/AVR_AVRDx/portmacro.s90 @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/AVR_Mega0/port.c b/portable/IAR/AVR_Mega0/port.c index 4dc8ab3c3..7d1d2f6e8 100644 --- a/portable/IAR/AVR_Mega0/port.c +++ b/portable/IAR/AVR_Mega0/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/AVR_Mega0/porthardware.h b/portable/IAR/AVR_Mega0/porthardware.h index c7341447c..d834a8e82 100644 --- a/portable/IAR/AVR_Mega0/porthardware.h +++ b/portable/IAR/AVR_Mega0/porthardware.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/AVR_Mega0/portmacro.h b/portable/IAR/AVR_Mega0/portmacro.h index 13c3f6e6b..829958dc0 100644 --- a/portable/IAR/AVR_Mega0/portmacro.h +++ b/portable/IAR/AVR_Mega0/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/AVR_Mega0/portmacro.s90 b/portable/IAR/AVR_Mega0/portmacro.s90 index 2e5046325..c2789d48e 100644 --- a/portable/IAR/AVR_Mega0/portmacro.s90 +++ b/portable/IAR/AVR_Mega0/portmacro.s90 @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/AtmelSAM7S64/ISR_Support.h b/portable/IAR/AtmelSAM7S64/ISR_Support.h index d63e908b9..273e95141 100644 --- a/portable/IAR/AtmelSAM7S64/ISR_Support.h +++ b/portable/IAR/AtmelSAM7S64/ISR_Support.h @@ -1,6 +1,6 @@ ; /* * ; * FreeRTOS Kernel - * ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * ; * * ; * SPDX-License-Identifier: MIT * ; * diff --git a/portable/IAR/AtmelSAM7S64/port.c b/portable/IAR/AtmelSAM7S64/port.c index ba72aa804..5f5f7625f 100644 --- a/portable/IAR/AtmelSAM7S64/port.c +++ b/portable/IAR/AtmelSAM7S64/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/AtmelSAM7S64/portasm.s79 b/portable/IAR/AtmelSAM7S64/portasm.s79 index b01bcf548..4f5f5c083 100644 --- a/portable/IAR/AtmelSAM7S64/portasm.s79 +++ b/portable/IAR/AtmelSAM7S64/portasm.s79 @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/AtmelSAM7S64/portmacro.h b/portable/IAR/AtmelSAM7S64/portmacro.h index 337139712..75588d526 100644 --- a/portable/IAR/AtmelSAM7S64/portmacro.h +++ b/portable/IAR/AtmelSAM7S64/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/AtmelSAM9XE/ISR_Support.h b/portable/IAR/AtmelSAM9XE/ISR_Support.h index e22768d7d..ac73c7816 100644 --- a/portable/IAR/AtmelSAM9XE/ISR_Support.h +++ b/portable/IAR/AtmelSAM9XE/ISR_Support.h @@ -1,6 +1,6 @@ ; /* * ; * FreeRTOS Kernel - * ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * ; * * ; * SPDX-License-Identifier: MIT * ; * diff --git a/portable/IAR/AtmelSAM9XE/port.c b/portable/IAR/AtmelSAM9XE/port.c index 20c59b71f..f2bd893fc 100644 --- a/portable/IAR/AtmelSAM9XE/port.c +++ b/portable/IAR/AtmelSAM9XE/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/AtmelSAM9XE/portasm.s79 b/portable/IAR/AtmelSAM9XE/portasm.s79 index d3434ecca..37241da9c 100644 --- a/portable/IAR/AtmelSAM9XE/portasm.s79 +++ b/portable/IAR/AtmelSAM9XE/portasm.s79 @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/AtmelSAM9XE/portmacro.h b/portable/IAR/AtmelSAM9XE/portmacro.h index 6a234933e..68e54c8d3 100644 --- a/portable/IAR/AtmelSAM9XE/portmacro.h +++ b/portable/IAR/AtmelSAM9XE/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/LPC2000/ISR_Support.h b/portable/IAR/LPC2000/ISR_Support.h index d63e908b9..273e95141 100644 --- a/portable/IAR/LPC2000/ISR_Support.h +++ b/portable/IAR/LPC2000/ISR_Support.h @@ -1,6 +1,6 @@ ; /* * ; * FreeRTOS Kernel - * ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * ; * * ; * SPDX-License-Identifier: MIT * ; * diff --git a/portable/IAR/LPC2000/port.c b/portable/IAR/LPC2000/port.c index a8cf766ab..69d711d3b 100644 --- a/portable/IAR/LPC2000/port.c +++ b/portable/IAR/LPC2000/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/LPC2000/portasm.s79 b/portable/IAR/LPC2000/portasm.s79 index eb1793315..2bd1ccc06 100644 --- a/portable/IAR/LPC2000/portasm.s79 +++ b/portable/IAR/LPC2000/portasm.s79 @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/LPC2000/portmacro.h b/portable/IAR/LPC2000/portmacro.h index 40231e408..b44d307f3 100644 --- a/portable/IAR/LPC2000/portmacro.h +++ b/portable/IAR/LPC2000/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/MSP430/port.c b/portable/IAR/MSP430/port.c index 845943c7f..070f64bf0 100644 --- a/portable/IAR/MSP430/port.c +++ b/portable/IAR/MSP430/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/MSP430/portasm.h b/portable/IAR/MSP430/portasm.h index 6b6f0563d..0d8115034 100644 --- a/portable/IAR/MSP430/portasm.h +++ b/portable/IAR/MSP430/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/MSP430/portext.s43 b/portable/IAR/MSP430/portext.s43 index 5360a9700..bfe6a190f 100644 --- a/portable/IAR/MSP430/portext.s43 +++ b/portable/IAR/MSP430/portext.s43 @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/MSP430/portmacro.h b/portable/IAR/MSP430/portmacro.h index 51b8aad1e..f87bfe589 100644 --- a/portable/IAR/MSP430/portmacro.h +++ b/portable/IAR/MSP430/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/MSP430X/data_model.h b/portable/IAR/MSP430X/data_model.h index 97931f3b5..0d5dcbdd4 100644 --- a/portable/IAR/MSP430X/data_model.h +++ b/portable/IAR/MSP430X/data_model.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/MSP430X/port.c b/portable/IAR/MSP430X/port.c index 920f0796f..a6f81580b 100644 --- a/portable/IAR/MSP430X/port.c +++ b/portable/IAR/MSP430X/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/MSP430X/portext.s43 b/portable/IAR/MSP430X/portext.s43 index cc2f592a3..ccfd084c2 100644 --- a/portable/IAR/MSP430X/portext.s43 +++ b/portable/IAR/MSP430X/portext.s43 @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/MSP430X/portmacro.h b/portable/IAR/MSP430X/portmacro.h index bac91e8a4..e426154e8 100644 --- a/portable/IAR/MSP430X/portmacro.h +++ b/portable/IAR/MSP430X/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RISC-V/chip_specific_extensions/RV32I_CLINT_no_extensions/freertos_risc_v_chip_specific_extensions.h b/portable/IAR/RISC-V/chip_specific_extensions/RV32I_CLINT_no_extensions/freertos_risc_v_chip_specific_extensions.h index 01100f0a9..364fd5773 100644 --- a/portable/IAR/RISC-V/chip_specific_extensions/RV32I_CLINT_no_extensions/freertos_risc_v_chip_specific_extensions.h +++ b/portable/IAR/RISC-V/chip_specific_extensions/RV32I_CLINT_no_extensions/freertos_risc_v_chip_specific_extensions.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RISC-V/port.c b/portable/IAR/RISC-V/port.c index ce0cbdf2f..eec69439f 100644 --- a/portable/IAR/RISC-V/port.c +++ b/portable/IAR/RISC-V/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RISC-V/portASM.s b/portable/IAR/RISC-V/portASM.s index 005b0eb90..f32d9e7ac 100644 --- a/portable/IAR/RISC-V/portASM.s +++ b/portable/IAR/RISC-V/portASM.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RISC-V/portContext.h b/portable/IAR/RISC-V/portContext.h index 35bca7fe5..7b3244e7b 100644 --- a/portable/IAR/RISC-V/portContext.h +++ b/portable/IAR/RISC-V/portContext.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RISC-V/portmacro.h b/portable/IAR/RISC-V/portmacro.h index 9a9141c58..c7237b363 100644 --- a/portable/IAR/RISC-V/portmacro.h +++ b/portable/IAR/RISC-V/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RL78/port.c b/portable/IAR/RL78/port.c index 55baa43e7..446cdfae5 100644 --- a/portable/IAR/RL78/port.c +++ b/portable/IAR/RL78/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RL78/portasm.s b/portable/IAR/RL78/portasm.s index f328d1bec..7067cb1e4 100644 --- a/portable/IAR/RL78/portasm.s +++ b/portable/IAR/RL78/portasm.s @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/RL78/portmacro.h b/portable/IAR/RL78/portmacro.h index 4bf61e88f..a52a6d273 100644 --- a/portable/IAR/RL78/portmacro.h +++ b/portable/IAR/RL78/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RX100/port.c b/portable/IAR/RX100/port.c index 27e5d4b75..b63b23b48 100644 --- a/portable/IAR/RX100/port.c +++ b/portable/IAR/RX100/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RX100/port_asm.s b/portable/IAR/RX100/port_asm.s index 224f4484a..5eb90f7d1 100644 --- a/portable/IAR/RX100/port_asm.s +++ b/portable/IAR/RX100/port_asm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RX100/portmacro.h b/portable/IAR/RX100/portmacro.h index 2ea18f97a..f6dd43865 100644 --- a/portable/IAR/RX100/portmacro.h +++ b/portable/IAR/RX100/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RX600/port.c b/portable/IAR/RX600/port.c index f59725bbd..73ff96cff 100644 --- a/portable/IAR/RX600/port.c +++ b/portable/IAR/RX600/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RX600/port_asm.s b/portable/IAR/RX600/port_asm.s index d6584264b..29698534d 100644 --- a/portable/IAR/RX600/port_asm.s +++ b/portable/IAR/RX600/port_asm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RX600/portmacro.h b/portable/IAR/RX600/portmacro.h index 0a3659c92..b40242185 100644 --- a/portable/IAR/RX600/portmacro.h +++ b/portable/IAR/RX600/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RX700v3_DPFPU/port.c b/portable/IAR/RX700v3_DPFPU/port.c index 2a902f28e..d05835975 100644 --- a/portable/IAR/RX700v3_DPFPU/port.c +++ b/portable/IAR/RX700v3_DPFPU/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RX700v3_DPFPU/portmacro.h b/portable/IAR/RX700v3_DPFPU/portmacro.h index 2819f62e5..a3b15f75c 100644 --- a/portable/IAR/RX700v3_DPFPU/portmacro.h +++ b/portable/IAR/RX700v3_DPFPU/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RXv2/port.c b/portable/IAR/RXv2/port.c index 2c87ba5af..af21ae57a 100644 --- a/portable/IAR/RXv2/port.c +++ b/portable/IAR/RXv2/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RXv2/port_asm.s b/portable/IAR/RXv2/port_asm.s index 6fe6c1d18..cbebcf31d 100644 --- a/portable/IAR/RXv2/port_asm.s +++ b/portable/IAR/RXv2/port_asm.s @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/RXv2/portmacro.h b/portable/IAR/RXv2/portmacro.h index 512a6e594..67295fd22 100644 --- a/portable/IAR/RXv2/portmacro.h +++ b/portable/IAR/RXv2/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/STR71x/ISR_Support.h b/portable/IAR/STR71x/ISR_Support.h index d63e908b9..273e95141 100644 --- a/portable/IAR/STR71x/ISR_Support.h +++ b/portable/IAR/STR71x/ISR_Support.h @@ -1,6 +1,6 @@ ; /* * ; * FreeRTOS Kernel - * ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * ; * * ; * SPDX-License-Identifier: MIT * ; * diff --git a/portable/IAR/STR71x/port.c b/portable/IAR/STR71x/port.c index bed6278c8..8f0e78c0d 100644 --- a/portable/IAR/STR71x/port.c +++ b/portable/IAR/STR71x/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/STR71x/portasm.s79 b/portable/IAR/STR71x/portasm.s79 index 88acc6823..87166f691 100644 --- a/portable/IAR/STR71x/portasm.s79 +++ b/portable/IAR/STR71x/portasm.s79 @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/STR71x/portmacro.h b/portable/IAR/STR71x/portmacro.h index 7f5096c9d..e05c380ab 100644 --- a/portable/IAR/STR71x/portmacro.h +++ b/portable/IAR/STR71x/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/STR75x/ISR_Support.h b/portable/IAR/STR75x/ISR_Support.h index d63e908b9..273e95141 100644 --- a/portable/IAR/STR75x/ISR_Support.h +++ b/portable/IAR/STR75x/ISR_Support.h @@ -1,6 +1,6 @@ ; /* * ; * FreeRTOS Kernel - * ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * ; * * ; * SPDX-License-Identifier: MIT * ; * diff --git a/portable/IAR/STR75x/port.c b/portable/IAR/STR75x/port.c index 756ba06f3..b4ec381a5 100644 --- a/portable/IAR/STR75x/port.c +++ b/portable/IAR/STR75x/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/STR75x/portasm.s79 b/portable/IAR/STR75x/portasm.s79 index 9427da1d9..ad2aa1b5e 100644 --- a/portable/IAR/STR75x/portasm.s79 +++ b/portable/IAR/STR75x/portasm.s79 @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/STR75x/portmacro.h b/portable/IAR/STR75x/portmacro.h index 8be4a1a44..1d5cdabbe 100644 --- a/portable/IAR/STR75x/portmacro.h +++ b/portable/IAR/STR75x/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/STR91x/ISR_Support.h b/portable/IAR/STR91x/ISR_Support.h index c206a495b..2e6973757 100644 --- a/portable/IAR/STR91x/ISR_Support.h +++ b/portable/IAR/STR91x/ISR_Support.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/STR91x/port.c b/portable/IAR/STR91x/port.c index 8dd208016..f706c946e 100644 --- a/portable/IAR/STR91x/port.c +++ b/portable/IAR/STR91x/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/STR91x/portasm.s79 b/portable/IAR/STR91x/portasm.s79 index 575c35fb3..9b91475c7 100644 --- a/portable/IAR/STR91x/portasm.s79 +++ b/portable/IAR/STR91x/portasm.s79 @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/STR91x/portmacro.h b/portable/IAR/STR91x/portmacro.h index 853b80139..fde5b6dcb 100644 --- a/portable/IAR/STR91x/portmacro.h +++ b/portable/IAR/STR91x/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/V850ES/ISR_Support.h b/portable/IAR/V850ES/ISR_Support.h index 3f04591f4..b99126d0f 100644 --- a/portable/IAR/V850ES/ISR_Support.h +++ b/portable/IAR/V850ES/ISR_Support.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/V850ES/port.c b/portable/IAR/V850ES/port.c index 17c17b66a..d1d9d6a7d 100644 --- a/portable/IAR/V850ES/port.c +++ b/portable/IAR/V850ES/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/IAR/V850ES/portasm.s85 b/portable/IAR/V850ES/portasm.s85 index 6f795acbd..b01753667 100644 --- a/portable/IAR/V850ES/portasm.s85 +++ b/portable/IAR/V850ES/portasm.s85 @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/V850ES/portasm_Fx3.s85 b/portable/IAR/V850ES/portasm_Fx3.s85 index 412077a63..12262b3af 100644 --- a/portable/IAR/V850ES/portasm_Fx3.s85 +++ b/portable/IAR/V850ES/portasm_Fx3.s85 @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/V850ES/portasm_Hx2.s85 b/portable/IAR/V850ES/portasm_Hx2.s85 index 373431f84..03c2e38ae 100644 --- a/portable/IAR/V850ES/portasm_Hx2.s85 +++ b/portable/IAR/V850ES/portasm_Hx2.s85 @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/IAR/V850ES/portmacro.h b/portable/IAR/V850ES/portmacro.h index fa9f87eff..0f066a0fc 100644 --- a/portable/IAR/V850ES/portmacro.h +++ b/portable/IAR/V850ES/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC18F/port.c b/portable/MPLAB/PIC18F/port.c index a26d97116..bb8451581 100644 --- a/portable/MPLAB/PIC18F/port.c +++ b/portable/MPLAB/PIC18F/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC18F/portmacro.h b/portable/MPLAB/PIC18F/portmacro.h index 80e83ed9e..a0bfb44b5 100644 --- a/portable/MPLAB/PIC18F/portmacro.h +++ b/portable/MPLAB/PIC18F/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC24_dsPIC/port.c b/portable/MPLAB/PIC24_dsPIC/port.c index 6f23fe8a2..0299ec0ee 100644 --- a/portable/MPLAB/PIC24_dsPIC/port.c +++ b/portable/MPLAB/PIC24_dsPIC/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC24_dsPIC/portasm_PIC24.S b/portable/MPLAB/PIC24_dsPIC/portasm_PIC24.S index 0019d9b45..e2a7d6267 100644 --- a/portable/MPLAB/PIC24_dsPIC/portasm_PIC24.S +++ b/portable/MPLAB/PIC24_dsPIC/portasm_PIC24.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC24_dsPIC/portasm_dsPIC.S b/portable/MPLAB/PIC24_dsPIC/portasm_dsPIC.S index ea46426f4..ec1f070a4 100644 --- a/portable/MPLAB/PIC24_dsPIC/portasm_dsPIC.S +++ b/portable/MPLAB/PIC24_dsPIC/portasm_dsPIC.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC24_dsPIC/portmacro.h b/portable/MPLAB/PIC24_dsPIC/portmacro.h index f01ee9c9b..fbac471d5 100644 --- a/portable/MPLAB/PIC24_dsPIC/portmacro.h +++ b/portable/MPLAB/PIC24_dsPIC/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC32MEC14xx/ISR_Support.h b/portable/MPLAB/PIC32MEC14xx/ISR_Support.h index d2fa5bb4d..ce7c4ad63 100644 --- a/portable/MPLAB/PIC32MEC14xx/ISR_Support.h +++ b/portable/MPLAB/PIC32MEC14xx/ISR_Support.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC32MEC14xx/port.c b/portable/MPLAB/PIC32MEC14xx/port.c index ebe9bdb7c..1f0d9cc03 100644 --- a/portable/MPLAB/PIC32MEC14xx/port.c +++ b/portable/MPLAB/PIC32MEC14xx/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC32MEC14xx/port_asm.S b/portable/MPLAB/PIC32MEC14xx/port_asm.S index cb5aff269..b2c37f2db 100644 --- a/portable/MPLAB/PIC32MEC14xx/port_asm.S +++ b/portable/MPLAB/PIC32MEC14xx/port_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC32MEC14xx/portmacro.h b/portable/MPLAB/PIC32MEC14xx/portmacro.h index d4d4f50dc..665634659 100644 --- a/portable/MPLAB/PIC32MEC14xx/portmacro.h +++ b/portable/MPLAB/PIC32MEC14xx/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC32MX/ISR_Support.h b/portable/MPLAB/PIC32MX/ISR_Support.h index d594c7cc7..0bff08fe1 100644 --- a/portable/MPLAB/PIC32MX/ISR_Support.h +++ b/portable/MPLAB/PIC32MX/ISR_Support.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC32MX/port.c b/portable/MPLAB/PIC32MX/port.c index 9f9140763..582a600a3 100644 --- a/portable/MPLAB/PIC32MX/port.c +++ b/portable/MPLAB/PIC32MX/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC32MX/port_asm.S b/portable/MPLAB/PIC32MX/port_asm.S index bc1448dee..4e00324eb 100644 --- a/portable/MPLAB/PIC32MX/port_asm.S +++ b/portable/MPLAB/PIC32MX/port_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC32MX/portmacro.h b/portable/MPLAB/PIC32MX/portmacro.h index b481165e6..7fa73ab98 100644 --- a/portable/MPLAB/PIC32MX/portmacro.h +++ b/portable/MPLAB/PIC32MX/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC32MZ/ISR_Support.h b/portable/MPLAB/PIC32MZ/ISR_Support.h index a9ddee0f4..292877f42 100644 --- a/portable/MPLAB/PIC32MZ/ISR_Support.h +++ b/portable/MPLAB/PIC32MZ/ISR_Support.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC32MZ/port.c b/portable/MPLAB/PIC32MZ/port.c index b8b5708fe..034fc26d1 100644 --- a/portable/MPLAB/PIC32MZ/port.c +++ b/portable/MPLAB/PIC32MZ/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC32MZ/port_asm.S b/portable/MPLAB/PIC32MZ/port_asm.S index 4e7f639c4..78cb14165 100644 --- a/portable/MPLAB/PIC32MZ/port_asm.S +++ b/portable/MPLAB/PIC32MZ/port_asm.S @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MPLAB/PIC32MZ/portmacro.h b/portable/MPLAB/PIC32MZ/portmacro.h index e6a3f5508..532a0fdac 100644 --- a/portable/MPLAB/PIC32MZ/portmacro.h +++ b/portable/MPLAB/PIC32MZ/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MSVC-MingW/port.c b/portable/MSVC-MingW/port.c index 0a0fba6a3..b0c26bdac 100644 --- a/portable/MSVC-MingW/port.c +++ b/portable/MSVC-MingW/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MSVC-MingW/portmacro.h b/portable/MSVC-MingW/portmacro.h index 9e64b7343..a10ac6586 100644 --- a/portable/MSVC-MingW/portmacro.h +++ b/portable/MSVC-MingW/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MemMang/heap_1.c b/portable/MemMang/heap_1.c index 93538362f..68f14bd37 100644 --- a/portable/MemMang/heap_1.c +++ b/portable/MemMang/heap_1.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MemMang/heap_2.c b/portable/MemMang/heap_2.c index 6f77f0869..c1b35b911 100644 --- a/portable/MemMang/heap_2.c +++ b/portable/MemMang/heap_2.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MemMang/heap_3.c b/portable/MemMang/heap_3.c index 2240068e8..5094390b5 100644 --- a/portable/MemMang/heap_3.c +++ b/portable/MemMang/heap_3.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MemMang/heap_4.c b/portable/MemMang/heap_4.c index ea1e422da..71b6a9421 100644 --- a/portable/MemMang/heap_4.c +++ b/portable/MemMang/heap_4.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MemMang/heap_5.c b/portable/MemMang/heap_5.c index 4e1437393..bb33bcfad 100644 --- a/portable/MemMang/heap_5.c +++ b/portable/MemMang/heap_5.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MikroC/ARM_CM4F/port.c b/portable/MikroC/ARM_CM4F/port.c index eeeb6b70b..dd5f35361 100644 --- a/portable/MikroC/ARM_CM4F/port.c +++ b/portable/MikroC/ARM_CM4F/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/MikroC/ARM_CM4F/portmacro.h b/portable/MikroC/ARM_CM4F/portmacro.h index 3d00da05a..15e4d5614 100644 --- a/portable/MikroC/ARM_CM4F/portmacro.h +++ b/portable/MikroC/ARM_CM4F/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Paradigm/Tern_EE/large_untested/port.c b/portable/Paradigm/Tern_EE/large_untested/port.c index 4ecffe01a..443104885 100644 --- a/portable/Paradigm/Tern_EE/large_untested/port.c +++ b/portable/Paradigm/Tern_EE/large_untested/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Paradigm/Tern_EE/large_untested/portasm.h b/portable/Paradigm/Tern_EE/large_untested/portasm.h index c3c7456a3..cf9e711c8 100644 --- a/portable/Paradigm/Tern_EE/large_untested/portasm.h +++ b/portable/Paradigm/Tern_EE/large_untested/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Paradigm/Tern_EE/large_untested/portmacro.h b/portable/Paradigm/Tern_EE/large_untested/portmacro.h index 292c9e260..1ea0c3176 100644 --- a/portable/Paradigm/Tern_EE/large_untested/portmacro.h +++ b/portable/Paradigm/Tern_EE/large_untested/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Paradigm/Tern_EE/small/port.c b/portable/Paradigm/Tern_EE/small/port.c index 2a1c0d962..75273f225 100644 --- a/portable/Paradigm/Tern_EE/small/port.c +++ b/portable/Paradigm/Tern_EE/small/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Paradigm/Tern_EE/small/portasm.h b/portable/Paradigm/Tern_EE/small/portasm.h index 930da20b0..88ef3ba99 100644 --- a/portable/Paradigm/Tern_EE/small/portasm.h +++ b/portable/Paradigm/Tern_EE/small/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Paradigm/Tern_EE/small/portmacro.h b/portable/Paradigm/Tern_EE/small/portmacro.h index ff0b34b20..0ab083838 100644 --- a/portable/Paradigm/Tern_EE/small/portmacro.h +++ b/portable/Paradigm/Tern_EE/small/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM7_LPC21xx/port.c b/portable/RVDS/ARM7_LPC21xx/port.c index 2d890e19d..5476af8c9 100644 --- a/portable/RVDS/ARM7_LPC21xx/port.c +++ b/portable/RVDS/ARM7_LPC21xx/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM7_LPC21xx/portASM.s b/portable/RVDS/ARM7_LPC21xx/portASM.s index 4398ca128..c47a9a641 100644 --- a/portable/RVDS/ARM7_LPC21xx/portASM.s +++ b/portable/RVDS/ARM7_LPC21xx/portASM.s @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/RVDS/ARM7_LPC21xx/portmacro.h b/portable/RVDS/ARM7_LPC21xx/portmacro.h index be0628b77..5535dcfef 100644 --- a/portable/RVDS/ARM7_LPC21xx/portmacro.h +++ b/portable/RVDS/ARM7_LPC21xx/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM7_LPC21xx/portmacro.inc b/portable/RVDS/ARM7_LPC21xx/portmacro.inc index 62b1a8731..ef84d1adf 100644 --- a/portable/RVDS/ARM7_LPC21xx/portmacro.inc +++ b/portable/RVDS/ARM7_LPC21xx/portmacro.inc @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/RVDS/ARM_CA9/port.c b/portable/RVDS/ARM_CA9/port.c index d3870b8ed..88979f42a 100644 --- a/portable/RVDS/ARM_CA9/port.c +++ b/portable/RVDS/ARM_CA9/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM_CA9/portASM.s b/portable/RVDS/ARM_CA9/portASM.s index a5ac2fc0b..f099ef2aa 100644 --- a/portable/RVDS/ARM_CA9/portASM.s +++ b/portable/RVDS/ARM_CA9/portASM.s @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/RVDS/ARM_CA9/portmacro.h b/portable/RVDS/ARM_CA9/portmacro.h index fbe3472da..8a69d4677 100644 --- a/portable/RVDS/ARM_CA9/portmacro.h +++ b/portable/RVDS/ARM_CA9/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM_CA9/portmacro.inc b/portable/RVDS/ARM_CA9/portmacro.inc index 93b8d8db6..68a73945f 100644 --- a/portable/RVDS/ARM_CA9/portmacro.inc +++ b/portable/RVDS/ARM_CA9/portmacro.inc @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/RVDS/ARM_CM0/port.c b/portable/RVDS/ARM_CM0/port.c index 96947d215..ececb715a 100644 --- a/portable/RVDS/ARM_CM0/port.c +++ b/portable/RVDS/ARM_CM0/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM_CM0/portmacro.h b/portable/RVDS/ARM_CM0/portmacro.h index 1b5821a71..785138722 100644 --- a/portable/RVDS/ARM_CM0/portmacro.h +++ b/portable/RVDS/ARM_CM0/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM_CM3/port.c b/portable/RVDS/ARM_CM3/port.c index 9a6af5acc..b75f00f29 100644 --- a/portable/RVDS/ARM_CM3/port.c +++ b/portable/RVDS/ARM_CM3/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM_CM3/portmacro.h b/portable/RVDS/ARM_CM3/portmacro.h index 4b8fbdb99..f69f4c303 100644 --- a/portable/RVDS/ARM_CM3/portmacro.h +++ b/portable/RVDS/ARM_CM3/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM_CM4F/port.c b/portable/RVDS/ARM_CM4F/port.c index c6d825b82..dfbbf4e4d 100644 --- a/portable/RVDS/ARM_CM4F/port.c +++ b/portable/RVDS/ARM_CM4F/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM_CM4F/portmacro.h b/portable/RVDS/ARM_CM4F/portmacro.h index 03ea9e95a..9957328d0 100644 --- a/portable/RVDS/ARM_CM4F/portmacro.h +++ b/portable/RVDS/ARM_CM4F/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c b/portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c index d65876356..fb04f194d 100644 --- a/portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c +++ b/portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM_CM4_MPU/port.c b/portable/RVDS/ARM_CM4_MPU/port.c index 016521cf2..af4bf5e33 100644 --- a/portable/RVDS/ARM_CM4_MPU/port.c +++ b/portable/RVDS/ARM_CM4_MPU/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM_CM4_MPU/portmacro.h b/portable/RVDS/ARM_CM4_MPU/portmacro.h index 455aa84cd..1faeffd27 100644 --- a/portable/RVDS/ARM_CM4_MPU/portmacro.h +++ b/portable/RVDS/ARM_CM4_MPU/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM_CM7/r0p1/port.c b/portable/RVDS/ARM_CM7/r0p1/port.c index 49310786c..464ac2e81 100644 --- a/portable/RVDS/ARM_CM7/r0p1/port.c +++ b/portable/RVDS/ARM_CM7/r0p1/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/RVDS/ARM_CM7/r0p1/portmacro.h b/portable/RVDS/ARM_CM7/r0p1/portmacro.h index 2fcf53dfa..5f3a05397 100644 --- a/portable/RVDS/ARM_CM7/r0p1/portmacro.h +++ b/portable/RVDS/ARM_CM7/r0p1/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Renesas/RX100/port.c b/portable/Renesas/RX100/port.c index 9e8db4f04..a22da66cf 100644 --- a/portable/Renesas/RX100/port.c +++ b/portable/Renesas/RX100/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Renesas/RX100/port_asm.src b/portable/Renesas/RX100/port_asm.src index b3e60a416..afe0aba5b 100644 --- a/portable/Renesas/RX100/port_asm.src +++ b/portable/Renesas/RX100/port_asm.src @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/Renesas/RX100/portmacro.h b/portable/Renesas/RX100/portmacro.h index a954bb71c..a38b93f4a 100644 --- a/portable/Renesas/RX100/portmacro.h +++ b/portable/Renesas/RX100/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Renesas/RX200/port.c b/portable/Renesas/RX200/port.c index d60ac8fff..fe05cf750 100644 --- a/portable/Renesas/RX200/port.c +++ b/portable/Renesas/RX200/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Renesas/RX200/port_asm.src b/portable/Renesas/RX200/port_asm.src index b3e60a416..afe0aba5b 100644 --- a/portable/Renesas/RX200/port_asm.src +++ b/portable/Renesas/RX200/port_asm.src @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/Renesas/RX200/portmacro.h b/portable/Renesas/RX200/portmacro.h index efb9d93c8..d67acc4bb 100644 --- a/portable/Renesas/RX200/portmacro.h +++ b/portable/Renesas/RX200/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Renesas/RX600/port.c b/portable/Renesas/RX600/port.c index 5438f5764..95431adce 100644 --- a/portable/Renesas/RX600/port.c +++ b/portable/Renesas/RX600/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Renesas/RX600/port_asm.src b/portable/Renesas/RX600/port_asm.src index b3e60a416..afe0aba5b 100644 --- a/portable/Renesas/RX600/port_asm.src +++ b/portable/Renesas/RX600/port_asm.src @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/Renesas/RX600/portmacro.h b/portable/Renesas/RX600/portmacro.h index 5ba1c067b..98a7fede4 100644 --- a/portable/Renesas/RX600/portmacro.h +++ b/portable/Renesas/RX600/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Renesas/RX600v2/port.c b/portable/Renesas/RX600v2/port.c index ee7da87e6..bae8fd623 100644 --- a/portable/Renesas/RX600v2/port.c +++ b/portable/Renesas/RX600v2/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Renesas/RX600v2/port_asm.src b/portable/Renesas/RX600v2/port_asm.src index 6fdcef60d..8d5200b6c 100644 --- a/portable/Renesas/RX600v2/port_asm.src +++ b/portable/Renesas/RX600v2/port_asm.src @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/Renesas/RX600v2/portmacro.h b/portable/Renesas/RX600v2/portmacro.h index 630a34eee..b3868c157 100644 --- a/portable/Renesas/RX600v2/portmacro.h +++ b/portable/Renesas/RX600v2/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Renesas/RX700v3_DPFPU/port.c b/portable/Renesas/RX700v3_DPFPU/port.c index 26cb9f020..6fec50425 100644 --- a/portable/Renesas/RX700v3_DPFPU/port.c +++ b/portable/Renesas/RX700v3_DPFPU/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Renesas/RX700v3_DPFPU/port_asm.src b/portable/Renesas/RX700v3_DPFPU/port_asm.src index 6fdcef60d..8d5200b6c 100644 --- a/portable/Renesas/RX700v3_DPFPU/port_asm.src +++ b/portable/Renesas/RX700v3_DPFPU/port_asm.src @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/Renesas/RX700v3_DPFPU/portmacro.h b/portable/Renesas/RX700v3_DPFPU/portmacro.h index 891024a22..fc1bb531b 100644 --- a/portable/Renesas/RX700v3_DPFPU/portmacro.h +++ b/portable/Renesas/RX700v3_DPFPU/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Renesas/SH2A_FPU/ISR_Support.inc b/portable/Renesas/SH2A_FPU/ISR_Support.inc index 3128c526e..33ad2de68 100644 --- a/portable/Renesas/SH2A_FPU/ISR_Support.inc +++ b/portable/Renesas/SH2A_FPU/ISR_Support.inc @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/Renesas/SH2A_FPU/port.c b/portable/Renesas/SH2A_FPU/port.c index b5e97e9b1..c14a0a851 100644 --- a/portable/Renesas/SH2A_FPU/port.c +++ b/portable/Renesas/SH2A_FPU/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Renesas/SH2A_FPU/portasm.src b/portable/Renesas/SH2A_FPU/portasm.src index 6164f7644..4cf7225aa 100644 --- a/portable/Renesas/SH2A_FPU/portasm.src +++ b/portable/Renesas/SH2A_FPU/portasm.src @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/Renesas/SH2A_FPU/portmacro.h b/portable/Renesas/SH2A_FPU/portmacro.h index e4143e608..2229fd3f6 100644 --- a/portable/Renesas/SH2A_FPU/portmacro.h +++ b/portable/Renesas/SH2A_FPU/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Rowley/MSP430F449/port.c b/portable/Rowley/MSP430F449/port.c index 992e3e763..392dadbdd 100644 --- a/portable/Rowley/MSP430F449/port.c +++ b/portable/Rowley/MSP430F449/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Rowley/MSP430F449/portasm.h b/portable/Rowley/MSP430F449/portasm.h index 96c27cdac..18361cce3 100644 --- a/portable/Rowley/MSP430F449/portasm.h +++ b/portable/Rowley/MSP430F449/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Rowley/MSP430F449/portext.asm b/portable/Rowley/MSP430F449/portext.asm index f66214134..80cdcef81 100644 --- a/portable/Rowley/MSP430F449/portext.asm +++ b/portable/Rowley/MSP430F449/portext.asm @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Rowley/MSP430F449/portmacro.h b/portable/Rowley/MSP430F449/portmacro.h index 7137a6e09..38304fb03 100644 --- a/portable/Rowley/MSP430F449/portmacro.h +++ b/portable/Rowley/MSP430F449/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/SDCC/Cygnal/port.c b/portable/SDCC/Cygnal/port.c index 8bf739eb7..418a50430 100644 --- a/portable/SDCC/Cygnal/port.c +++ b/portable/SDCC/Cygnal/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/SDCC/Cygnal/portmacro.h b/portable/SDCC/Cygnal/portmacro.h index 04186381f..fe0340757 100644 --- a/portable/SDCC/Cygnal/portmacro.h +++ b/portable/SDCC/Cygnal/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Softune/MB91460/__STD_LIB_sbrk.c b/portable/Softune/MB91460/__STD_LIB_sbrk.c index d328a65fc..4f986e804 100644 --- a/portable/Softune/MB91460/__STD_LIB_sbrk.c +++ b/portable/Softune/MB91460/__STD_LIB_sbrk.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Softune/MB91460/port.c b/portable/Softune/MB91460/port.c index 08e197b06..4b87ba402 100644 --- a/portable/Softune/MB91460/port.c +++ b/portable/Softune/MB91460/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Softune/MB91460/portmacro.h b/portable/Softune/MB91460/portmacro.h index 9ae6959c4..182a3057e 100644 --- a/portable/Softune/MB91460/portmacro.h +++ b/portable/Softune/MB91460/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Softune/MB96340/__STD_LIB_sbrk.c b/portable/Softune/MB96340/__STD_LIB_sbrk.c index d328a65fc..4f986e804 100644 --- a/portable/Softune/MB96340/__STD_LIB_sbrk.c +++ b/portable/Softune/MB96340/__STD_LIB_sbrk.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Softune/MB96340/port.c b/portable/Softune/MB96340/port.c index aef0d65a9..ec0d977bc 100644 --- a/portable/Softune/MB96340/port.c +++ b/portable/Softune/MB96340/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Softune/MB96340/portmacro.h b/portable/Softune/MB96340/portmacro.h index 827874fde..ef4a1eb5a 100644 --- a/portable/Softune/MB96340/portmacro.h +++ b/portable/Softune/MB96340/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Tasking/ARM_CM4F/port.c b/portable/Tasking/ARM_CM4F/port.c index df79a9ac0..43a892f1e 100644 --- a/portable/Tasking/ARM_CM4F/port.c +++ b/portable/Tasking/ARM_CM4F/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/Tasking/ARM_CM4F/port_asm.asm b/portable/Tasking/ARM_CM4F/port_asm.asm index 5a65fb756..8b6784e70 100644 --- a/portable/Tasking/ARM_CM4F/port_asm.asm +++ b/portable/Tasking/ARM_CM4F/port_asm.asm @@ -1,6 +1,6 @@ ;/* ; * FreeRTOS Kernel -; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. ; * ; * SPDX-License-Identifier: MIT ; * diff --git a/portable/Tasking/ARM_CM4F/portmacro.h b/portable/Tasking/ARM_CM4F/portmacro.h index 243e6856b..3d16cd6da 100644 --- a/portable/Tasking/ARM_CM4F/portmacro.h +++ b/portable/Tasking/ARM_CM4F/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/GCC/ATmega/port.c b/portable/ThirdParty/GCC/ATmega/port.c index 80308f2fa..168bcdd94 100644 --- a/portable/ThirdParty/GCC/ATmega/port.c +++ b/portable/ThirdParty/GCC/ATmega/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/GCC/ATmega/portmacro.h b/portable/ThirdParty/GCC/ATmega/portmacro.h index 9d34c0776..0cc583479 100644 --- a/portable/ThirdParty/GCC/ATmega/portmacro.h +++ b/portable/ThirdParty/GCC/ATmega/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/GCC/Posix/utils/wait_for_event.c b/portable/ThirdParty/GCC/Posix/utils/wait_for_event.c index ead6cdb07..beca2b360 100644 --- a/portable/ThirdParty/GCC/Posix/utils/wait_for_event.c +++ b/portable/ThirdParty/GCC/Posix/utils/wait_for_event.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/GCC/Posix/utils/wait_for_event.h b/portable/ThirdParty/GCC/Posix/utils/wait_for_event.h index 6f6efa3ea..533db04f1 100644 --- a/portable/ThirdParty/GCC/Posix/utils/wait_for_event.h +++ b/portable/ThirdParty/GCC/Posix/utils/wait_for_event.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/GCC/RP2040/include/freertos_sdk_config.h b/portable/ThirdParty/GCC/RP2040/include/freertos_sdk_config.h index 8d0676d95..71ca3277e 100644 --- a/portable/ThirdParty/GCC/RP2040/include/freertos_sdk_config.h +++ b/portable/ThirdParty/GCC/RP2040/include/freertos_sdk_config.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * Copyright (c) 2021 Raspberry Pi (Trading) Ltd. * * SPDX-License-Identifier: BSD-3-Clause diff --git a/portable/ThirdParty/GCC/RP2040/include/portmacro.h b/portable/ThirdParty/GCC/RP2040/include/portmacro.h index c9173fdea..1fe5e412f 100644 --- a/portable/ThirdParty/GCC/RP2040/include/portmacro.h +++ b/portable/ThirdParty/GCC/RP2040/include/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * Copyright (c) 2021 Raspberry Pi (Trading) Ltd. * * SPDX-License-Identifier: MIT AND BSD-3-Clause diff --git a/portable/ThirdParty/GCC/RP2040/include/rp2040_config.h b/portable/ThirdParty/GCC/RP2040/include/rp2040_config.h index 9fbbd15be..b2159a94e 100644 --- a/portable/ThirdParty/GCC/RP2040/include/rp2040_config.h +++ b/portable/ThirdParty/GCC/RP2040/include/rp2040_config.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * Copyright (c) 2021 Raspberry Pi (Trading) Ltd. * * SPDX-License-Identifier: MIT AND BSD-3-Clause diff --git a/portable/ThirdParty/GCC/RP2040/port.c b/portable/ThirdParty/GCC/RP2040/port.c index dda46f6f6..6c5d0e513 100644 --- a/portable/ThirdParty/GCC/RP2040/port.c +++ b/portable/ThirdParty/GCC/RP2040/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * Copyright (c) 2021 Raspberry Pi (Trading) Ltd. * * SPDX-License-Identifier: MIT AND BSD-3-Clause diff --git a/portable/ThirdParty/GCC/Xtensa_ESP32/include/FreeRTOSConfig_arch.h b/portable/ThirdParty/GCC/Xtensa_ESP32/include/FreeRTOSConfig_arch.h index f9c9630da..fa942add3 100644 --- a/portable/ThirdParty/GCC/Xtensa_ESP32/include/FreeRTOSConfig_arch.h +++ b/portable/ThirdParty/GCC/Xtensa_ESP32/include/FreeRTOSConfig_arch.h @@ -8,7 +8,7 @@ /* * FreeRTOS Kernel - * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in diff --git a/portable/ThirdParty/GCC/Xtensa_ESP32/include/portmacro.h b/portable/ThirdParty/GCC/Xtensa_ESP32/include/portmacro.h index e5e84efbc..2f3fe55e0 100644 --- a/portable/ThirdParty/GCC/Xtensa_ESP32/include/portmacro.h +++ b/portable/ThirdParty/GCC/Xtensa_ESP32/include/portmacro.h @@ -9,7 +9,7 @@ /* * FreeRTOS Kernel - * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in diff --git a/portable/ThirdParty/GCC/Xtensa_ESP32/port.c b/portable/ThirdParty/GCC/Xtensa_ESP32/port.c index f018bfd3f..a89868baa 100644 --- a/portable/ThirdParty/GCC/Xtensa_ESP32/port.c +++ b/portable/ThirdParty/GCC/Xtensa_ESP32/port.c @@ -9,7 +9,7 @@ /* * FreeRTOS Kernel - * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in diff --git a/portable/ThirdParty/XCC/Xtensa/port.c b/portable/ThirdParty/XCC/Xtensa/port.c index 70c2679b5..320b47af2 100644 --- a/portable/ThirdParty/XCC/Xtensa/port.c +++ b/portable/ThirdParty/XCC/Xtensa/port.c @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/portasm.S b/portable/ThirdParty/XCC/Xtensa/portasm.S index 10754ecad..7475ba510 100644 --- a/portable/ThirdParty/XCC/Xtensa/portasm.S +++ b/portable/ThirdParty/XCC/Xtensa/portasm.S @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/portbenchmark.h b/portable/ThirdParty/XCC/Xtensa/portbenchmark.h index 7778dd1a5..ddaad7ad2 100644 --- a/portable/ThirdParty/XCC/Xtensa/portbenchmark.h +++ b/portable/ThirdParty/XCC/Xtensa/portbenchmark.h @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/portclib.c b/portable/ThirdParty/XCC/Xtensa/portclib.c index 3c87d6741..5a3b659f9 100644 --- a/portable/ThirdParty/XCC/Xtensa/portclib.c +++ b/portable/ThirdParty/XCC/Xtensa/portclib.c @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/portmacro.h b/portable/ThirdParty/XCC/Xtensa/portmacro.h index f84e4335e..d6a79b9be 100644 --- a/portable/ThirdParty/XCC/Xtensa/portmacro.h +++ b/portable/ThirdParty/XCC/Xtensa/portmacro.h @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/porttrace.h b/portable/ThirdParty/XCC/Xtensa/porttrace.h index 9909ec3af..b8319ca1b 100644 --- a/portable/ThirdParty/XCC/Xtensa/porttrace.h +++ b/portable/ThirdParty/XCC/Xtensa/porttrace.h @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/xtensa_api.h b/portable/ThirdParty/XCC/Xtensa/xtensa_api.h index 703449f2b..361dbdc9e 100644 --- a/portable/ThirdParty/XCC/Xtensa/xtensa_api.h +++ b/portable/ThirdParty/XCC/Xtensa/xtensa_api.h @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/xtensa_config.h b/portable/ThirdParty/XCC/Xtensa/xtensa_config.h index a5efcda58..e3b31c06c 100644 --- a/portable/ThirdParty/XCC/Xtensa/xtensa_config.h +++ b/portable/ThirdParty/XCC/Xtensa/xtensa_config.h @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/xtensa_context.S b/portable/ThirdParty/XCC/Xtensa/xtensa_context.S index 96507e1c8..33311c3bd 100644 --- a/portable/ThirdParty/XCC/Xtensa/xtensa_context.S +++ b/portable/ThirdParty/XCC/Xtensa/xtensa_context.S @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/xtensa_context.h b/portable/ThirdParty/XCC/Xtensa/xtensa_context.h index 579c62ea2..256e71568 100644 --- a/portable/ThirdParty/XCC/Xtensa/xtensa_context.h +++ b/portable/ThirdParty/XCC/Xtensa/xtensa_context.h @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/xtensa_init.c b/portable/ThirdParty/XCC/Xtensa/xtensa_init.c index c18520350..b401aa8a8 100644 --- a/portable/ThirdParty/XCC/Xtensa/xtensa_init.c +++ b/portable/ThirdParty/XCC/Xtensa/xtensa_init.c @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/xtensa_intr.c b/portable/ThirdParty/XCC/Xtensa/xtensa_intr.c index 88ed191e3..79fe315ee 100644 --- a/portable/ThirdParty/XCC/Xtensa/xtensa_intr.c +++ b/portable/ThirdParty/XCC/Xtensa/xtensa_intr.c @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/xtensa_intr_asm.S b/portable/ThirdParty/XCC/Xtensa/xtensa_intr_asm.S index ec5ac4c83..287ba3e8a 100644 --- a/portable/ThirdParty/XCC/Xtensa/xtensa_intr_asm.S +++ b/portable/ThirdParty/XCC/Xtensa/xtensa_intr_asm.S @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/xtensa_overlay_os_hook.c b/portable/ThirdParty/XCC/Xtensa/xtensa_overlay_os_hook.c index 2a8506a01..e8523cac3 100644 --- a/portable/ThirdParty/XCC/Xtensa/xtensa_overlay_os_hook.c +++ b/portable/ThirdParty/XCC/Xtensa/xtensa_overlay_os_hook.c @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/xtensa_rtos.h b/portable/ThirdParty/XCC/Xtensa/xtensa_rtos.h index 2c917c832..88bd147d2 100644 --- a/portable/ThirdParty/XCC/Xtensa/xtensa_rtos.h +++ b/portable/ThirdParty/XCC/Xtensa/xtensa_rtos.h @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/xtensa_timer.h b/portable/ThirdParty/XCC/Xtensa/xtensa_timer.h index cefac70f2..1cea00fb3 100644 --- a/portable/ThirdParty/XCC/Xtensa/xtensa_timer.h +++ b/portable/ThirdParty/XCC/Xtensa/xtensa_timer.h @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/ThirdParty/XCC/Xtensa/xtensa_vectors.S b/portable/ThirdParty/XCC/Xtensa/xtensa_vectors.S index 7b8e9fd58..de5ffe836 100644 --- a/portable/ThirdParty/XCC/Xtensa/xtensa_vectors.S +++ b/portable/ThirdParty/XCC/Xtensa/xtensa_vectors.S @@ -1,7 +1,7 @@ /* * FreeRTOS Kernel * Copyright (C) 2015-2019 Cadence Design Systems, Inc. - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/WizC/PIC18/Drivers/Tick/Tick.c b/portable/WizC/PIC18/Drivers/Tick/Tick.c index 5dfa080b6..53c2dbcc7 100644 --- a/portable/WizC/PIC18/Drivers/Tick/Tick.c +++ b/portable/WizC/PIC18/Drivers/Tick/Tick.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/WizC/PIC18/Drivers/Tick/isrTick.c b/portable/WizC/PIC18/Drivers/Tick/isrTick.c index f61047dc1..d68f8431f 100644 --- a/portable/WizC/PIC18/Drivers/Tick/isrTick.c +++ b/portable/WizC/PIC18/Drivers/Tick/isrTick.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/WizC/PIC18/addFreeRTOS.h b/portable/WizC/PIC18/addFreeRTOS.h index 178ca1089..386ae9f7e 100644 --- a/portable/WizC/PIC18/addFreeRTOS.h +++ b/portable/WizC/PIC18/addFreeRTOS.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/WizC/PIC18/port.c b/portable/WizC/PIC18/port.c index edabae61d..6941ece4f 100644 --- a/portable/WizC/PIC18/port.c +++ b/portable/WizC/PIC18/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/WizC/PIC18/portmacro.h b/portable/WizC/PIC18/portmacro.h index 44d26592f..a976bbd99 100644 --- a/portable/WizC/PIC18/portmacro.h +++ b/portable/WizC/PIC18/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/oWatcom/16BitDOS/Flsh186/port.c b/portable/oWatcom/16BitDOS/Flsh186/port.c index cc8863d1d..4b900b6a8 100644 --- a/portable/oWatcom/16BitDOS/Flsh186/port.c +++ b/portable/oWatcom/16BitDOS/Flsh186/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/oWatcom/16BitDOS/Flsh186/portmacro.h b/portable/oWatcom/16BitDOS/Flsh186/portmacro.h index 952e3f680..efa43611b 100644 --- a/portable/oWatcom/16BitDOS/Flsh186/portmacro.h +++ b/portable/oWatcom/16BitDOS/Flsh186/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/oWatcom/16BitDOS/PC/port.c b/portable/oWatcom/16BitDOS/PC/port.c index 6cb2de9e8..bbee5ec68 100644 --- a/portable/oWatcom/16BitDOS/PC/port.c +++ b/portable/oWatcom/16BitDOS/PC/port.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/oWatcom/16BitDOS/PC/portmacro.h b/portable/oWatcom/16BitDOS/PC/portmacro.h index 2fb753411..99b29dbc7 100644 --- a/portable/oWatcom/16BitDOS/PC/portmacro.h +++ b/portable/oWatcom/16BitDOS/PC/portmacro.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/oWatcom/16BitDOS/common/portasm.h b/portable/oWatcom/16BitDOS/common/portasm.h index f77e2b553..dac4dc864 100644 --- a/portable/oWatcom/16BitDOS/common/portasm.h +++ b/portable/oWatcom/16BitDOS/common/portasm.h @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/portable/oWatcom/16BitDOS/common/portcomn.c b/portable/oWatcom/16BitDOS/common/portcomn.c index 2a7b66637..d05b1fd1f 100644 --- a/portable/oWatcom/16BitDOS/common/portcomn.c +++ b/portable/oWatcom/16BitDOS/common/portcomn.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/queue.c b/queue.c index daf8d2e9d..b3029c19d 100644 --- a/queue.c +++ b/queue.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/stream_buffer.c b/stream_buffer.c index 00306fa04..2c357c657 100644 --- a/stream_buffer.c +++ b/stream_buffer.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/tasks.c b/tasks.c index 217cc6201..767dff7b0 100644 --- a/tasks.c +++ b/tasks.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * diff --git a/timers.c b/timers.c index a3d0d0abe..4e2a9f61f 100644 --- a/timers.c +++ b/timers.c @@ -1,6 +1,6 @@ /* * FreeRTOS Kernel - * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * From 61111b14602530a6bcddda75329deb2b5ae31f49 Mon Sep 17 00:00:00 2001 From: Soren Ptak Date: Mon, 26 Feb 2024 14:01:25 -0500 Subject: [PATCH 17/38] Add ARMv7-R MPU Port (#938) * Apply git review patch created by @aggargr * Add necessary changes to the CMakeLists.txt file to build the port --- .github/.cSpellWords.txt | 16 + .github/scripts/kernel_checker.py | 3 +- .github/workflows/formatting.yml | 2 +- CMakeLists.txt | 1 + portable/CMakeLists.txt | 6 + .../GCC/ARM_CRx_MPU/mpu_wrappers_v2_asm.S | 854 ++++++++++++++++++ portable/GCC/ARM_CRx_MPU/port.c | 843 +++++++++++++++++ portable/GCC/ARM_CRx_MPU/portASM.S | 498 ++++++++++ portable/GCC/ARM_CRx_MPU/portmacro.h | 522 +++++++++++ portable/GCC/ARM_CRx_MPU/portmacro_asm.h | 279 ++++++ 10 files changed, 3022 insertions(+), 2 deletions(-) create mode 100644 portable/GCC/ARM_CRx_MPU/mpu_wrappers_v2_asm.S create mode 100644 portable/GCC/ARM_CRx_MPU/port.c create mode 100644 portable/GCC/ARM_CRx_MPU/portASM.S create mode 100644 portable/GCC/ARM_CRx_MPU/portmacro.h create mode 100644 portable/GCC/ARM_CRx_MPU/portmacro_asm.h diff --git a/.github/.cSpellWords.txt b/.github/.cSpellWords.txt index ba8abfdf8..c41a05015 100644 --- a/.github/.cSpellWords.txt +++ b/.github/.cSpellWords.txt @@ -549,6 +549,10 @@ NTRST NVIC ODAT ODSR +OINC +OIWBNOWA +OIWBWA +OIWTNOWA OPMOD optimisations OPTIMISED @@ -795,6 +799,15 @@ SWRST SWTRG synchronise SYSC +sysclk +Sysclk +SysClk +SYSClk +SYSCLK +sysclock +Sysclock +SysClock +SYSCLOCK TACCR TACCTL TACLR @@ -877,6 +890,9 @@ UNDADD unpadded Unpadded UNPADDED +unprotect +Unprotect +Unprotected UNRE UNSUB UNSUBACK diff --git a/.github/scripts/kernel_checker.py b/.github/scripts/kernel_checker.py index 130841abb..b57b7f527 100755 --- a/.github/scripts/kernel_checker.py +++ b/.github/scripts/kernel_checker.py @@ -37,7 +37,8 @@ KERNEL_IGNORED_FILES = [ 'FreeRTOS-openocd.c', 'Makefile', '.DS_Store', - 'cspell.config.yaml' + 'cspell.config.yaml', + '.clang-format' ] KERNEL_IGNORED_EXTENSIONS = [ diff --git a/.github/workflows/formatting.yml b/.github/workflows/formatting.yml index 14d41c9c0..2f369105a 100644 --- a/.github/workflows/formatting.yml +++ b/.github/workflows/formatting.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Apply Formatting Fix - id: check-formatting + id: check-formatting uses: FreeRTOS/CI-CD-Github-Actions/formatting-bot@main with: exclude-dirs: portable diff --git a/CMakeLists.txt b/CMakeLists.txt index 07eeec471..6fd1ff56b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,6 +85,7 @@ if(NOT FREERTOS_PORT) " GCC_ARM_CM85_NTZ_NONSECURE - Compiler: GCC Target: ARM Cortex-M85 non-trustzone non-secure\n" " GCC_ARM_CM85_TFM - Compiler: GCC Target: ARM Cortex-M85 non-secure for TF-M\n" " GCC_ARM_CR5 - Compiler: GCC Target: ARM Cortex-R5\n" + " GCC_ARM_CRX_MPU - Compiler: GCC Target: ARM Cortex-Rx with MPU\n" " GCC_ARM_CRX_NOGIC - Compiler: GCC Target: ARM Cortex-Rx no GIC\n" " GCC_ARM7_AT91FR40008 - Compiler: GCC Target: ARM7 Atmel AT91R40008\n" " GCC_ARM7_AT91SAM7S - Compiler: GCC Target: ARM7 Atmel AT91SAM7S\n" diff --git a/portable/CMakeLists.txt b/portable/CMakeLists.txt index c067e9706..af9321e9f 100644 --- a/portable/CMakeLists.txt +++ b/portable/CMakeLists.txt @@ -207,6 +207,11 @@ add_library(freertos_kernel_port OBJECT GCC/ARM_CR5/port.c GCC/ARM_CR5/portASM.S> + $<$: + GCC/ARM_CRx_MPU/port.c + GCC/ARM_CRx_MPU/portASM.S + GCC/ARM_CRx_MPU/mpu_wrappers_v2_asm.S> + $<$: GCC/ARM_CRx_No_GIC/port.c GCC/ARM_CRx_No_GIC/portASM.S> @@ -836,6 +841,7 @@ target_include_directories(freertos_kernel_port_headers INTERFACE # ARMv7-R ports for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CR5> + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CRx_MPU> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CRx_No_GIC> # ARMv4T ARM7TDMI ports for GCC diff --git a/portable/GCC/ARM_CRx_MPU/mpu_wrappers_v2_asm.S b/portable/GCC/ARM_CRx_MPU/mpu_wrappers_v2_asm.S new file mode 100644 index 000000000..8d0f769bb --- /dev/null +++ b/portable/GCC/ARM_CRx_MPU/mpu_wrappers_v2_asm.S @@ -0,0 +1,854 @@ +/* + * FreeRTOS Kernel + * Copyright (C) 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +/* ----------------------------------------------------------------------------------- */ + + .arm + .syntax unified + .section freertos_system_calls + +#define FREERTOS_ASSEMBLY + #include "FreeRTOSConfig.h" + #include "portmacro_asm.h" + #include "mpu_syscall_numbers.h" +#undef FREERTOS_ASSEMBLY + +/* ----------------------- Start of Port Specific System Calls ----------------------- */ + +/* + * void vPortYield( void ); + */ +.align 4 +.global vPortYield +.type vPortYield, %function +vPortYield: + SVC #portSVC_YIELD + BX LR + +/* ----------------------------------------------------------------------------------- */ + +/* + * void vPortSystemCallExit( void ); + */ +.align 4 +.global vPortSystemCallExit +.type vPortSystemCallExit, %function +vPortSystemCallExit: + SVC #portSVC_SYSTEM_CALL_EXIT + BX LR + +/* ----------------------------------------------------------------------------------- */ + +/* + * BaseType_t xPortIsPrivileged( void ); + * + * According to the Procedure Call Standard for the ARM Architecture (AAPCS): + * - Return value must be in R0. + */ +.align 4 +.global xPortIsPrivileged +.type xPortIsPrivileged, %function +xPortIsPrivileged: + MRS R0, CPSR /* R0 = CPSR. */ + AND R0, R0, #0x1F /* R0 = R0 & 0x1F. Extract mode bits.*/ + CMP R0, #USER_MODE /* If R0 == #USER_MODE. */ + MOVEQ R0, #0x0 /* Then, set R0 to 0 to indicate that the processer is not privileged. */ + MOVNE R0, #0x01 /* Otherwise, set R0 to 1 to indicate that the processer is privileged. */ + BX LR + +/* ----------------------------------------------------------------------------------- */ + +/* + * UBaseType_t ulPortCountLeadingZeros( UBaseType_t ulBitmap ); + * + * According to the Procedure Call Standard for the ARM Architecture (AAPCS): + * - Parameter ulBitmap is passed in R0. + * - Return value must be in R0. + */ +.align 4 +.weak ulPortCountLeadingZeros +.type ulPortCountLeadingZeros, %function +ulPortCountLeadingZeros: + CLZ R0, R0 + BX LR + +/* ------------------- End of Port Specific System Calls ------------------- */ + +.macro INVOKE_SYSTEM_CALL systemCallNumber, systemCallImpl + PUSH {R0} + MRS R0, CPSR + AND R0, R0, #0x1F + CMP R0, #USER_MODE + POP {R0} + SVCEQ \systemCallNumber + B \systemCallImpl +.endm + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xTaskGetTickCountImpl +.align 4 +.global MPU_xTaskGetTickCount +.type MPU_xTaskGetTickCount, function +MPU_xTaskGetTickCount: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTaskGetTickCount, MPU_xTaskGetTickCountImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_uxTaskGetNumberOfTasksImpl +.align 4 +.global MPU_uxTaskGetNumberOfTasks +.type MPU_uxTaskGetNumberOfTasks, function +MPU_uxTaskGetNumberOfTasks: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_uxTaskGetNumberOfTasks, MPU_uxTaskGetNumberOfTasksImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_vTaskSetTimeOutStateImpl +.align 4 +.global MPU_vTaskSetTimeOutState +.type MPU_vTaskSetTimeOutState, function +MPU_vTaskSetTimeOutState: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_vTaskSetTimeOutState, MPU_vTaskSetTimeOutStateImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xTaskCheckForTimeOutImpl +.align 4 +.global MPU_xTaskCheckForTimeOut +.type MPU_xTaskCheckForTimeOut, function +MPU_xTaskCheckForTimeOut: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTaskCheckForTimeOut, MPU_xTaskCheckForTimeOutImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xQueueGenericSendImpl +.align 4 +.global MPU_xQueueGenericSend +.type MPU_xQueueGenericSend, function +MPU_xQueueGenericSend: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xQueueGenericSend, MPU_xQueueGenericSendImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_uxQueueMessagesWaitingImpl +.align 4 +.global MPU_uxQueueMessagesWaiting +.type MPU_uxQueueMessagesWaiting, function +MPU_uxQueueMessagesWaiting: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_uxQueueMessagesWaiting, MPU_uxQueueMessagesWaitingImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_uxQueueSpacesAvailableImpl +.align 4 +.global MPU_uxQueueSpacesAvailable +.type MPU_uxQueueSpacesAvailable, function +MPU_uxQueueSpacesAvailable: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_uxQueueSpacesAvailable, MPU_uxQueueSpacesAvailableImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xQueueReceiveImpl +.align 4 +.global MPU_xQueueReceive +.type MPU_xQueueReceive, function +MPU_xQueueReceive: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xQueueReceive, MPU_xQueueReceiveImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xQueuePeekImpl +.align 4 +.global MPU_xQueuePeek +.type MPU_xQueuePeek, function +MPU_xQueuePeek: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xQueuePeek, MPU_xQueuePeekImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xQueueSemaphoreTakeImpl +.align 4 +.global MPU_xQueueSemaphoreTake +.type MPU_xQueueSemaphoreTake, function +MPU_xQueueSemaphoreTake: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xQueueSemaphoreTake, MPU_xQueueSemaphoreTakeImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xEventGroupWaitBitsImpl +.align 4 +.global MPU_xEventGroupWaitBitsEntry +.type MPU_xEventGroupWaitBitsEntry, function +MPU_xEventGroupWaitBitsEntry: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupWaitBits, MPU_xEventGroupWaitBitsImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xEventGroupClearBitsImpl +.align 4 +.global MPU_xEventGroupClearBits +.type MPU_xEventGroupClearBits, function +MPU_xEventGroupClearBits: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupClearBits, MPU_xEventGroupClearBitsImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xEventGroupSetBitsImpl +.align 4 +.global MPU_xEventGroupSetBits +.type MPU_xEventGroupSetBits, function +MPU_xEventGroupSetBits: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupSetBits, MPU_xEventGroupSetBitsImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xEventGroupSyncImpl +.align 4 +.global MPU_xEventGroupSync +.type MPU_xEventGroupSync, function +MPU_xEventGroupSync: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupSync, MPU_xEventGroupSyncImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xStreamBufferSendImpl +.align 4 +.global MPU_xStreamBufferSend +.type MPU_xStreamBufferSend, function +MPU_xStreamBufferSend: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSend, MPU_xStreamBufferSendImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xStreamBufferReceiveImpl +.align 4 +.global MPU_xStreamBufferReceive +.type MPU_xStreamBufferReceive, function +MPU_xStreamBufferReceive: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferReceive, MPU_xStreamBufferReceiveImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xStreamBufferIsFullImpl +.align 4 +.global MPU_xStreamBufferIsFull +.type MPU_xStreamBufferIsFull, function +MPU_xStreamBufferIsFull: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferIsFull, MPU_xStreamBufferIsFullImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xStreamBufferIsEmptyImpl +.align 4 +.global MPU_xStreamBufferIsEmpty +.type MPU_xStreamBufferIsEmpty, function +MPU_xStreamBufferIsEmpty: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferIsEmpty, MPU_xStreamBufferIsEmptyImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xStreamBufferSpacesAvailableImpl +.align 4 +.global MPU_xStreamBufferSpacesAvailable +.type MPU_xStreamBufferSpacesAvailable, function +MPU_xStreamBufferSpacesAvailable: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSpacesAvailable, MPU_xStreamBufferSpacesAvailableImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xStreamBufferBytesAvailableImpl +.align 4 +.global MPU_xStreamBufferBytesAvailable +.type MPU_xStreamBufferBytesAvailable, function +MPU_xStreamBufferBytesAvailable: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferBytesAvailable, MPU_xStreamBufferBytesAvailableImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xStreamBufferSetTriggerLevelImpl +.align 4 +.global MPU_xStreamBufferSetTriggerLevel +.type MPU_xStreamBufferSetTriggerLevel, function +MPU_xStreamBufferSetTriggerLevel: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSetTriggerLevel, MPU_xStreamBufferSetTriggerLevelImpl + +/* ----------------------------------------------------------------------------------- */ + +.extern MPU_xStreamBufferNextMessageLengthBytesImpl +.align 4 +.global MPU_xStreamBufferNextMessageLengthBytes +.type MPU_xStreamBufferNextMessageLengthBytes, function +MPU_xStreamBufferNextMessageLengthBytes: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes, MPU_xStreamBufferNextMessageLengthBytesImpl + +/* ----------------------------------------------------------------------------------- */ + +#if ( ( INCLUDE_xTaskDelayUntil == 1 ) || ( INCLUDE_vTaskDelayUntil == 1 ) ) + + .extern MPU_xTaskDelayUntilImpl + .align 4 + .global MPU_xTaskDelayUntil + .type MPU_xTaskDelayUntil, function + MPU_xTaskDelayUntil: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTaskDelayUntil, MPU_xTaskDelayUntilImpl + +#endif /* if ( ( INCLUDE_xTaskDelayUntil == 1 ) || ( INCLUDE_vTaskDelayUntil == 1 ) ) */ + +/* ----------------------------------------------------------------------------------- */ + +#if ( INCLUDE_xTaskAbortDelay == 1 ) + + .extern MPU_xTaskAbortDelayImpl + .align 4 + .global MPU_xTaskAbortDelay + .type MPU_xTaskAbortDelay, function + MPU_xTaskAbortDelay: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTaskAbortDelay, MPU_xTaskAbortDelayImpl + +#endif /* if ( INCLUDE_xTaskAbortDelay == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( INCLUDE_vTaskDelay == 1 ) + + .extern MPU_vTaskDelayImpl + .align 4 + .global MPU_vTaskDelay + .type MPU_vTaskDelay, function + MPU_vTaskDelay: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_vTaskDelay, MPU_vTaskDelayImpl + +#endif /* if ( INCLUDE_vTaskDelay == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( INCLUDE_uxTaskPriorityGet == 1 ) + + .extern MPU_uxTaskPriorityGetImpl + .align 4 + .global MPU_uxTaskPriorityGet + .type MPU_uxTaskPriorityGet, function + MPU_uxTaskPriorityGet: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_uxTaskPriorityGet, MPU_uxTaskPriorityGetImpl + +#endif /* if ( INCLUDE_uxTaskPriorityGet == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( INCLUDE_eTaskGetState == 1 ) + + .extern MPU_eTaskGetStateImpl + .align 4 + .global MPU_eTaskGetState + .type MPU_eTaskGetState, function + MPU_eTaskGetState: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_eTaskGetState, MPU_eTaskGetStateImpl + +#endif /* if ( INCLUDE_eTaskGetState == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( configUSE_TRACE_FACILITY == 1 ) + + .extern MPU_vTaskGetInfoImpl + .align 4 + .global MPU_vTaskGetInfo + .type MPU_vTaskGetInfo, function + MPU_vTaskGetInfo: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_vTaskGetInfo, MPU_vTaskGetInfoImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_uxTaskGetSystemStateImpl + .align 4 + .global MPU_uxTaskGetSystemState + .type MPU_uxTaskGetSystemState, function + MPU_uxTaskGetSystemState: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_uxTaskGetSystemState, MPU_uxTaskGetSystemStateImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_uxEventGroupGetNumberImpl + .align 4 + .global MPU_uxEventGroupGetNumber + .type MPU_uxEventGroupGetNumber, function + MPU_uxEventGroupGetNumber: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_uxEventGroupGetNumber, MPU_uxEventGroupGetNumberImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_vEventGroupSetNumberImpl + .align 4 + .global MPU_vEventGroupSetNumber + .type MPU_vEventGroupSetNumber, function + MPU_vEventGroupSetNumber: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_vEventGroupSetNumber, MPU_vEventGroupSetNumberImpl + + /* ------------------------------------------------------------------------------- */ + +#endif /* if ( configUSE_TRACE_FACILITY == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( INCLUDE_xTaskGetIdleTaskHandle == 1 ) + + .extern MPU_xTaskGetIdleTaskHandleImpl + .align 4 + .global MPU_xTaskGetIdleTaskHandle + .type MPU_xTaskGetIdleTaskHandle, function + MPU_xTaskGetIdleTaskHandle: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTaskGetIdleTaskHandle, MPU_xTaskGetIdleTaskHandleImpl + + +#endif /* if ( INCLUDE_xTaskGetIdleTaskHandle == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( INCLUDE_vTaskSuspend == 1 ) + + .extern MPU_vTaskSuspendImpl + .align 4 + .global MPU_vTaskSuspend + .type MPU_vTaskSuspend, function + MPU_vTaskSuspend: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_vTaskSuspend, MPU_vTaskSuspendImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_vTaskResumeImpl + .align 4 + .global MPU_vTaskResume + .type MPU_vTaskResume, function + MPU_vTaskResume: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_vTaskResume, MPU_vTaskResumeImpl + + /* ------------------------------------------------------------------------------- */ + +#endif /* if ( INCLUDE_vTaskSuspend == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( configGENERATE_RUN_TIME_STATS == 1 ) + + .extern MPU_ulTaskGetRunTimeCounterImpl + .align 4 + .global MPU_ulTaskGetRunTimeCounter + .type MPU_ulTaskGetRunTimeCounter, function + MPU_ulTaskGetRunTimeCounter: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_ulTaskGetRunTimeCounter, MPU_ulTaskGetRunTimeCounterImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_ulTaskGetRunTimePercentImpl + .align 4 + .global MPU_ulTaskGetRunTimePercent + .type MPU_ulTaskGetRunTimePercent, function + MPU_ulTaskGetRunTimePercent: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_ulTaskGetRunTimePercent, MPU_ulTaskGetRunTimePercentImpl + + /* ------------------------------------------------------------------------------- */ + + #if ( INCLUDE_xTaskGetIdleTaskHandle == 1 ) + + .extern MPU_ulTaskGetIdleRunTimePercentImpl + .align 4 + .global MPU_ulTaskGetIdleRunTimePercent + .type MPU_ulTaskGetIdleRunTimePercent, function + MPU_ulTaskGetIdleRunTimePercent: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_ulTaskGetIdleRunTimePercent, MPU_ulTaskGetIdleRunTimePercentImpl + + /* --------------------------------------------------------------------------- */ + + .extern MPU_ulTaskGetIdleRunTimeCounterImpl + .align 4 + .global MPU_ulTaskGetIdleRunTimeCounter + .type MPU_ulTaskGetIdleRunTimeCounter, function + MPU_ulTaskGetIdleRunTimeCounter: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter, MPU_ulTaskGetIdleRunTimeCounterImpl + + /* --------------------------------------------------------------------------- */ + + #endif /* if ( INCLUDE_xTaskGetIdleTaskHandle == 1 ) */ + +#endif /* if ( configGENERATE_RUN_TIME_STATS == 1 )*/ + +/* --------------------------------------------------------------------------- */ + +#if ( configUSE_APPLICATION_TASK_TAG == 1 ) + + .extern MPU_vTaskSetApplicationTaskTagImpl + .align 4 + .global MPU_vTaskSetApplicationTaskTag + .type MPU_vTaskSetApplicationTaskTag, function + MPU_vTaskSetApplicationTaskTag: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_vTaskSetApplicationTaskTag, MPU_vTaskSetApplicationTaskTagImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_xTaskGetApplicationTaskTagImpl + .align 4 + .global MPU_xTaskGetApplicationTaskTag + .type MPU_xTaskGetApplicationTaskTag, function + MPU_xTaskGetApplicationTaskTag: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTaskGetApplicationTaskTag, MPU_xTaskGetApplicationTaskTagImpl + + /* ------------------------------------------------------------------------------- */ + +#endif /* if ( configUSE_APPLICATION_TASK_TAG == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS != 0 ) + + .extern MPU_vTaskSetThreadLocalStoragePointerImpl + .align 4 + .global MPU_vTaskSetThreadLocalStoragePointer + .type MPU_vTaskSetThreadLocalStoragePointer, function + MPU_vTaskSetThreadLocalStoragePointer: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer, MPU_vTaskSetThreadLocalStoragePointerImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_pvTaskGetThreadLocalStoragePointerImpl + .align 4 + .global MPU_pvTaskGetThreadLocalStoragePointer + .type MPU_pvTaskGetThreadLocalStoragePointer, function + MPU_pvTaskGetThreadLocalStoragePointer: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer, MPU_pvTaskGetThreadLocalStoragePointerImpl + + /* ------------------------------------------------------------------------------- */ + +#endif /* if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS != 0 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( INCLUDE_uxTaskGetStackHighWaterMark == 1 ) + + .extern MPU_uxTaskGetStackHighWaterMarkImpl + .align 4 + .global MPU_uxTaskGetStackHighWaterMark + .type MPU_uxTaskGetStackHighWaterMark, function + MPU_uxTaskGetStackHighWaterMark: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_uxTaskGetStackHighWaterMark, MPU_uxTaskGetStackHighWaterMarkImpl + +#endif /* if ( INCLUDE_uxTaskGetStackHighWaterMark == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( INCLUDE_uxTaskGetStackHighWaterMark2 == 1 ) + + .extern MPU_uxTaskGetStackHighWaterMark2Impl + .align 4 + .global MPU_uxTaskGetStackHighWaterMark2 + .type MPU_uxTaskGetStackHighWaterMark2, function + MPU_uxTaskGetStackHighWaterMark2: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_uxTaskGetStackHighWaterMark2, MPU_uxTaskGetStackHighWaterMark2Impl + +#endif /* if ( INCLUDE_uxTaskGetStackHighWaterMark2 == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( ( INCLUDE_xTaskGetCurrentTaskHandle == 1 ) || ( configUSE_MUTEXES == 1 ) ) + + .extern MPU_xTaskGetCurrentTaskHandleImpl + .align 4 + .global MPU_xTaskGetCurrentTaskHandle + .type MPU_xTaskGetCurrentTaskHandle, function + MPU_xTaskGetCurrentTaskHandle: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTaskGetCurrentTaskHandle, MPU_xTaskGetCurrentTaskHandleImpl + +#endif /* if( INCLUDE_xTaskGetCurrentTaskHandle == 1 ) || ( configUSE_MUTEXES == 1 ) ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( INCLUDE_xTaskGetSchedulerState == 1 ) + + .extern MPU_xTaskGetSchedulerStateImpl + .align 4 + .global MPU_xTaskGetSchedulerState + .type MPU_xTaskGetSchedulerState, function + MPU_xTaskGetSchedulerState: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTaskGetSchedulerState, MPU_xTaskGetSchedulerStateImpl + + +#endif /* if ( INCLUDE_xTaskGetSchedulerState == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( ( configUSE_MUTEXES == 1 ) && ( INCLUDE_xSemaphoreGetMutexHolder == 1 ) ) + + .extern MPU_xQueueGetMutexHolderImpl + .align 4 + .global MPU_xQueueGetMutexHolder + .type MPU_xQueueGetMutexHolder, function + MPU_xQueueGetMutexHolder: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xQueueGetMutexHolder, MPU_xQueueGetMutexHolderImpl + +#endif /* if ( ( configUSE_MUTEXES == 1 ) && ( INCLUDE_xSemaphoreGetMutexHolder == 1 ) ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( configUSE_RECURSIVE_MUTEXES == 1 ) + + .extern MPU_xQueueTakeMutexRecursiveImpl + .align 4 + .global MPU_xQueueTakeMutexRecursive + .type MPU_xQueueTakeMutexRecursive, function + MPU_xQueueTakeMutexRecursive: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xQueueTakeMutexRecursive, MPU_xQueueTakeMutexRecursiveImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_xQueueGiveMutexRecursiveImpl + .align 4 + .global MPU_xQueueGiveMutexRecursive + .type MPU_xQueueGiveMutexRecursive, function + MPU_xQueueGiveMutexRecursive: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xQueueGiveMutexRecursive, MPU_xQueueGiveMutexRecursiveImpl + + /* ------------------------------------------------------------------------------- */ + +#endif /* if ( configUSE_RECURSIVE_MUTEXES == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( configUSE_QUEUE_SETS == 1 ) + + .extern MPU_xQueueSelectFromSetImpl + .align 4 + .global MPU_xQueueSelectFromSet + .type MPU_xQueueSelectFromSet, function + MPU_xQueueSelectFromSet: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xQueueSelectFromSet, MPU_xQueueSelectFromSetImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_xQueueAddToSetImpl + .align 4 + .global MPU_xQueueAddToSet + .type MPU_xQueueAddToSet, function + MPU_xQueueAddToSet: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xQueueAddToSet, MPU_xQueueAddToSetImpl + + /* ------------------------------------------------------------------------------- */ + +#endif /* if ( configUSE_QUEUE_SETS == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( configQUEUE_REGISTRY_SIZE > 0 ) + + .extern MPU_vQueueAddToRegistryImpl + .align 4 + .global MPU_vQueueAddToRegistry + .type MPU_vQueueAddToRegistry, function + MPU_vQueueAddToRegistry: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_vQueueAddToRegistry, MPU_vQueueAddToRegistryImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_vQueueUnregisterQueueImpl + .align 4 + .global MPU_vQueueUnregisterQueue + .type MPU_vQueueUnregisterQueue, function + MPU_vQueueUnregisterQueue: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_vQueueUnregisterQueue, MPU_vQueueUnregisterQueueImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_pcQueueGetNameImpl + .align 4 + .global MPU_pcQueueGetName + .type MPU_pcQueueGetName, function + MPU_pcQueueGetName: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_pcQueueGetName, MPU_pcQueueGetNameImpl + + /* ------------------------------------------------------------------------------- */ + +#endif /* if ( configQUEUE_REGISTRY_SIZE > 0 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( configUSE_TIMERS == 1 ) + + .extern MPU_pvTimerGetTimerIDImpl + .align 4 + .global MPU_pvTimerGetTimerID + .type MPU_pvTimerGetTimerID, function + MPU_pvTimerGetTimerID: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_pvTimerGetTimerID, MPU_pvTimerGetTimerIDImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_vTimerSetTimerIDImpl + .align 4 + .global MPU_vTimerSetTimerID + .type MPU_vTimerSetTimerID, function + MPU_vTimerSetTimerID: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_vTimerSetTimerID, MPU_vTimerSetTimerIDImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_xTimerIsTimerActiveImpl + .align 4 + .global MPU_xTimerIsTimerActive + .type MPU_xTimerIsTimerActive, function + MPU_xTimerIsTimerActive: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTimerIsTimerActive, MPU_xTimerIsTimerActiveImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_xTimerGetTimerDaemonTaskHandleImpl + .align 4 + .global MPU_xTimerGetTimerDaemonTaskHandle + .type MPU_xTimerGetTimerDaemonTaskHandle, function + MPU_xTimerGetTimerDaemonTaskHandle: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle, MPU_xTimerGetTimerDaemonTaskHandleImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_xTimerGenericCommandFromTaskImpl + .align 4 + .global MPU_xTimerGenericCommandFromTaskEntry + .type MPU_xTimerGenericCommandFromTaskEntry, function + MPU_xTimerGenericCommandFromTaskEntry: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTimerGenericCommandFromTask, MPU_xTimerGenericCommandFromTaskImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_pcTimerGetNameImpl + .align 4 + .global MPU_pcTimerGetName + .type MPU_pcTimerGetName, function + MPU_pcTimerGetName: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_pcTimerGetName, MPU_pcTimerGetNameImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_vTimerSetReloadModeImpl + .align 4 + .global MPU_vTimerSetReloadMode + .type MPU_vTimerSetReloadMode, function + MPU_vTimerSetReloadMode: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_vTimerSetReloadMode, MPU_vTimerSetReloadModeImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_xTimerGetReloadModeImpl + .align 4 + .global MPU_xTimerGetReloadMode + .type MPU_xTimerGetReloadMode, function + MPU_xTimerGetReloadMode: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTimerGetReloadMode, MPU_xTimerGetReloadModeImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_uxTimerGetReloadModeImpl + .align 4 + .global MPU_uxTimerGetReloadMode + .type MPU_uxTimerGetReloadMode, function + MPU_uxTimerGetReloadMode: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_uxTimerGetReloadMode, MPU_uxTimerGetReloadModeImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_xTimerGetPeriodImpl + .align 4 + .global MPU_xTimerGetPeriod + .type MPU_xTimerGetPeriod, function + MPU_xTimerGetPeriod: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTimerGetPeriod, MPU_xTimerGetPeriodImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_xTimerGetExpiryTimeImpl + .align 4 + .global MPU_xTimerGetExpiryTime + .type MPU_xTimerGetExpiryTime, function + MPU_xTimerGetExpiryTime: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTimerGetExpiryTime, MPU_xTimerGetExpiryTimeImpl + + /* ------------------------------------------------------------------------------- */ + +#endif /* if ( configUSE_TIMERS == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +#if ( configUSE_TASK_NOTIFICATIONS == 1 ) + + .extern MPU_xTaskGenericNotifyImpl + .align 4 + .global MPU_xTaskGenericNotifyEntry + .type MPU_xTaskGenericNotifyEntry, function + MPU_xTaskGenericNotifyEntry: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTaskGenericNotify, MPU_xTaskGenericNotifyImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_xTaskGenericNotifyWaitImpl + .align 4 + .global MPU_xTaskGenericNotifyWaitEntry + .type MPU_xTaskGenericNotifyWaitEntry, function + MPU_xTaskGenericNotifyWaitEntry: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTaskGenericNotifyWait, MPU_xTaskGenericNotifyWaitImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_ulTaskGenericNotifyTakeImpl + .align 4 + .global MPU_ulTaskGenericNotifyTake + .type MPU_ulTaskGenericNotifyTake, function + MPU_ulTaskGenericNotifyTake: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_ulTaskGenericNotifyTake, MPU_ulTaskGenericNotifyTakeImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_xTaskGenericNotifyStateClearImpl + .align 4 + .global MPU_xTaskGenericNotifyStateClear + .type MPU_xTaskGenericNotifyStateClear, function + MPU_xTaskGenericNotifyStateClear: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xTaskGenericNotifyStateClear, MPU_xTaskGenericNotifyStateClearImpl + + /* ------------------------------------------------------------------------------- */ + + .extern MPU_ulTaskGenericNotifyValueClearImpl + .align 4 + .global MPU_ulTaskGenericNotifyValueClear + .type MPU_ulTaskGenericNotifyValueClear, function + MPU_ulTaskGenericNotifyValueClear: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_ulTaskGenericNotifyValueClear, MPU_ulTaskGenericNotifyValueClearImpl + + /* ------------------------------------------------------------------------------- */ + +#endif /* if ( configUSE_TASK_NOTIFICATIONS == 1 ) */ + +/* ------------------------------------------------------------------------------- */ + +.end diff --git a/portable/GCC/ARM_CRx_MPU/port.c b/portable/GCC/ARM_CRx_MPU/port.c new file mode 100644 index 000000000..bef3a7854 --- /dev/null +++ b/portable/GCC/ARM_CRx_MPU/port.c @@ -0,0 +1,843 @@ +/* + * FreeRTOS Kernel + * Copyright (C) 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +/* Standard includes. */ +#include + +/* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE prevents task.h from redefining + * all the API functions to use the MPU wrappers. That should only be done when + * task.h is included from an application file. */ +#ifndef MPU_WRAPPERS_INCLUDED_FROM_API_FILE + #define MPU_WRAPPERS_INCLUDED_FROM_API_FILE +#endif /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */ + +/* Scheduler includes. */ +#include "FreeRTOS.h" +#include "portmacro.h" +#include "task.h" +#include "mpu_syscall_numbers.h" + +#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE + +/* Max value that fits in a uint32_t type. */ +#define portUINT32_MAX ( ~( ( uint32_t ) 0 ) ) + +/* Check if adding a and b will result in overflow. */ +#define portADD_UINT32_WILL_OVERFLOW( a, b ) ( ( a ) > ( portUINT32_MAX - ( b ) ) ) +/* ----------------------------------------------------------------------------------- */ + +/** + * @brief Variable used to keep track of critical section nesting. + * + * @ingroup Critical Sections + * + * This variable is stored as part of the task context and must be initialised + * to a non zero value to ensure interrupts don't inadvertently become unmasked + * before the scheduler starts. As it is stored as part of the task context, it + * will be set to 0 when the first task is started. + */ +PRIVILEGED_DATA volatile UBaseType_t ulCriticalNesting = 0xFFFF; + +/** + * @brief Set to 1 to pend a context switch from an ISR. + * + * @ingroup Interrupt Management + */ +PRIVILEGED_DATA volatile UBaseType_t ulPortYieldRequired = pdFALSE; + +/** + * @brief Interrupt nesting depth, used to count the number of interrupts to unwind. + * + * @ingroup Interrupt Management + */ +PRIVILEGED_DATA volatile UBaseType_t ulPortInterruptNesting = 0UL; + +/** + * @brief Variable to track whether or not the scheduler has been started. + * + * @ingroup Scheduler + * + * This is the port specific version of the xSchedulerRunning in tasks.c. + */ +PRIVILEGED_DATA static BaseType_t prvPortSchedulerRunning = pdFALSE; + +/* -------------------------- Private Function Declarations -------------------------- */ + +/** + * @brief Determine if the given MPU region settings authorizes the requested + * access to the given buffer. + * + * @ingroup Task Context + * @ingroup MPU Control + * + * @param xTaskMPURegion MPU region settings. + * @param ulBufferStart Start address of the given buffer. + * @param ulBufferLength Length of the given buffer. + * @param ulAccessRequested Access requested. + * + * @return pdTRUE if MPU region settins authorizes the requested access to the + * given buffer, pdFALSE otherwise. + */ +PRIVILEGED_FUNCTION static BaseType_t prvMPURegionAuthorizesBuffer( const xMPU_REGION_REGISTERS * xTaskMPURegion, + const uint32_t ulBufferStart, + const uint32_t ulBufferLength, + const uint32_t ulAccessRequested ); + +/** + * @brief Determine the smallest MPU Region Size Encoding for the given MPU + * region size. + * + * @ingroup MPU Control + * + * @param ulActualMPURegionSize MPU region size in bytes. + * + * @return The smallest MPU Region Size Encoding for the given MPU region size. + */ +PRIVILEGED_FUNCTION static uint32_t prvGetMPURegionSizeEncoding( uint32_t ulActualMPURegionSize ); + +/** + * @brief Set up MPU. + * + * @ingroup MPU Control + */ +PRIVILEGED_FUNCTION static void prvSetupMPU( void ); + +/* -------------------------- Exported Function Declarations -------------------------- */ + +/** + * @brief Enter critical section. + * + * @ingroup Critical Section + */ +PRIVILEGED_FUNCTION void vPortEnterCritical( void ); + +/** + * @brief Exit critical section. + * + * @ingroup Critical Section + */ +PRIVILEGED_FUNCTION void vPortExitCritical( void ); + +/* ----------------------------------------------------------------------------------- */ + +/** + * @brief Setup a FreeRTOS task's initial context. + * + * @ingroup Task Context + * + * @param pxTopOfStack Top of stack. + * @param pxCode The task function. + * @param pvParameters Argument passed to the task function. + * @param xRunPrivileged Marks if the task is privileged. + * @param xMPUSettings MPU settings of the task. + * + * @return Location where to restore the task's context from. + */ +/* PRIVILEGED_FUNCTION */ +StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, + TaskFunction_t pxCode, + void * pvParameters, + BaseType_t xRunPrivileged, + xMPU_SETTINGS * xMPUSettings ) +{ + /* Setup the initial context of the task. The context is set exactly as + * expected by the portRESTORE_CONTEXT() macro. */ + UBaseType_t ulIndex = CONTEXT_SIZE - 1U; + + xSYSTEM_CALL_STACK_INFO * xSysCallInfo = NULL; + + if( xRunPrivileged == pdTRUE ) + { + xMPUSettings->ulTaskFlags |= portTASK_IS_PRIVILEGED_FLAG; + /* Current Program Status Register (CPSR). */ + xMPUSettings->ulContext[ ulIndex ] = SYS_MODE; + } + else + { + xMPUSettings->ulTaskFlags &= ( ~portTASK_IS_PRIVILEGED_FLAG ); + /* Current Program Status Register (CPSR). */ + xMPUSettings->ulContext[ ulIndex ] = USER_MODE; + } + + if( ( ( uint32_t ) pxCode & portTHUMB_MODE_ADDRESS ) != 0x0UL ) + { + /* The task will cause the processor to start in THUMB state, set the + * Thumb state bit in the CPSR. */ + xMPUSettings->ulContext[ ulIndex ] |= portTHUMB_MODE_BIT; + } + + ulIndex--; + + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) pxCode; /* PC. */ + ulIndex--; + + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) portTASK_RETURN_ADDRESS; /* LR. */ + ulIndex--; + + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) pxTopOfStack; /* SP. */ + ulIndex--; + + /* General Purpose Registers. */ + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0x12121212; /* R12. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0x11111111; /* R11. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0x10101010; /* R10. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0x09090909; /* R9. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0x08080808; /* R8. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0x07070707; /* R7. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0x06060606; /* R6. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0x05050505; /* R5. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0x04040404; /* R4. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0x03030303; /* R3. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0x02020202; /* R2. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0x01010101; /* R1. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) pvParameters; /* R0. */ + ulIndex--; + + #if( portENABLE_FPU == 1 ) + { + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000015; /* S31. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD1500000; /* S30. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000014; /* S29. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD1400000; /* S28. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000013; /* S27. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD1300000; /* S26. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000012; /* S25. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD1200000; /* S24. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000011; /* S23. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD1100000; /* S22. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000010; /* S21. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD1000000; /* S20. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000009; /* S19. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD9000000; /* S18. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000008; /* S17. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD8000000; /* S16. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000007; /* S15. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD7000000; /* S14. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000006; /* S13. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD6000000; /* S12. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000005; /* S11. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD5000000; /* S10. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000004; /* S9. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD4000000; /* S8. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000003; /* S7. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD3000000; /* S6. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000002; /* S5. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD2000000; /* S4. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000001; /* S3. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD1000000; /* S2. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000000; /* S1. */ + ulIndex--; + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0xD0000000; /* S0. */ + ulIndex--; + + xMPUSettings->ulContext[ ulIndex ] = ( StackType_t ) 0x00000000; /* FPSR. */ + ulIndex--; + } + #endif /* portENABLE_FPU */ + + /* The task will start with a critical nesting count of 0. */ + xMPUSettings->ulContext[ ulIndex ] = portNO_CRITICAL_NESTING; + + /* Ensure that the system call stack is double word aligned. */ + xSysCallInfo = &( xMPUSettings->xSystemCallStackInfo ); + xSysCallInfo->pulSystemCallStackPointer = &( xSysCallInfo->ulSystemCallStackBuffer[ configSYSTEM_CALL_STACK_SIZE - 1U ] ); + xSysCallInfo->pulSystemCallStackPointer = ( uint32_t * ) ( ( ( uint32_t ) ( xSysCallInfo->pulSystemCallStackPointer ) ) & + ( ( uint32_t ) ( ~( portBYTE_ALIGNMENT_MASK ) ) ) ); + + /* This is not NULL only for the duration of a system call. */ + xSysCallInfo->pulTaskStackPointer = NULL; + + /* Set the System Call to return to vPortSystemCallExit. */ + xSysCallInfo->pulSystemCallExitAddress = ( uint32_t * ) ( &vPortSystemCallExit ); + + /* Return the address where this task's context should be restored from. */ + return &( xMPUSettings->ulContext[ ulIndex ] ); +} + +/* ----------------------------------------------------------------------------------- */ + +/** + * @brief Store a FreeRTOS task's MPU settings in its TCB. + * + * @ingroup Task Context + * @ingroup MPU Control + * + * @param xMPUSettings The MPU settings in TCB. + * @param xRegions The updated MPU settings requested by the task. + * @param pxBottomOfStack The base address of the task's Stack. + * @param ulStackDepth The length of the task's stack. + */ +/* PRIVILEGED_FUNCTION */ +void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, + const struct xMEMORY_REGION * const xRegions, + StackType_t * pxBottomOfStack, + uint32_t ulStackDepth ) +{ + #if defined( __ARMCC_VERSION ) + /* Declaration when these variable are defined in code instead of being + * exported from linker scripts. */ + extern uint32_t * __SRAM_segment_start__; + extern uint32_t * __SRAM_segment_end__; + #else + /* Declaration when these variable are exported from linker scripts. */ + extern uint32_t __SRAM_segment_start__[]; + extern uint32_t __SRAM_segment_end__[]; + #endif /* if defined( __ARMCC_VERSION ) */ + + uint32_t ulIndex = 0x0; + uint32_t ulRegionLength; + uint32_t ulRegionLengthEncoded; + uint32_t ulRegionLengthDecoded; + + if( xRegions == NULL ) + { + /* No MPU regions are specified so allow access to all of the RAM. */ + ulRegionLength = ( uint32_t ) __SRAM_segment_end__ - ( uint32_t ) __SRAM_segment_start__; + ulRegionLengthEncoded = prvGetMPURegionSizeEncoding( ulRegionLength ); + ulRegionLength |= portMPU_REGION_ENABLE; + + /* MPU Settings is zero'd out in the TCB before this function is called. + * We, therefore, do not need to explicitly zero out unused MPU regions + * in xMPUSettings. */ + ulIndex = portSTACK_REGION; + + xMPUSettings->xRegion[ ulIndex ].ulRegionBaseAddress = ( uint32_t ) __SRAM_segment_start__; + xMPUSettings->xRegion[ ulIndex ].ulRegionSize = ( ulRegionLengthEncoded | + portMPU_REGION_ENABLE ); + xMPUSettings->xRegion[ ulIndex ].ulRegionAttribute = ( portMPU_REGION_PRIV_RW_USER_RW_NOEXEC | + portMPU_REGION_NORMAL_OIWTNOWA_SHARED ); + } + else + { + for( ulIndex = 0UL; ulIndex < portNUM_CONFIGURABLE_REGIONS; ulIndex++ ) + { + /* If a length has been provided, the region is in use. */ + if( ( xRegions[ ulIndex ] ).ulLengthInBytes > 0UL ) + { + ulRegionLength = xRegions[ ulIndex ].ulLengthInBytes; + ulRegionLengthEncoded = prvGetMPURegionSizeEncoding( ulRegionLength ); + + /* MPU region base address must be aligned to the region size + * boundary. */ + ulRegionLengthDecoded = 2UL << ( ulRegionLengthEncoded >> 1UL ); + configASSERT( ( ( ( uint32_t ) xRegions[ ulIndex ].pvBaseAddress ) % ( ulRegionLengthDecoded ) ) == 0UL ); + + xMPUSettings->xRegion[ ulIndex ].ulRegionBaseAddress = ( uint32_t ) xRegions[ ulIndex ].pvBaseAddress; + xMPUSettings->xRegion[ ulIndex ].ulRegionSize = ( ulRegionLengthEncoded | + portMPU_REGION_ENABLE ); + xMPUSettings->xRegion[ ulIndex ].ulRegionAttribute = xRegions[ ulIndex ].ulParameters; + } + else + { + xMPUSettings->xRegion[ ulIndex ].ulRegionBaseAddress = 0x0UL; + xMPUSettings->xRegion[ ulIndex ].ulRegionSize = 0x0UL; + xMPUSettings->xRegion[ ulIndex ].ulRegionAttribute = 0x0UL; + } + } + + /* This function is called automatically when the task is created - in + * which case the stack region parameters will be valid. At all other + * times the stack parameters will not be valid and it is assumed that the + * stack region has already been configured. */ + if( ulStackDepth != 0x0UL ) + { + ulRegionLengthEncoded = prvGetMPURegionSizeEncoding( ulStackDepth * ( uint32_t ) sizeof( StackType_t ) ); + + /* MPU region base address must be aligned to the region size + * boundary. */ + ulRegionLengthDecoded = 2UL << ( ulRegionLengthEncoded >> 1UL ); + configASSERT( ( ( uint32_t ) pxBottomOfStack % ( ulRegionLengthDecoded ) ) == 0U ); + + ulIndex = portSTACK_REGION; + xMPUSettings->xRegion[ ulIndex ].ulRegionBaseAddress = ( uint32_t ) pxBottomOfStack; + xMPUSettings->xRegion[ ulIndex ].ulRegionSize = ( ulRegionLengthEncoded | + portMPU_REGION_ENABLE );; + xMPUSettings->xRegion[ ulIndex ].ulRegionAttribute = ( portMPU_REGION_PRIV_RW_USER_RW_NOEXEC | + portMPU_REGION_NORMAL_OIWTNOWA_SHARED ); + } + } +} + +/* ----------------------------------------------------------------------------------- */ + +/* PRIVILEGED_FUNCTION */ +BaseType_t xPortIsTaskPrivileged( void ) +{ + BaseType_t xTaskIsPrivileged = pdFALSE; + + /* Calling task's MPU settings. */ + const xMPU_SETTINGS * xTaskMpuSettings = xTaskGetMPUSettings( NULL ); + + if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) + { + xTaskIsPrivileged = pdTRUE; + } + + return xTaskIsPrivileged; +} + +/* ----------------------------------------------------------------------------------- */ + +/* PRIVILEGED_FUNCTION */ +BaseType_t xPortStartScheduler( void ) +{ + /* Start the timer that generates the tick ISR. */ + configSETUP_TICK_INTERRUPT(); + + /* Configure MPU regions that are common to all tasks. */ + prvSetupMPU(); + + prvPortSchedulerRunning = pdTRUE; + + /* Load the context of the first task. */ + vPortStartFirstTask(); + + /* Will only get here if vTaskStartScheduler() was called with the CPU in + * a non-privileged mode or the binary point register was not set to its lowest + * possible value. prvTaskExitError() is referenced to prevent a compiler + * warning about it being defined but not referenced in the case that the user + * defines their own exit address. */ + ( void ) prvTaskExitError(); + return pdFALSE; +} + +/* ----------------------------------------------------------------------------------- */ + +/* PRIVILEGED_FUNCTION */ +static uint32_t prvGetMPURegionSizeEncoding( uint32_t ulActualMPURegionSize ) +{ + uint32_t ulRegionSize, ulReturnValue = 4U; + + /* 32 bytes is the smallest valid region for Cortex R4 and R5 CPUs. */ + for( ulRegionSize = 0x20UL; ulReturnValue < 0x1FUL; ( ulRegionSize <<= 1UL ) ) + { + if( ulActualMPURegionSize <= ulRegionSize ) + { + break; + } + else + { + ulReturnValue++; + } + } + + /* Shift the code by one before returning so it can be written directly + * into the the correct bit position of the attribute register. */ + return ulReturnValue << 1UL; +} + +/* ----------------------------------------------------------------------------------- */ + +/* PRIVILEGED_FUNCTION */ +static void prvSetupMPU( void ) +{ +#if defined( __ARMCC_VERSION ) + /* Declaration when these variable are defined in code. */ + /* Sections used for FLASH. */ + extern uint32_t * __FLASH_segment_start__; + extern uint32_t * __FLASH_segment_end__; + extern uint32_t * __privileged_functions_start__; + extern uint32_t * __privileged_functions_end__; + + /* Sections used for RAM. */ + extern uint32_t * __SRAM_segment_start__; + extern uint32_t * __SRAM_segment_end__; + extern uint32_t * __privileged_data_start__; + extern uint32_t * __privileged_data_end__; +#else + /* Declaration when these variable are exported from linker scripts. */ + /* Sections used for FLASH. */ + extern uint32_t __FLASH_segment_start__[]; + extern uint32_t __FLASH_segment_end__[]; + extern uint32_t __privileged_functions_start__[]; + extern uint32_t __privileged_functions_end__[]; + + /* Sections used for RAM. */ + extern uint32_t __SRAM_segment_start__[]; + extern uint32_t __SRAM_segment_end__[]; + extern uint32_t __privileged_data_start__[]; + extern uint32_t __privileged_data_end__[]; +#endif /* if defined( __ARMCC_VERSION ) */ + + uint32_t ulRegionLength; + uint32_t ulRegionLengthEncoded; + + /* Disable the MPU before programming it. */ + vMPUDisable(); + + /* Priv: RX, Unpriv: RX for entire Flash. */ + ulRegionLength = ( uint32_t ) __FLASH_segment_end__ - ( uint32_t ) __FLASH_segment_start__; + ulRegionLengthEncoded = prvGetMPURegionSizeEncoding( ulRegionLength ); + vMPUSetRegion( portUNPRIVILEGED_FLASH_REGION, + ( uint32_t ) __FLASH_segment_start__, + ( ulRegionLengthEncoded | portMPU_REGION_ENABLE ), + ( portMPU_REGION_PRIV_RO_USER_RO_EXEC | + portMPU_REGION_NORMAL_OIWTNOWA_SHARED ) ); + + /* Priv: RX, Unpriv: No access for privileged functions. */ + ulRegionLength = ( uint32_t ) __privileged_functions_end__ - ( uint32_t ) __privileged_functions_start__; + ulRegionLengthEncoded = prvGetMPURegionSizeEncoding( ulRegionLength ); + vMPUSetRegion( portPRIVILEGED_FLASH_REGION, + ( uint32_t ) __privileged_functions_start__, + ( ulRegionLengthEncoded | portMPU_REGION_ENABLE ), + ( portMPU_REGION_PRIV_RO_USER_NA_EXEC | + portMPU_REGION_NORMAL_OIWTNOWA_SHARED ) ); + + /* Priv: RW, Unpriv: No Access for privileged data. */ + ulRegionLength = ( uint32_t ) __privileged_data_end__ - ( uint32_t ) __privileged_data_start__; + ulRegionLengthEncoded = prvGetMPURegionSizeEncoding( ulRegionLength ); + vMPUSetRegion( portPRIVILEGED_RAM_REGION, + ( uint32_t ) __privileged_data_start__, + ( ulRegionLengthEncoded | portMPU_REGION_ENABLE ), + ( portMPU_REGION_PRIV_RW_USER_NA_NOEXEC | + portMPU_REGION_PRIV_RW_USER_NA_NOEXEC ) ); + + /* Enable the MPU background region - it allows privileged operating modes + * access to unmapped regions of memory without generating a fault. */ + vMPUEnableBackgroundRegion(); + + /* After setting default regions, enable the MPU. */ + vMPUEnable(); +} + +/* ----------------------------------------------------------------------------------- */ + +/* PRIVILEGED_FUNCTION */ +static BaseType_t prvMPURegionAuthorizesBuffer( const xMPU_REGION_REGISTERS * xTaskMPURegion, + const uint32_t ulBufferStart, + const uint32_t ulBufferLength, + const uint32_t ulAccessRequested ) +{ + BaseType_t xAccessGranted = pdFALSE; + uint32_t ulBufferEnd; + uint32_t ulMPURegionLength; + uint32_t ulMPURegionStart; + uint32_t ulMPURegionEnd; + uint32_t ulMPURegionAccessPermissions; + + if( portADD_UINT32_WILL_OVERFLOW( ulBufferStart, ( ulBufferLength - 1UL ) ) == pdFALSE ) + { + ulBufferEnd = ulBufferStart + ulBufferLength - 1UL; + ulMPURegionLength = 2UL << ( xTaskMPURegion->ulRegionSize >> 1UL ); + ulMPURegionStart = xTaskMPURegion->ulRegionBaseAddress; + ulMPURegionEnd = xTaskMPURegion->ulRegionBaseAddress + ulMPURegionLength - 1UL; + + if( ( ulBufferStart >= ulMPURegionStart ) && + ( ulBufferEnd <= ulMPURegionEnd ) && + ( ulBufferStart <= ulBufferEnd ) ) + { + ulMPURegionAccessPermissions = xTaskMPURegion->ulRegionAttribute & portMPU_REGION_AP_BITMASK; + + if( ulAccessRequested == tskMPU_READ_PERMISSION ) /* RO. */ + { + if( ( ulMPURegionAccessPermissions == portMPU_REGION_PRIV_RW_USER_RO ) || + ( ulMPURegionAccessPermissions == portMPU_REGION_PRIV_RO_USER_RO ) ) + { + xAccessGranted = pdTRUE; + } + } + else if( ( ulAccessRequested & tskMPU_WRITE_PERMISSION ) != 0UL ) /* W or RW. */ + { + if( ulMPURegionAccessPermissions == portMPU_REGION_PRIV_RW_USER_RW ) + { + xAccessGranted = pdTRUE; + } + } + } + } + + return xAccessGranted; +} + +/* ----------------------------------------------------------------------------------- */ + +/* PRIVILEGED_FUNCTION */ +BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, + uint32_t ulBufferLength, + uint32_t ulAccessRequested ) +{ + BaseType_t xAccessGranted = pdFALSE; + uint32_t ulRegionIndex; + xMPU_SETTINGS * xTaskMPUSettings = NULL; + + if( prvPortSchedulerRunning == pdFALSE ) + { + /* Grant access to all the memory before the scheduler is started. It is + * necessary because there is no task running yet and therefore, we + * cannot use the permissions of any task. */ + xAccessGranted = pdTRUE; + } + else + { + /* Calling task's MPU settings. */ + xTaskMPUSettings = xTaskGetMPUSettings( NULL ); + + if( ( xTaskMPUSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) + { + /* Privileged tasks have access to all the memory. */ + xAccessGranted = pdTRUE; + } + else + { + for( ulRegionIndex = 0x0UL; ulRegionIndex < portTOTAL_NUM_REGIONS_IN_TCB; ulRegionIndex++ ) + { + xAccessGranted = prvMPURegionAuthorizesBuffer( &( xTaskMPUSettings->xRegion[ ulRegionIndex ] ), + ( uint32_t ) pvBuffer, + ulBufferLength, + ulAccessRequested ); + + if( xAccessGranted == pdTRUE ) + { + break; + } + } + } + } + + return xAccessGranted; +} + +/* ----------------------------------------------------------------------------------- */ + +#if( configENABLE_ACCESS_CONTROL_LIST == 1 ) + +/* PRIVILEGED_FUNCTION */ +BaseType_t xPortIsAuthorizedToAccessKernelObject( int32_t lInternalIndexOfKernelObject ) +{ + uint32_t ulAccessControlListEntryIndex, ulAccessControlListEntryBit; + BaseType_t xAccessGranted = pdFALSE; + const xMPU_SETTINGS * xTaskMpuSettings; + + if( prvPortSchedulerRunning == pdFALSE ) + { + /* Grant access to all the kernel objects before the scheduler + * is started. It is necessary because there is no task running + * yet and therefore, we cannot use the permissions of any + * task. */ + xAccessGranted = pdTRUE; + } + else + { + /* Calling task's MPU settings. */ + xTaskMpuSettings = xTaskGetMPUSettings( NULL ); + + ulAccessControlListEntryIndex = ( ( uint32_t ) lInternalIndexOfKernelObject + / portACL_ENTRY_SIZE_BITS ); + ulAccessControlListEntryBit = ( ( uint32_t ) lInternalIndexOfKernelObject + % portACL_ENTRY_SIZE_BITS ); + + if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) + { + xAccessGranted = pdTRUE; + } + else + { + if( ( ( xTaskMpuSettings->ulAccessControlList[ ulAccessControlListEntryIndex ] ) & + ( 1U << ulAccessControlListEntryBit ) ) != 0UL ) + { + xAccessGranted = pdTRUE; + } + } + } + + return xAccessGranted; +} + +#else + +/* PRIVILEGED_FUNCTION */ +BaseType_t xPortIsAuthorizedToAccessKernelObject( int32_t lInternalIndexOfKernelObject ) +{ + ( void ) lInternalIndexOfKernelObject; + + /* If Access Control List feature is not used, all the tasks have + * access to all the kernel objects. */ + return pdTRUE; +} + +#endif /* #if ( configENABLE_ACCESS_CONTROL_LIST == 1 ) */ + +/* ----------------------------------------------------------------------------------- */ + +#if( configENABLE_ACCESS_CONTROL_LIST == 1 ) + +/* PRIVILEGED_FUNCTION */ +void vPortGrantAccessToKernelObject( TaskHandle_t xInternalTaskHandle, + int32_t lInternalIndexOfKernelObject ) +{ + uint32_t ulAccessControlListEntryIndex, ulAccessControlListEntryBit; + xMPU_SETTINGS * xTaskMpuSettings; + + ulAccessControlListEntryIndex = ( ( uint32_t ) lInternalIndexOfKernelObject + / portACL_ENTRY_SIZE_BITS ); + ulAccessControlListEntryBit = ( ( uint32_t ) lInternalIndexOfKernelObject + % portACL_ENTRY_SIZE_BITS ); + + xTaskMpuSettings = xTaskGetMPUSettings( xInternalTaskHandle ); + + xTaskMpuSettings->ulAccessControlList[ ulAccessControlListEntryIndex ] |= ( 1U << ulAccessControlListEntryBit ); +} + +#endif /* #if ( configENABLE_ACCESS_CONTROL_LIST == 1 ) */ + +/* ----------------------------------------------------------------------------------- */ + +#if( configENABLE_ACCESS_CONTROL_LIST == 1 ) + +/* PRIVILEGED_FUNCTION */ +void vPortRevokeAccessToKernelObject( TaskHandle_t xInternalTaskHandle, + int32_t lInternalIndexOfKernelObject ) +{ + uint32_t ulAccessControlListEntryIndex, ulAccessControlListEntryBit; + xMPU_SETTINGS * xTaskMpuSettings; + + ulAccessControlListEntryIndex = ( ( uint32_t ) lInternalIndexOfKernelObject + / portACL_ENTRY_SIZE_BITS ); + ulAccessControlListEntryBit = ( ( uint32_t ) lInternalIndexOfKernelObject + % portACL_ENTRY_SIZE_BITS ); + + xTaskMpuSettings = xTaskGetMPUSettings( xInternalTaskHandle ); + + xTaskMpuSettings->ulAccessControlList[ ulAccessControlListEntryIndex ] &= ~( 1U << ulAccessControlListEntryBit ); +} + +#endif /* #if ( configENABLE_ACCESS_CONTROL_LIST == 1 ) */ + +/* ----------------------------------------------------------------------------------- */ + +void prvTaskExitError( void ) +{ + /* A function that implements a task must not exit or attempt to return to + * its caller as there is nothing to return to. If a task wants to exit it + * should instead call vTaskDelete( NULL ). + * + * Artificially force an assert() to be triggered if configASSERT() is + * defined, then stop here so application writers can catch the error. */ + configASSERT( ulPortInterruptNesting == ~0UL ); + + for( ;; ) + { + } +} + +/* ----------------------------------------------------------------------------------- */ + +void vPortEndScheduler( void ) +{ + prvPortSchedulerRunning = pdFALSE; + + /* Not implemented in this port. Artificially force an assert. */ + configASSERT( prvPortSchedulerRunning == pdTRUE ); +} + +/* ----------------------------------------------------------------------------------- */ + +/* PRIVILEGED_FUNCTION */ +void vPortEnterCritical( void ) +{ + portDISABLE_INTERRUPTS(); + + /* Now that interrupts are disabled, ulCriticalNesting can be accessed + * directly. Increment ulCriticalNesting to keep a count of how many times + * portENTER_CRITICAL() has been called. */ + ulCriticalNesting++; + + /* This is not the interrupt safe version of the enter critical function so + * assert() if it is being called from an interrupt context. Only API + * functions that end in "FromISR" can be used in an interrupt. Only assert + * if the critical nesting count is 1 to protect against recursive calls if + * the assert function also uses a critical section. */ + if( ulCriticalNesting == 1 ) + { + configASSERT( ulPortInterruptNesting == 0 ); + } +} +/* ----------------------------------------------------------------------------------- */ + +/* PRIVILEGED_FUNCTION */ +void vPortExitCritical( void ) +{ + if( ulCriticalNesting > portNO_CRITICAL_NESTING ) + { + /* Decrement the nesting count as the critical section is being + * exited. */ + ulCriticalNesting--; + + /* If the nesting level has reached zero then all interrupt + * priorities must be re-enabled. */ + if( ulCriticalNesting == portNO_CRITICAL_NESTING ) + { + /* Critical nesting has reached zero so all interrupt priorities + * should be unmasked. */ + portENABLE_INTERRUPTS(); + } + } +} +/* ----------------------------------------------------------------------------------- */ diff --git a/portable/GCC/ARM_CRx_MPU/portASM.S b/portable/GCC/ARM_CRx_MPU/portASM.S new file mode 100644 index 000000000..cac0fc406 --- /dev/null +++ b/portable/GCC/ARM_CRx_MPU/portASM.S @@ -0,0 +1,498 @@ +/* + * FreeRTOS Kernel + * Copyright (C) 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + + .arm + .syntax unified + .section privileged_functions + +#define FREERTOS_ASSEMBLY + #include "portmacro_asm.h" + #include "mpu_syscall_numbers.h" +#undef FREERTOS_ASSEMBLY + + /* External FreeRTOS-Kernel variables. */ + .extern pxCurrentTCB + .extern uxSystemCallImplementations + .extern ulPortInterruptNesting + .extern ulPortYieldRequired + + /* External Llnker script variables. */ + .extern __syscalls_flash_start__ + .extern __syscalls_flash_end__ + + /* External FreeRTOS-Kernel functions. */ + .extern vTaskSwitchContext + .extern vApplicationIRQHandler + +/* ----------------------------------------------------------------------------------- */ + +/* Save the context of a FreeRTOS Task. */ +.macro portSAVE_CONTEXT + DSB + ISB + /* Push R0 and LR to the stack for current mode. */ + PUSH { R0, LR } + + LDR LR, =pxCurrentTCB /* LR = &( pxCurrentTCB ). */ + LDR LR, [LR] /* LR = pxCurrentTCB. */ + LDR LR, [LR] /* LR = pxTopOfStack i.e. the address where to store the task context. */ + + LDR R0, =ulCriticalNesting /* R0 = &( ulCriticalNesting ). */ + LDR R0, [R0] /* R0 = ulCriticalNesting. */ + STM LR!, { R0 } /* Store ulCriticalNesting. ! increments LR after storing. */ + +#if ( portENABLE_FPU == 1 ) + VMRS R0, FPSCR /* R0 = FPSCR. */ + STM LR!, { R0 } /* Store FPSCR. */ + VSTM LR!, { D0-D15 } /* Store D0-D15. */ +#endif /* ( portENABLE_FPU == 1 ) */ + + POP { R0 } /* Restore R0 to pre-exception value. */ + /* STM (user registers) - In a PL1 mode other than System mode, STM (user + * registers) instruction stores multiple User mode registers to + * consecutive memory locations using an address from a base register. The + * processor reads the base register value normally, using the current mode + * to determine the correct Banked version of the register. This instruction + * cannot writeback to the base register. + * + * The following can be derived from the above description: + * - The macro portSAVE_CONTEXT MUST be called from a PL1 mode other than + * the System mode. + * - Base register LR of the current mode will be used which contains the + * location to store the context. + * - It will store R0-R14 of User mode i.e. pre-exception SP(R13) and LR(R14) + * will be stored. */ + STM LR, { R0-R14 }^ + ADD LR, LR, #60 /* R0-R14 - Total 155 register, each 4 byte wide. */ + + POP { R0 } /* Pre-exception PC is in R0. */ + MRS R1, SPSR /* R1 = Pre-exception CPSR. */ + STM LR!, { R0-R1 } /* Store pre-exception PC and CPSR. */ + +.endm + +/* ----------------------------------------------------------------------------------- */ + +/* Restore the context of a FreeRTOS Task. */ +.macro portRESTORE_CONTEXT + /* Load the pointer to the current task's Task Control Block (TCB). */ + LDR LR, =pxCurrentTCB /* LR = &( pxCurrentTCB ). */ + LDR LR, [LR] /* LR = pxCurrentTCB. */ + ADD R1, LR, #0x4 /* R1 now points to the xMPUSettings in TCB. */ + LDR LR, [LR] /* LR = pxTopOfStack i.e. the address where to restore the task context from. */ + + /* When creating a loop label in a macro it has to be a numeric label. + * for( R5 = portFIRST_CONFIGURABLE_REGION ; R5 <= portNUM_CONFIGURABLE_REGIONS ; R5++ ) */ + MOV R5, #portFIRST_CONFIGURABLE_REGION + 123: + LDMIA R1!, { R2-R4 } /* R2 = ulRegionSize, R3 = ulRegionAttribute, R4 = ulRegionBaseAddress. */ + + MCR p15, #0, R5, c6, c2, #0 /* MPU Region Number Register. */ + MCR p15, #0, R4, c6, c1, #0 /* MPU Region Base Address Register. */ + MCR p15, #0, R3, c6, c1, #4 /* MPU Region Access Control Register. */ + MCR p15, #0, R2, c6, c1, #2 /* MPU Region Size and Enable Register. */ + + ADD R5, R5, #1 + CMP R5, #portNUM_CONFIGURABLE_REGIONS + BLE 123b + + LDR R1, =ulCriticalNesting /* R1 = &( ulCriticalNesting ). */ + LDM LR!, { R2 } /* R2 = Stored ulCriticalNesting. */ + STR R2, [R1] /* Restore ulCriticalNesting. */ + +#if ( portENABLE_FPU == 1 ) + LDM LR!, { R1 } /* R1 = Stored FPSCR. */ + VMSR FPSCR, R1 /* Restore FPSCR. */ + VLDM LR!, { D0-D15 } /* Restore D0-D15. */ +#endif /* portENABLE_FPU*/ + + /* LDM (User registers) - In a PL1 mode other than System mode, LDM (User + * registers) loads multiple User mode registers from consecutive memory + * locations using an address from a base register. The registers loaded + * cannot include the PC. The processor reads the base register value + * normally, using the current mode to determine the correct Banked version + * of the register. This instruction cannot writeback to the base register. + * + * The following can be derived from the above description: + * - The macro portRESTORE_CONTEXT MUST be called from a PL1 mode other than + * the System mode. + * - Base register LR of the current mode will be used which contains the + * location to restore the context from. + * - It will restore R0-R14 of User mode i.e. SP(R13) and LR(R14) of User + * mode will be restored. + */ + LDM LR, { R0-R14 }^ + ADD LR, LR, #60 /* R0-R14 - Total 155 register, each 4 byte wide. */ + + RFE LR /* Restore PC and CPSR from the context. */ + +.endm + +/* ----------------------------------------------------------------------------------- */ + +/* + * void vPortStartFirstTask( void ); + */ +.align 4 +.global vPortStartFirstTask +.type vPortStartFirstTask, %function +vPortStartFirstTask: + /* This function is called from System Mode to start the FreeRTOS-Kernel. + * As described in the portRESTORE_CONTEXT macro, portRESTORE_CONTEXT cannot + * be called from the System mode. We, therefore, switch to the Supervisor + * mode before calling portRESTORE_CONTEXT. */ + CPS #SVC_MODE + portRESTORE_CONTEXT + +/* ----------------------------------------------------------------------------------- */ + +.align 4 +.global FreeRTOS_SVC_Handler +.type FreeRTOS_SVC_Handler, %function +FreeRTOS_SVC_Handler: + PUSH { R11-R12 } + + /* ------------------------- Caller Flash Location Check ------------------------- */ + + LDR R11, =__syscalls_flash_start__ + LDR R12, =__syscalls_flash_end__ + CMP LR, R11 /* If SVC instruction address is less than __syscalls_flash_start__, exit. */ + BLT svcHandlerExit + CMP LR, R12 /* If SVC instruction address is greater than __syscalls_flash_end__, exit. */ + BGT svcHandlerExit + + /* ---------------------------- Get Caller SVC Number ---------------------------- */ + + MRS R11, SPSR /* LR = CPSR at the time of SVC. */ + TST R11, #0x20 /* Check Thumb bit (5) in CPSR. */ + LDRHNE R11, [LR, #-0x2] /* If Thumb, load halfword. */ + BICNE R11, R11, #0xFF00 /* And extract immidiate field (i.e. SVC number). */ + LDREQ R11, [LR, #-0x4] /* If ARM, load word. */ + BICEQ R11, R11, #0xFF000000 /* And extract immidiate field (i.e. SVC number). */ + + /* --------------------------------- SVC Routing --------------------------------- */ + + /* If SVC Number < #NUM_SYSTEM_CALLS, go to svcSystemCallEnter. */ + CMP R11, #NUM_SYSTEM_CALLS + BLT svcSystemCallEnter + + /* If SVC Number == #portSVC_SYSTEM_CALL_EXIT, go to svcSystemCallExit. */ + CMP R11, #portSVC_SYSTEM_CALL_EXIT + BEQ svcSystemCallExit + + /* If SVC Number == #portSVC_YIELD, go to svcPortYield. */ + CMP R11, #portSVC_YIELD + BEQ svcPortYield + +svcHandlerExit: + POP { R11-R12 } + MOVS PC, LR /* Copies the SPSR into the CPSR, performing the mode swap. */ + +svcPortYield: + POP { R11-R12 } + portSAVE_CONTEXT + BL vTaskSwitchContext + portRESTORE_CONTEXT + +svcSystemCallExit: + LDR R11, =pxCurrentTCB /* R11 = &( pxCurrentTCB ). */ + LDR R11, [R11] /* R11 = pxCurrentTCB. */ + ADD R11, R11, #portSYSTEM_CALL_INFO_OFFSET /* R11 now points to xSystemCallStackInfo in TCB. */ + + /* Restore the user mode SP and LR. */ + LDM R11, { R13-R14 }^ + + AND R12, R12, #0x0 /* R12 = 0. */ + STR R12, [R11] /* xSystemCallStackInfo.pulTaskStackPointer = NULL. */ + STR R12, [R11, #0x4] /* xSystemCallStackInfo.pulLinkRegisterAtSystemCallEntry = NULL. */ + + LDMDB R11, { R12 } /* R12 = ulTaskFlags. */ + + TST R12, #portTASK_IS_PRIVILEGED_FLAG + /* If the task is privileged, we can exit now. */ + BNE svcHandlerExit + /* Otherwise, we need to switch back to User mode. */ + MRS R12, SPSR + BIC R12, R12, #0x0F + MSR SPSR_cxsf, R12 + + B svcHandlerExit + +svcSystemCallEnter: + LDR R12, =uxSystemCallImplementations /* R12 = uxSystemCallImplementations. */ + /* R12 = uxSystemCallImplementations[ R12 + ( R11 << 2 ) ]. + * R12 now contains the address of the system call impl function. */ + LDR R12, [R12, R11, lsl #2] + + /* If R12 == NULL, exit. */ + CMP R12, #0x0 + BEQ svcHandlerExit + + /* It is okay to clobber LR here because we do not need to return to the + * SVC enter location anymore. LR now contains the address of the system + * call impl function. */ + MOV LR, R12 + + LDR R11, =pxCurrentTCB /* R11 = &( pxCurrentTCB ). */ + LDR R11, [R11] /* R11 = pxCurrentTCB. */ + ADD R11, R11, #portSYSTEM_CALL_INFO_OFFSET /* R11 now points to xSystemCallStackInfo in TCB. */ + + /* Store User mode SP and LR in xSystemCallStackInfo.pulTaskStackPointer and + * xSystemCallStackInfo.pulLinkRegisterAtSystemCallEntry. */ + STM R11, { R13-R14 }^ + ADD R11, R11, 0x8 + + /* Load User mode SP an LR with xSystemCallStackInfo.pulSystemCallStackPointer + * and xSystemCallStackInfo.pulSystemCallExitAddress. */ + LDM R11, { R13-R14 }^ + + /* Change to SYS_MODE for the System Call. */ + MRS R12, SPSR + ORR R12, R12, #SYS_MODE + MSR SPSR_cxsf, R12 + + B svcHandlerExit + +/* ----------------------------------------------------------------------------------- */ + +/* + * void vPortDisableInterrupts( void ); + */ +.align 4 +.global vPortDisableInterrupts +.type vPortDisableInterrupts, %function +vPortDisableInterrupts: + CPSID I + BX LR + +/* ----------------------------------------------------------------------------------- */ + +/* + * void vPortEnableInterrupts( void ); + */ +.align 4 +.global vPortEnableInterrupts +.type vPortEnableInterrupts, %function +vPortEnableInterrupts: + CPSIE I + BX LR + +/* ----------------------------------------------------------------------------------- */ + +/* + * void vMPUSetRegion( uint32_t ulRegionNumber, + * uint32_t ulBaseAddress, + * uint32_t ulRegionSize, + * uint32_t ulRegionPermissions ); + * + * According to the Procedure Call Standard for the ARM Architecture (AAPCS), + * paramters are passed in the following registers: + * R0 = ulRegionNumber. + * R1 = ulBaseAddress. + * R2 = ulRegionSize. + * R3 = ulRegionPermissions. + */ +.align 4 +.global vMPUSetRegion +.type vMPUSetRegion, %function +vMPUSetRegion: + AND R0, R0, #0x0F /* R0 = R0 & 0x0F. Max possible region number is 15. */ + + MCR p15, #0, R0, c6, c2, #0 /* MPU Region Number Register. */ + MCR p15, #0, R1, c6, c1, #0 /* MPU Region Base Address Register. */ + MCR p15, #0, R3, c6, c1, #4 /* MPU Region Access Control Register. */ + MCR p15, #0, R2, c6, c1, #2 /* MPU Region Size and Enable Register. */ + + BX LR + +/* ----------------------------------------------------------------------------------- */ + +/* + * void vMPUEnable( void ); + */ +.align 4 +.global vMPUEnable +.type vMPUEnable, %function +vMPUEnable: + PUSH { R0 } + + MRC p15, #0, R0, c1, c0, #0 /* R0 = System Control Register (SCTLR). */ + ORR R0, R0, #0x1 /* R0 = R0 | 0x1. Set the M bit in SCTLR. */ + DSB + MCR p15, #0, R0, c1, c0, #0 /* SCTLR = R0. */ + ISB + + POP { R0 } + BX LR + +/* ----------------------------------------------------------------------------------- */ + +/* + * void vMPUDisable( void ); + */ +.align 4 +.global vMPUDisable +.type vMPUDisable, %function +vMPUDisable: + PUSH { R0 } + + MRC p15, #0, R0, c1, c0, #0 /* R0 = System Control Register (SCTLR). */ + BIC R0, R0, #1 /* R0 = R0 & ~0x1. Clear the M bit in SCTLR. */ + /* Wait for all pending data accesses to complete. */ + DSB + MCR p15, #0, R0, c1, c0, #0 /* SCTLR = R0. */ + /* Flush the pipeline and prefetch buffer(s) in the processor to ensure that + * all following instructions are fetched from cache or memory. */ + ISB + + POP { R0 } + BX LR + +/* ----------------------------------------------------------------------------------- */ + +/* + * void vMPUEnableBackgroundRegion( void ); + */ +.align 4 +.global vMPUEnableBackgroundRegion +.type vMPUEnableBackgroundRegion, %function +vMPUEnableBackgroundRegion: + PUSH { R0 } + + MRC p15, #0, R0, c1, c0, #0 /* R0 = System Control Register (SCTLR). */ + ORR R0, R0, #0x20000 /* R0 = R0 | 0x20000. Set the BR bit in SCTLR. */ + MCR p15, #0, R0, c1, c0, #0 /* SCTLR = R0. */ + + POP { R0 } + BX LR + +/* ----------------------------------------------------------------------------------- */ + +/* + * void vMPUDisableBackgroundRegion( void ); + */ +.align 4 +.global vMPUDisableBackgroundRegion +.type vMPUDisableBackgroundRegion, %function +vMPUDisableBackgroundRegion: + PUSH { R0 } + + MRC p15, 0, R0, c1, c0, 0 /* R0 = System Control Register (SCTLR). */ + BIC R0, R0, #0x20000 /* R0 = R0 & ~0x20000. Clear the BR bit in SCTLR. */ + MCR p15, 0, R0, c1, c0, 0 /* SCTLR = R0. */ + + POP { R0 } + BX LR + +/* ----------------------------------------------------------------------------------- */ + +.align 4 +.global FreeRTOS_IRQ_Handler +.type FreeRTOS_IRQ_Handler, %function +FreeRTOS_IRQ_Handler: + SUB LR, LR, #4 /* Return to the interrupted instruction. */ + SRSDB SP!, #IRQ_MODE /* Save return state (i.e. SPSR_irq and LR_irq) to the IRQ stack. */ + + /* Change to supervisor mode to allow reentry. It is necessary to ensure + * that a BL instruction within the interrupt handler code does not + * overwrite LR_irq. */ + CPS #SVC_MODE + + PUSH { R0-R3, R12 } /* Push AAPCS callee saved registers. */ + + /* Update interrupt nesting count. */ + LDR R0, =ulPortInterruptNesting /* R0 = &( ulPortInterruptNesting ). */ + LDR R1, [R0] /* R1 = ulPortInterruptNesting. */ + ADD R2, R1, #1 /* R2 = R1 + 1. */ + STR R2, [R0] /* Store the updated nesting count. */ + + /* Call the application provided IRQ handler. */ + PUSH { R0-R3, LR } + BL vApplicationIRQHandler + POP { R0-R3, LR } + + /* Disable IRQs incase vApplicationIRQHandler enabled them for re-entry. */ + CPSID I + DSB + ISB + + /* Restore the old interrupt nesting count. R0 holds the address of + * ulPortInterruptNesting and R1 holds original value of + * ulPortInterruptNesting. */ + STR R1, [R0] + + /* Context swtich is only performed when interrupt nesting count is 0. */ + CMP R1, #0 + BNE exit_without_switch + + /* Check ulPortInterruptNesting to see if the interrupt requested a context + * switch. */ + LDR R1, =ulPortYieldRequired /* R1 = &( ulPortYieldRequired ). */ + LDR R0, [R1] /* R0 = ulPortYieldRequired. */ + /* If ulPortYieldRequired != 0, goto switch_before_exit. */ + CMP R0, #0 + BNE switch_before_exit + +exit_without_switch: + POP { R0-R3, R12 } /* Restore AAPCS callee saved registers. */ + CPS #IRQ_MODE + RFE SP! + +switch_before_exit: + /* A context swtich is to be performed. Clear ulPortYieldRequired. R1 holds + * the address of ulPortYieldRequired. */ + MOV R0, #0 + STR R0, [R1] + + /* Restore AAPCS callee saved registers, SPSR_irq and LR_irq before saving + * the task context. */ + POP { R0-R3, R12 } + CPS #IRQ_MODE + /* The contents of the IRQ stack at this point is the following: + * +----------+ + * SP+4 | SPSR_irq | + * +----------+ + * SP | LR_irq | + * +----------+ + */ + LDMIB SP!, { LR } + MSR SPSR_cxsf, LR + LDMDB SP, { LR } + ADD SP, SP, 0x4 + portSAVE_CONTEXT + + /* Call the function that selects the new task to execute. */ + BLX vTaskSwitchContext + + /* Restore the context of, and branch to, the task selected to execute + * next. */ + portRESTORE_CONTEXT + +/* ----------------------------------------------------------------------------------- */ + +.end diff --git a/portable/GCC/ARM_CRx_MPU/portmacro.h b/portable/GCC/ARM_CRx_MPU/portmacro.h new file mode 100644 index 000000000..4ca649f6e --- /dev/null +++ b/portable/GCC/ARM_CRx_MPU/portmacro.h @@ -0,0 +1,522 @@ +/* + * FreeRTOS Kernel + * Copyright (C) 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +#ifndef PORTMACRO_H +#define PORTMACRO_H + +/** + * @brief Functions, Defines, and Structs for use in the ARM_CRx_MPU FreeRTOS-Port + * @file portmacro.h + * @note The settings in this file configure FreeRTOS correctly for the given + * hardware and compiler. These settings should not be altered. + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Include stdint for integer types of specific bit widths. */ +#include + +/* ------------------------------ FreeRTOS Config Check ------------------------------ */ + +#ifndef configSYSTEM_CALL_STACK_SIZE + #error "Define configSYSTEM_CALL_STACK_SIZE to a length, in bytes, " \ + "to use when an unprivileged task makes a FreeRTOS Kernel call. " +#endif /* configSYSTEM_CALL_STACK_SIZE */ + +#if( configUSE_MPU_WRAPPERS_V1 == 1 ) + #error This port is usable with MPU wrappers V2 only. +#endif /* configUSE_MPU_WRAPPERS_V1 */ + +#ifndef configSETUP_TICK_INTERRUPT + #error "configSETUP_TICK_INTERRUPT() must be defined in FreeRTOSConfig.h " \ + "to call the function that sets up the tick interrupt." +#endif /* configSETUP_TICK_INTERRUPT */ + +/* ----------------------------------------------------------------------------------- */ + +#if( configUSE_PORT_OPTIMISED_TASK_SELECTION == 1 ) + + /* Check the configuration. */ + #if( configMAX_PRIORITIES > 32 ) + #error "configUSE_PORT_OPTIMISED_TASK_SELECTION can only be set to 1 when " \ + "configMAX_PRIORITIES is less than or equal to 32. " \ + "It is very rare that a system requires more than 10 to 15 difference " \ + "priorities as tasks that share a priority will time slice." + #endif /* ( configMAX_PRIORITIES > 32 ) */ + + /** + * @brief Mark that a task of the given priority is ready. + * + * @ingroup Scheduler + * + * @param[in] uxPriority Priority of the task that is ready. + * @param[in] uxTopReadyPriority Bitmap of the ready tasks priorities. + */ + #define portRECORD_READY_PRIORITY( uxPriority, uxTopReadyPriority ) \ + ( uxTopReadyPriority ) |= ( 1UL << ( uxPriority ) ) + + /** + * @brief Mark that a task of the given priority is no longer ready. + * + * @ingroup Scheduler + * + * @param[in] uxPriority Priority of the task that is no longer ready. + * @param[in] uxTopReadyPriority Bitmap of the ready tasks priorities. + */ + #define portRESET_READY_PRIORITY( uxPriority, uxTopReadyPriority ) \ + ( uxTopReadyPriority ) &= ~( 1UL << ( uxPriority ) ) + + /** + * @brief Determine the highest priority ready task's priority. + * + * @ingroup Scheduler + * + * @param[in] uxTopReadyPriority Bitmap of the ready tasks priorities. + * @param[in] uxTopPriority The highest priority ready task's priority. + */ + #define portGET_HIGHEST_PRIORITY( uxTopPriority, uxTopReadyPriority ) \ + ( uxTopPriority ) = ( 31UL - ulPortCountLeadingZeros( ( uxTopReadyPriority ) ) ) + +#endif /* configUSE_PORT_OPTIMISED_TASK_SELECTION */ + +/* ------------------------------ Port Type Definitions ------------------------------ */ + +#include "portmacro_asm.h" + +/** + * @brief Critical section nesting value. + * + * @ingroup Critical Sections + * + * @note A task exits critical section and enables IRQs when its nesting count + * reaches this value. + */ +#define portNO_CRITICAL_NESTING ( ( uint32_t ) 0x0 ) + +/** + * @brief Bit in Current Program Status Register (CPSR) to indicate that CPU is + * in Thumb State. + * + * @ingroup Task Context + */ +#define portTHUMB_MODE_BIT ( ( StackType_t ) 0x20 ) + +/** + * @brief Bitmask to check if an address is of Thumb Code. + * + * @ingroup Task Context + */ +#define portTHUMB_MODE_ADDRESS ( 0x01UL ) + +/** + * @brief Data type used to represent a stack word. + * + * @ingroup Port Interface Specifications + */ +typedef uint32_t StackType_t; + +/** + * @brief Signed data type equal to the data word operating size of the CPU. + * + * @ingroup Port Interface Specifications + */ +typedef int32_t BaseType_t; + +/** + * @brief Unsigned data type equal to the data word operating size of the CPU. + * + * @ingroup Port Interface Specifications + */ +typedef uint32_t UBaseType_t; + +/** + * @brief Data type used for the FreeRTOS Tick Counter. + * + * @note Using 32-bit tick type on a 32-bit architecture ensures that reads of + * the tick count do not need to be guarded with a critical section. + */ +typedef uint32_t TickType_t; + +/** + * @brief Marks the direction the stack grows on the targeted CPU. + * + * @ingroup Port Interface Specifications + */ +#define portSTACK_GROWTH ( -1 ) + +/** + * @brief Specifies stack pointer alignment requirements of the target CPU. + * + * @ingroup Port Interface Specifications + */ +#define portBYTE_ALIGNMENT 8U + +/** + * @brief Task function prototype macro as described on FreeRTOS.org. + * + * @ingroup Port Interface Specifications + * + * @note This is not required for this port but included in case common demo + * code uses it. + */ +#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) \ + void vFunction( void * pvParameters ) + +/** + * @brief Task function prototype macro as described on FreeRTOS.org. + * + * @ingroup Port Interface Specifications + * + * @note This is not required for this port but included in case common demo + * code uses it. + */ +#define portTASK_FUNCTION( vFunction, pvParameters ) \ + void vFunction( void * pvParameters ) + +/** + * @brief The no-op ARM assembly instruction. + * + * @ingroup Port Interface Specifications + */ +#define portNOP() __asm volatile( "NOP" ) + +/** + * @brief The inline GCC label. + * + * @ingroup Port Interface Specifications + */ +#define portINLINE __inline + +/** + * @brief The memory access synchronization barrier. + * + * @ingroup Port Interface Specifications + */ +#define portMEMORY_BARRIER() __asm volatile( "" ::: "memory" ) + +/** + * @brief Defines if the tick count can be accessed atomically. + * + * @ingroup System Clock + */ +#define portTICK_TYPE_IS_ATOMIC 1 + +/** + * @brief The number of miliseconds between system ticks. + * + * @ingroup System Clock + */ +#define portTICK_PERIOD_MS ( ( TickType_t ) 1000UL / configTICK_RATE_HZ ) + +/** + * @brief The largest possible delay value for any FreeRTOS API. + * + * @ingroup System Clock + */ +#define portMAX_DELAY ( TickType_t ) 0xFFFFFFFFUL + +/* ----------------------------- Port Assembly Functions ----------------------------- */ + +/** + * @brief FreeRTOS Supervisor Call (SVC) Handler. + * + * @ingroup Scheduler + */ +void FreeRTOS_SVC_Handler( void ); + +/** + * @brief FreeRTOS Interrupt Handler. + * + * @ingroup Scheduler + */ +void FreeRTOS_IRQ_Handler( void ); + +/** + * @brief Yield the CPU. + * + * @ingroup Scheduler + */ +void vPortYield( void ); + +#define portYIELD() vPortYield() + +/** + * @brief Enable interrupts. + * + * @ingroup Interrupt Management + */ +void vPortEnableInterrupts( void ); + +#define portENABLE_INTERRUPTS() vPortEnableInterrupts() + +/** + * @brief Disable interrupts. + * + * @ingroup Interrupt Management + */ +void vPortDisableInterrupts( void ); + +#define portDISABLE_INTERRUPTS() vPortDisableInterrupts() + +/** + * @brief Exit from a FreeRTO System Call. + * + * @ingroup Port Privilege + */ +void vPortSystemCallExit( void ); + +/** + * @brief Start executing first task. + * + * @ingroup Scheduler + */ +void vPortStartFirstTask( void ); + +/** + * @brief Enable the onboard MPU. + * + * @ingroup MPU Control + */ +void vMPUEnable( void ); + +/** + * @brief Disable the onboard MPU. + * + * @ingroup MPU Control + */ +void vMPUDisable( void ); + +/** + * @brief Enable the MPU Background Region. + * + * @ingroup MPU Control + */ +void vMPUEnableBackgroundRegion( void ); + +/** + * @brief Disable the MPU Background Region. + * + * @ingroup MPU Control + */ +void vMPUDisableBackgroundRegion( void ); + +/** + * @brief Set permissions for an MPU Region. + * + * @ingroup MPU Control + * + * @param[in] ulRegionNumber The MPU Region Number to set permissions for. + * @param[in] ulBaseAddress The base address of the MPU Region. + * @param[in] ulRegionSize The size of the MPU Region in bytes. + * @param[in] ulRegionPermissions The permissions associated with the MPU Region. + * + * @note This is an internal function and assumes that the inputs to this + * function are checked before calling this function. + */ +void vMPUSetRegion( uint32_t ulRegionNumber, + uint32_t ulBaseAddress, + uint32_t ulRegionSize, + uint32_t ulRegionPermissions ); + +/* ------------------------------- Port.c Declarations ------------------------------- */ + +/** + * @brief Enter critical section. + * + * @ingroup Critical Section + */ +void vPortEnterCritical( void ); + +#define portENTER_CRITICAL() vPortEnterCritical() + +/** + * @brief Exit critical section. + * + * @ingroup Critical Section + */ +void vPortExitCritical( void ); + +#define portEXIT_CRITICAL() vPortExitCritical() + +/** + * @brief Checks whether or not the processor is privileged. + * + * @ingroup Port Privilege + * + * @note The processor privilege level is determined by checking the + * mode bits [4:0] of the Current Program Status Register (CPSR). + * + * @return pdTRUE, if the processer is privileged, pdFALSE otherwise. + */ +BaseType_t xPortIsPrivileged( void ); + +#define portIS_PRIVILEGED() xPortIsPrivileged() + +/** + * @brief Checks whether or not a task is privileged. + * + * @ingroup Port Privilege + * + * @note A task's privilege level is associated with the task and is different from + * the processor's privilege level returned by xPortIsPrivileged. For example, + * the processor is privileged when an unprivileged task executes a system call. + * + * @return pdTRUE if the task is privileged, pdFALSE otherwise. + */ +BaseType_t xPortIsTaskPrivileged( void ); + +#define portIS_TASK_PRIVILEGED() xPortIsTaskPrivileged() + +/** + * @brief Default return address for tasks. + * + * @ingroup Task Context + * + * @note This function is used as the default return address for tasks if + * configTASK_RETURN_ADDRESS is not defined in FreeRTOSConfig.h. + */ +void prvTaskExitError( void ); + +#ifdef configTASK_RETURN_ADDRESS + #define portTASK_RETURN_ADDRESS configTASK_RETURN_ADDRESS +#else + #define portTASK_RETURN_ADDRESS prvTaskExitError +#endif /* configTASK_RETURN_ADDRESS */ + +/** + * @brief Returns the number of leading zeros in a 32 bit variable. + * + * @param[in] ulBitmap 32-Bit number to count leading zeros in. + * + * @return The number of leading zeros in ulBitmap. + */ +UBaseType_t ulPortCountLeadingZeros( UBaseType_t ulBitmap ); + +/** + * @brief End the FreeRTOS scheduler. + * + * Not implemented on this port. + * + * @ingroup Scheduler + */ +void vPortEndScheduler( void ); + +/* --------------------------------- MPU Definitions --------------------------------- */ + +/** + * @brief Mark that this port utilizes the onboard ARM MPU. + * + * @ingroup MPU Control + */ +#define portUSING_MPU_WRAPPERS 1 + +/** + * @brief Used to mark if a task should be created as a privileged task. + * + * @ingroup Task Context + * @ingroup MPU Control + * + * @note A privileged task is created by performing a bitwise OR of this value and + * the task priority. For example, to create a privileged task at priority 2, the + * uxPriority parameter should be set to ( 2 | portPRIVILEGE_BIT ). + */ +#define portPRIVILEGE_BIT ( 0x80000000UL ) + +/** + * @brief Size of an Access Control List (ACL) entry in bits. + */ +#define portACL_ENTRY_SIZE_BITS ( 32UL ) + +/** + * @brief Structure to hold the MPU Register Values. + * + * @struct xMPU_REGION_REGISTERS + * + * @ingroup MPU Control + * + * @note The ordering of this struct MUST be in sync with the ordering in + * portRESTORE_CONTEXT. + */ +typedef struct MPU_REGION_REGISTERS +{ + uint32_t ulRegionSize; /* Information for MPU Region Size and Enable Register. */ + uint32_t ulRegionAttribute; /* Information for MPU Region Access Control Register. */ + uint32_t ulRegionBaseAddress; /* Information for MPU Region Base Address Register. */ +} xMPU_REGION_REGISTERS; + +/** + * @brief Structure to hold per-task System Call Stack information. + * + * @struct xSYSTEM_CALL_STACK_INFO + * + * @ingroup Port Privilege + * + * @note The ordering of this structure MUST be in sync with the assembly code + * of the port. + */ +typedef struct SYSTEM_CALL_STACK_INFO +{ + uint32_t * pulTaskStackPointer; /**< Stack Pointer of the task when it made a FreeRTOS System Call. */ + uint32_t * pulLinkRegisterAtSystemCallEntry; /**< Link Register of the task when it made a FreeRTOS System Call. */ + uint32_t * pulSystemCallStackPointer; /**< Stack Pointer to use for executing a FreeRTOS System Call. */ + uint32_t * pulSystemCallExitAddress; /**< System call exit address. */ + uint32_t ulSystemCallStackBuffer[ configSYSTEM_CALL_STACK_SIZE ]; /**< Buffer to be used as stack when performing a FreeRTOS System Call. */ +} xSYSTEM_CALL_STACK_INFO; + +/** + * @brief Per-Task MPU settings structure stored in the TCB. + * @struct xMPU_SETTINGS + * + * @ingroup MPU Control + * @ingroup Task Context + * @ingroup Port Privilege + * + * @note The ordering of this structure MUST be in sync with the assembly code + * of the port. + */ +typedef struct MPU_SETTINGS +{ + xMPU_REGION_REGISTERS xRegion[ portTOTAL_NUM_REGIONS_IN_TCB ]; + uint32_t ulTaskFlags; + xSYSTEM_CALL_STACK_INFO xSystemCallStackInfo; + uint32_t ulContext[ CONTEXT_SIZE ]; /**< Buffer used to store task context. */ + + #if( configENABLE_ACCESS_CONTROL_LIST == 1 ) + uint32_t ulAccessControlList[ ( configPROTECTED_KERNEL_OBJECT_POOL_SIZE + / portACL_ENTRY_SIZE_BITS ) + + 1UL ]; + #endif +} xMPU_SETTINGS; + +#ifdef __cplusplus +} /* extern C */ +#endif + +#endif /* PORTMACRO_H */ diff --git a/portable/GCC/ARM_CRx_MPU/portmacro_asm.h b/portable/GCC/ARM_CRx_MPU/portmacro_asm.h new file mode 100644 index 000000000..a113ac02d --- /dev/null +++ b/portable/GCC/ARM_CRx_MPU/portmacro_asm.h @@ -0,0 +1,279 @@ +/* + * FreeRTOS Kernel + * Copyright (C) 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +#ifndef PORTMACRO_ASM_H +#define PORTMACRO_ASM_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "FreeRTOSConfig.h" + +#ifndef configTOTAL_MPU_REGIONS + #error "Set configTOTAL_MPU_REGIONS to the humber of MPU regions in FreeRTOSConfig.h" +#elif( configTOTAL_MPU_REGIONS == 12 ) + #define portMPU_TOTAL_REGIONS ( 12UL ) +#elif( configTOTAL_MPU_REGIONS == 16 ) + #define portMPU_TOTAL_REGIONS ( 16UL ) +#else + #error "Set configTOTAL_MPU_REGIONS to the number of MPU regions in FreeRTOSConfig.h" +#endif /* configTOTAL_MPU_REGIONS */ + +/* + * The application write can disable Floating Point Unit (FPU) support by + * setting configENABLE_FPU to 0. Floating point context stored in TCB + * comprises of 32 floating point registers (D0-D31) and FPSCR register. + * Disabling FPU, therefore, reduces the per-task RAM usage by + * ( 32 + 1 ) * 4 = 132 bytes per task. + * + * BE CAREFUL DISABLING THIS: Certain standard library APIs try to optimize + * themselves by using the floating point registers. If the FPU support is + * disabled, the use of such APIs may result in memory corruption. + */ +#ifndef configENABLE_FPU + #define configENABLE_FPU 1 +#endif /* configENABLE_FPU */ + +#define portENABLE_FPU configENABLE_FPU + +/* On the ArmV7-R Architecture the Operating mode of the Processor is set + * using the Current Program Status Register (CPSR) Mode bits, [4:0]. The only + * unprivileged mode is User Mode. + * + * Additional information about the Processor Modes can be found here: + * https://developer.arm.com/documentation/ddi0406/cb/System-Level-Architecture/The-System-Level-Programmers--Model/ARM-processor-modes-and-ARM-core-registers/ARM-processor-modes?lang=en + * + */ + +/** + * @brief CPSR bits for various processor modes. + * + * @ingroup Port Privilege + */ +#define USER_MODE 0x10U +#define FIQ_MODE 0x11U +#define IRQ_MODE 0x12U +#define SVC_MODE 0x13U +#define MON_MODE 0x16U +#define ABT_MODE 0x17U +#define HYP_MODE 0x1AU +#define UND_MODE 0x1BU +#define SYS_MODE 0x1FU + +/** + * @brief Flag used to mark that a FreeRTOS Task is privileged. + * + * @ingroup Port Privilege + */ +#define portTASK_IS_PRIVILEGED_FLAG ( 1UL << 1UL ) + +/** + * @brief SVC numbers for various scheduler operations. + * + * @ingroup Scheduler + * + * @note These value must not be used in mpu_syscall_numbers.h. + */ +#define portSVC_YIELD 0x0100U +#define portSVC_SYSTEM_CALL_EXIT 0x0104U + +/** + * @brief Macros required to manipulate MPU. + * + * Further information about MPU can be found in Arm's documentation + * https://developer.arm.com/documentation/ddi0363/g/System-Control/Register-descriptions/c6--MPU-memory-region-programming-registers + * + */ + +/* MPU sub-region disable settings. This information is encoded in the MPU + * Region Size and Enable Register. */ +#define portMPU_SUBREGION_0_DISABLE ( 0x1UL << 8UL ) +#define portMPU_SUBREGION_1_DISABLE ( 0x1UL << 9UL ) +#define portMPU_SUBREGION_2_DISABLE ( 0x1UL << 10UL ) +#define portMPU_SUBREGION_3_DISABLE ( 0x1UL << 11UL ) +#define portMPU_SUBREGION_4_DISABLE ( 0x1UL << 12UL ) +#define portMPU_SUBREGION_5_DISABLE ( 0x1UL << 13UL ) +#define portMPU_SUBREGION_6_DISABLE ( 0x1UL << 14UL ) +#define portMPU_SUBREGION_7_DISABLE ( 0x1UL << 15UL ) + +/* Default MPU regions. */ +#define portFIRST_CONFIGURABLE_REGION ( 0 ) +#define portLAST_CONFIGURABLE_REGION ( portMPU_TOTAL_REGIONS - 5UL ) +#define portSTACK_REGION ( portMPU_TOTAL_REGIONS - 4UL ) +#define portUNPRIVILEGED_FLASH_REGION ( portMPU_TOTAL_REGIONS - 3UL ) +#define portPRIVILEGED_FLASH_REGION ( portMPU_TOTAL_REGIONS - 2UL ) +#define portPRIVILEGED_RAM_REGION ( portMPU_TOTAL_REGIONS - 1UL ) +#define portNUM_CONFIGURABLE_REGIONS \ + ( ( portLAST_CONFIGURABLE_REGION - portFIRST_CONFIGURABLE_REGION ) + 1UL ) +/* Plus one to make space for the stack region. */ +#define portTOTAL_NUM_REGIONS_IN_TCB ( portNUM_CONFIGURABLE_REGIONS + 1UL ) + +/* MPU region sizes. This information is encoded in the MPU Region Size and + * Enable Register. */ +#define portMPU_REGION_SIZE_32B ( 0x04UL << 1UL ) +#define portMPU_REGION_SIZE_64B ( 0x05UL << 1UL ) +#define portMPU_REGION_SIZE_128B ( 0x06UL << 1UL ) +#define portMPU_REGION_SIZE_256B ( 0x07UL << 1UL ) +#define portMPU_REGION_SIZE_512B ( 0x08UL << 1UL ) +#define portMPU_REGION_SIZE_1KB ( 0x09UL << 1UL ) +#define portMPU_REGION_SIZE_2KB ( 0x0AUL << 1UL ) +#define portMPU_REGION_SIZE_4KB ( 0x0BUL << 1UL ) +#define portMPU_REGION_SIZE_8KB ( 0x0CUL << 1UL ) +#define portMPU_REGION_SIZE_16KB ( 0x0DUL << 1UL ) +#define portMPU_REGION_SIZE_32KB ( 0x0EUL << 1UL ) +#define portMPU_REGION_SIZE_64KB ( 0x0FUL << 1UL ) +#define portMPU_REGION_SIZE_128KB ( 0x10UL << 1UL ) +#define portMPU_REGION_SIZE_256KB ( 0x11UL << 1UL ) +#define portMPU_REGION_SIZE_512KB ( 0x12UL << 1UL ) +#define portMPU_REGION_SIZE_1MB ( 0x13UL << 1UL ) +#define portMPU_REGION_SIZE_2MB ( 0x14UL << 1UL ) +#define portMPU_REGION_SIZE_4MB ( 0x15UL << 1UL ) +#define portMPU_REGION_SIZE_8MB ( 0x16UL << 1UL ) +#define portMPU_REGION_SIZE_16MB ( 0x17UL << 1UL ) +#define portMPU_REGION_SIZE_32MB ( 0x18UL << 1UL ) +#define portMPU_REGION_SIZE_64MB ( 0x19UL << 1UL ) +#define portMPU_REGION_SIZE_128MB ( 0x1AUL << 1UL ) +#define portMPU_REGION_SIZE_256MB ( 0x1BUL << 1UL ) +#define portMPU_REGION_SIZE_512MB ( 0x1CUL << 1UL ) +#define portMPU_REGION_SIZE_1GB ( 0x1DUL << 1UL ) +#define portMPU_REGION_SIZE_2GB ( 0x1EUL << 1UL ) +#define portMPU_REGION_SIZE_4GB ( 0x1FUL << 1UL ) + +/* MPU memory types. This information is encoded in the TEX, S, C and B bits + * of the MPU Region Access Control Register. */ +#define portMPU_REGION_STRONGLY_ORDERED_SHAREABLE ( 0x00UL ) /* TEX=000, S=NA, C=0, B=0. */ +#define portMPU_REGION_DEVICE_SHAREABLE ( 0x01UL ) /* TEX=000, S=NA, C=0, B=1. */ +#define portMPU_REGION_NORMAL_OIWTNOWA_NONSHARED ( 0x02UL ) /* TEX=000, S=0, C=1, B=0. */ +#define portMPU_REGION_NORMAL_OIWTNOWA_SHARED ( 0x06UL ) /* TEX=000, S=1, C=1, B=0. */ +#define portMPU_REGION_NORMAL_OIWBNOWA_NONSHARED ( 0x03UL ) /* TEX=000, S=0, C=1, B=1. */ +#define portMPU_REGION_NORMAL_OIWBNOWA_SHARED ( 0x07UL ) /* TEX=000, S=1, C=1, B=1. */ +#define portMPU_REGION_NORMAL_OINC_NONSHARED ( 0x08UL ) /* TEX=001, S=0, C=0, B=0. */ +#define portMPU_REGION_NORMAL_OINC_SHARED ( 0x0CUL ) /* TEX=001, S=1, C=0, B=0. */ +#define portMPU_REGION_NORMAL_OIWBWA_NONSHARED ( 0x0BUL ) /* TEX=001, S=0, C=1, B=1. */ +#define portMPU_REGION_NORMAL_OIWBWA_SHARED ( 0x0FUL ) /* TEX=001, S=1, C=1, B=1. */ +#define portMPU_REGION_DEVICE_NONSHAREABLE ( 0x10UL ) /* TEX=010, S=NA, C=0, B=0. */ + +/* MPU access permissions. This information is encoded in the XN and AP bits of + * the MPU Region Access Control Register. */ +#define portMPU_REGION_AP_BITMASK ( 0x07UL << 8UL ) +#define portMPU_REGION_XN_BITMASK ( 0x01UL << 12UL ) + +#define portMPU_REGION_PRIV_NA_USER_NA ( 0x00UL << 8UL ) +#define portMPU_REGION_PRIV_NA_USER_NA_EXEC ( portMPU_REGION_PRIV_NA_USER_NA ) /* Priv: X, Unpriv: X. */ +#define portMPU_REGION_PRIV_NA_USER_NA_NOEXEC ( portMPU_REGION_PRIV_NA_USER_NA | \ + portMPU_REGION_XN_BITMASK ) /* Priv: No Access, Unpriv: No Access. */ + +#define portMPU_REGION_PRIV_RW_USER_NA ( 0x01UL << 8UL ) +#define portMPU_REGION_PRIV_RW_USER_NA_EXEC ( portMPU_REGION_PRIV_RW_USER_NA ) /* Priv: RWX, Unpriv: X. */ +#define portMPU_REGION_PRIV_RW_USER_NA_NOEXEC ( portMPU_REGION_PRIV_RW_USER_NA | \ + portMPU_REGION_XN_BITMASK ) /* Priv: RW, Unpriv: No access. */ + +#define portMPU_REGION_PRIV_RW_USER_RO ( 0x02UL << 8UL ) +#define portMPU_REGION_PRIV_RW_USER_RO_EXEC ( portMPU_REGION_PRIV_RW_USER_RO ) /* Priv: RWX, Unpriv: RX. */ +#define portMPU_REGION_PRIV_RW_USER_RO_NOEXEC ( portMPU_REGION_PRIV_RW_USER_RO | \ + portMPU_REGION_XN_BITMASK ) /* Priv: RW, Unpriv: R. */ + +#define portMPU_REGION_PRIV_RW_USER_RW ( 0x03UL << 8UL ) +#define portMPU_REGION_PRIV_RW_USER_RW_EXEC ( portMPU_REGION_PRIV_RW_USER_RW ) /* Priv: RWX, Unpriv: RWX. */ +#define portMPU_REGION_PRIV_RW_USER_RW_NOEXEC ( portMPU_REGION_PRIV_RW_USER_RW | \ + portMPU_REGION_XN_BITMASK ) /* Priv: RW, Unpriv: RW. */ + +#define portMPU_REGION_PRIV_RO_USER_NA ( 0x05UL << 8UL ) +#define portMPU_REGION_PRIV_RO_USER_NA_EXEC ( portMPU_REGION_PRIV_RO_USER_NA ) /* Priv: RX, Unpriv: X. */ +#define portMPU_REGION_PRIV_RO_USER_NA_NOEXEC ( portMPU_REGION_PRIV_RO_USER_NA | \ + portMPU_REGION_XN_BITMASK ) /* Priv: R, Unpriv: No access. */ + +#define portMPU_REGION_PRIV_RO_USER_RO ( 0x06UL << 8UL ) +#define portMPU_REGION_PRIV_RO_USER_RO_EXEC ( portMPU_REGION_PRIV_RO_USER_RO ) /* Priv: RX, Unpriv: RX. */ +#define portMPU_REGION_PRIV_RO_USER_RO_NOEXEC ( portMPU_REGION_PRIV_RO_USER_RO | \ + portMPU_REGION_XN_BITMASK ) /* Priv: R, Unpriv: R. */ + +/* MPU region management. */ +#define portMPU_REGION_EXECUTE_NEVER ( 0x01UL << 12UL ) +#define portMPU_REGION_ENABLE ( 0x01UL ) + +/** + * @brief The size (in words) of a task context. + * + * An array of this size is allocated in TCB where a task's context is saved + * when it is switched out. + * + * Information about Floating Point Unit (FPU): + * https://developer.arm.com/documentation/den0042/a/Floating-Point + * + * Additional information related to the Cortex R4-F's FPU Implementation: + * https://developer.arm.com/documentation/ddi0363/e/fpu-programmer-s-model + * + * Additional information related to the Cortex R5-F's FPU Implementation: + * https://developer.arm.com/documentation/ddi0460/d/FPU-Programmers-Model + * + * Additional information related to the ArmV7-R CPSR: + * https://developer.arm.com/documentation/ddi0406/cb/Application-Level-Architecture/Application-Level-Programmers--Model/The-Application-Program-Status-Register--APSR-?lang=en + * + * Additional information related to the GPRs: + * https://developer.arm.com/documentation/ddi0406/cb/System-Level-Architecture/The-System-Level-Programmers--Model/ARM-processor-modes-and-ARM-core-registers/ARM-core-registers?lang=en + * + */ + +#if( portENABLE_FPU == 1 ) + /* + * +-------------------+-------+----------+--------+----------+----------+----------+------+ + * | ulCriticalNesting | FPSCR | S0-S31 | R0-R12 | SP (R13) | LR (R14) | PC (R15) | CPSR | + * +-------------------+-------+----------+--------+----------+----------+----------+------+ + * + * <------------------><------><---------><--------><---------><--------><----------><-----> + * 1 1 32 13 1 1 1 1 + */ + #define CONTEXT_SIZE 51U +#else + /* + * +-------------------+--------+----------+----------+----------+------+ + * | ulCriticalNesting | R0-R12 | SP (R13) | LR (R14) | PC (R15) | CPSR | + * +-------------------+--------+----------+----------+----------+------+ + * + * <------------------><--------><---------><--------><----------><-----> + * 1 13 1 1 1 1 + */ + #define CONTEXT_SIZE 18U +#endif /* CONTEXT_SIZE */ + +/** + * @brief Offset of xSystemCallStackInfo from the start of a TCB. + */ +#define portSYSTEM_CALL_INFO_OFFSET \ + ( ( 1U /* pxTopOfStack. */ + \ + ( portTOTAL_NUM_REGIONS_IN_TCB * 3U ) + \ + 1U /* ulTaskFlags. */ \ + ) * 4U ) + +#ifdef __cplusplus +} /* extern C */ +#endif + +#endif /* PORTMACRO_ASM_H */ From 83b5b2495045d4ad43ea0510f946b70d298d3d70 Mon Sep 17 00:00:00 2001 From: Asmeili <51125377+Asmeili@users.noreply.github.com> Date: Wed, 28 Feb 2024 12:21:29 +0100 Subject: [PATCH 18/38] Fix typo in croutine.c (#1004) --- croutine.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/croutine.c b/croutine.c index 86256bcd1..84e1b99bd 100644 --- a/croutine.c +++ b/croutine.c @@ -30,7 +30,7 @@ #include "task.h" #include "croutine.h" -/* Remove the whole file is co-routines are not being used. */ +/* Remove the whole file if co-routines are not being used. */ #if ( configUSE_CO_ROUTINES != 0 ) /* From cff947acd05cc4f6e8c7838701bdc58f8cdf282d Mon Sep 17 00:00:00 2001 From: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com> Date: Mon, 4 Mar 2024 10:48:05 +0530 Subject: [PATCH 19/38] Update comment in template FreeRTOSConfig.h (#1007) Update the comment for configKERNEL_INTERRUPT_PRIORITY in the template FreeRTOSConfig.h. It was reported here - https://forums.freertos.org/t/migration-from-v10-5-1-to-v11-0-1-fails-with-new-freertosconfig-h-file/19276/ Signed-off-by: Gaurav Aggarwal --- examples/template_configuration/FreeRTOSConfig.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/examples/template_configuration/FreeRTOSConfig.h b/examples/template_configuration/FreeRTOSConfig.h index d7203f2e6..74b7cea96 100644 --- a/examples/template_configuration/FreeRTOSConfig.h +++ b/examples/template_configuration/FreeRTOSConfig.h @@ -283,10 +283,9 @@ /******************************************************************************/ /* configKERNEL_INTERRUPT_PRIORITY sets the priority of the tick and context - * switch performing interrupts. The default value is set to the highest interrupt - * priority (0). Not supported by all FreeRTOS ports. See - * https://www.freertos.org/RTOS-Cortex-M3-M4.html for information specific to ARM - * Cortex-M devices. */ + * switch performing interrupts. Not supported by all FreeRTOS ports. See + * https://www.freertos.org/RTOS-Cortex-M3-M4.html for information specific to + * ARM Cortex-M devices. */ #define configKERNEL_INTERRUPT_PRIORITY 0 /* configMAX_SYSCALL_INTERRUPT_PRIORITY sets the interrupt priority above which From 30f6061f48e2d54625d31e72ada6f5c474fba99f Mon Sep 17 00:00:00 2001 From: chinglee-iot <61685396+chinglee-iot@users.noreply.github.com> Date: Wed, 6 Mar 2024 15:34:21 +0800 Subject: [PATCH 20/38] Not using pxIndex to iterate ready list in trace utility (#1000) * pxIndex should only be used when selecting next task. Altering pxIndex of a ready list will cause the scheduler to be unable to select the right task to run. Using a for loop if traversing the list for trace utility is required. * Not defining listGET_OWNER_OF_NEXT_ENTRY when using SMP scheduler --------- Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com> --- include/list.h | 10 ++- tasks.c | 190 +++++++++++++++---------------------------------- 2 files changed, 65 insertions(+), 135 deletions(-) diff --git a/include/list.h b/include/list.h index a9aace44e..091553dd1 100644 --- a/include/list.h +++ b/include/list.h @@ -282,7 +282,8 @@ typedef struct xLIST * \page listGET_OWNER_OF_NEXT_ENTRY listGET_OWNER_OF_NEXT_ENTRY * \ingroup LinkedList */ -#define listGET_OWNER_OF_NEXT_ENTRY( pxTCB, pxList ) \ +#if ( configNUMBER_OF_CORES == 1 ) + #define listGET_OWNER_OF_NEXT_ENTRY( pxTCB, pxList ) \ do { \ List_t * const pxConstList = ( pxList ); \ /* Increment the index to the next item and return the item, ensuring */ \ @@ -294,6 +295,13 @@ typedef struct xLIST } \ ( pxTCB ) = ( pxConstList )->pxIndex->pvOwner; \ } while( 0 ) +#else /* #if ( configNUMBER_OF_CORES == 1 ) */ + +/* This function is not required in SMP. FreeRTOS SMP scheduler doesn't use + * pxIndex and it should always point to the xListEnd. Not defining this macro + * here to prevent updating pxIndex. + */ +#endif /* #if ( configNUMBER_OF_CORES == 1 ) */ /* * Version of uxListRemove() that does not return a value. Provided as a slight diff --git a/tasks.c b/tasks.c index 767dff7b0..e0db3f9e7 100644 --- a/tasks.c +++ b/tasks.c @@ -4177,147 +4177,72 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery ) /*-----------------------------------------------------------*/ #if ( INCLUDE_xTaskGetHandle == 1 ) + static TCB_t * prvSearchForNameWithinSingleList( List_t * pxList, + const char pcNameToQuery[] ) + { + TCB_t * pxReturn = NULL; + UBaseType_t x; + char cNextChar; + BaseType_t xBreakLoop; + const ListItem_t * pxEndMarker = listGET_END_MARKER( pxList ); + ListItem_t * pxIterator; - #if ( configNUMBER_OF_CORES == 1 ) - static TCB_t * prvSearchForNameWithinSingleList( List_t * pxList, - const char pcNameToQuery[] ) + /* This function is called with the scheduler suspended. */ + + if( listCURRENT_LIST_LENGTH( pxList ) > ( UBaseType_t ) 0 ) { - TCB_t * pxNextTCB; - TCB_t * pxFirstTCB; - TCB_t * pxReturn = NULL; - UBaseType_t x; - char cNextChar; - BaseType_t xBreakLoop; - - /* This function is called with the scheduler suspended. */ - - if( listCURRENT_LIST_LENGTH( pxList ) > ( UBaseType_t ) 0 ) + for( pxIterator = listGET_HEAD_ENTRY( pxList ); pxIterator != pxEndMarker; pxIterator = listGET_NEXT( pxIterator ) ) { /* MISRA Ref 11.5.3 [Void pointer assignment] */ /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ /* coverity[misra_c_2012_rule_11_5_violation] */ - listGET_OWNER_OF_NEXT_ENTRY( pxFirstTCB, pxList ); + TCB_t * pxTCB = listGET_LIST_ITEM_OWNER( pxIterator ); - do + /* Check each character in the name looking for a match or + * mismatch. */ + xBreakLoop = pdFALSE; + + for( x = ( UBaseType_t ) 0; x < ( UBaseType_t ) configMAX_TASK_NAME_LEN; x++ ) { - /* MISRA Ref 11.5.3 [Void pointer assignment] */ - /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ - /* coverity[misra_c_2012_rule_11_5_violation] */ - listGET_OWNER_OF_NEXT_ENTRY( pxNextTCB, pxList ); + cNextChar = pxTCB->pcTaskName[ x ]; - /* Check each character in the name looking for a match or - * mismatch. */ - xBreakLoop = pdFALSE; - - for( x = ( UBaseType_t ) 0; x < ( UBaseType_t ) configMAX_TASK_NAME_LEN; x++ ) + if( cNextChar != pcNameToQuery[ x ] ) { - cNextChar = pxNextTCB->pcTaskName[ x ]; - - if( cNextChar != pcNameToQuery[ x ] ) - { - /* Characters didn't match. */ - xBreakLoop = pdTRUE; - } - else if( cNextChar == ( char ) 0x00 ) - { - /* Both strings terminated, a match must have been - * found. */ - pxReturn = pxNextTCB; - xBreakLoop = pdTRUE; - } - else - { - mtCOVERAGE_TEST_MARKER(); - } - - if( xBreakLoop != pdFALSE ) - { - break; - } + /* Characters didn't match. */ + xBreakLoop = pdTRUE; + } + else if( cNextChar == ( char ) 0x00 ) + { + /* Both strings terminated, a match must have been + * found. */ + pxReturn = pxTCB; + xBreakLoop = pdTRUE; + } + else + { + mtCOVERAGE_TEST_MARKER(); } - if( pxReturn != NULL ) + if( xBreakLoop != pdFALSE ) { - /* The handle has been found. */ - break; - } - } while( pxNextTCB != pxFirstTCB ); - } - else - { - mtCOVERAGE_TEST_MARKER(); - } - - return pxReturn; - } - #else /* if ( configNUMBER_OF_CORES == 1 ) */ - static TCB_t * prvSearchForNameWithinSingleList( List_t * pxList, - const char pcNameToQuery[] ) - { - TCB_t * pxReturn = NULL; - UBaseType_t x; - char cNextChar; - BaseType_t xBreakLoop; - const ListItem_t * pxEndMarker = listGET_END_MARKER( pxList ); - ListItem_t * pxIterator; - - /* This function is called with the scheduler suspended. */ - - if( listCURRENT_LIST_LENGTH( pxList ) > ( UBaseType_t ) 0 ) - { - for( pxIterator = listGET_HEAD_ENTRY( pxList ); pxIterator != pxEndMarker; pxIterator = listGET_NEXT( pxIterator ) ) - { - /* MISRA Ref 11.5.3 [Void pointer assignment] */ - /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ - /* coverity[misra_c_2012_rule_11_5_violation] */ - TCB_t * pxTCB = listGET_LIST_ITEM_OWNER( pxIterator ); - - /* Check each character in the name looking for a match or - * mismatch. */ - xBreakLoop = pdFALSE; - - for( x = ( UBaseType_t ) 0; x < ( UBaseType_t ) configMAX_TASK_NAME_LEN; x++ ) - { - cNextChar = pxTCB->pcTaskName[ x ]; - - if( cNextChar != pcNameToQuery[ x ] ) - { - /* Characters didn't match. */ - xBreakLoop = pdTRUE; - } - else if( cNextChar == ( char ) 0x00 ) - { - /* Both strings terminated, a match must have been - * found. */ - pxReturn = pxTCB; - xBreakLoop = pdTRUE; - } - else - { - mtCOVERAGE_TEST_MARKER(); - } - - if( xBreakLoop != pdFALSE ) - { - break; - } - } - - if( pxReturn != NULL ) - { - /* The handle has been found. */ break; } } - } - else - { - mtCOVERAGE_TEST_MARKER(); - } - return pxReturn; + if( pxReturn != NULL ) + { + /* The handle has been found. */ + break; + } + } } - #endif /* #if ( configNUMBER_OF_CORES == 1 ) */ + else + { + mtCOVERAGE_TEST_MARKER(); + } + + return pxReturn; + } #endif /* INCLUDE_xTaskGetHandle */ /*-----------------------------------------------------------*/ @@ -6330,30 +6255,27 @@ static void prvCheckTasksWaitingTermination( void ) List_t * pxList, eTaskState eState ) { - configLIST_VOLATILE TCB_t * pxNextTCB; - configLIST_VOLATILE TCB_t * pxFirstTCB; + configLIST_VOLATILE TCB_t * pxTCB; UBaseType_t uxTask = 0; + const ListItem_t * pxEndMarker = listGET_END_MARKER( pxList ); + ListItem_t * pxIterator; if( listCURRENT_LIST_LENGTH( pxList ) > ( UBaseType_t ) 0 ) { - /* MISRA Ref 11.5.3 [Void pointer assignment] */ - /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ - /* coverity[misra_c_2012_rule_11_5_violation] */ - listGET_OWNER_OF_NEXT_ENTRY( pxFirstTCB, pxList ); - /* Populate an TaskStatus_t structure within the * pxTaskStatusArray array for each task that is referenced from * pxList. See the definition of TaskStatus_t in task.h for the * meaning of each TaskStatus_t structure member. */ - do + for( pxIterator = listGET_HEAD_ENTRY( pxList ); pxIterator != pxEndMarker; pxIterator = listGET_NEXT( pxIterator ) ) { /* MISRA Ref 11.5.3 [Void pointer assignment] */ /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ /* coverity[misra_c_2012_rule_11_5_violation] */ - listGET_OWNER_OF_NEXT_ENTRY( pxNextTCB, pxList ); - vTaskGetInfo( ( TaskHandle_t ) pxNextTCB, &( pxTaskStatusArray[ uxTask ] ), pdTRUE, eState ); + pxTCB = listGET_LIST_ITEM_OWNER( pxIterator ); + + vTaskGetInfo( ( TaskHandle_t ) pxTCB, &( pxTaskStatusArray[ uxTask ] ), pdTRUE, eState ); uxTask++; - } while( pxNextTCB != pxFirstTCB ); + } } else { From d95451d92443895b9bc3d3169de9551eec859afe Mon Sep 17 00:00:00 2001 From: chinglee-iot <61685396+chinglee-iot@users.noreply.github.com> Date: Wed, 6 Mar 2024 16:24:19 +0800 Subject: [PATCH 21/38] Define portNOP in RP2040 port (#1003) --- portable/ThirdParty/GCC/RP2040/include/portmacro.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/portable/ThirdParty/GCC/RP2040/include/portmacro.h b/portable/ThirdParty/GCC/RP2040/include/portmacro.h index 1fe5e412f..bf91eda36 100644 --- a/portable/ThirdParty/GCC/RP2040/include/portmacro.h +++ b/portable/ThirdParty/GCC/RP2040/include/portmacro.h @@ -278,7 +278,7 @@ static inline void vPortRecursiveLock( uint32_t ulLockNum, #define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void * pvParameters ) #define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void * pvParameters ) -#define portNOP() +#define portNOP() __asm volatile ( "nop" ) #define portMEMORY_BARRIER() __asm volatile ( "" ::: "memory" ) From 4732b96dba05e2eeaeaec795977ab0a054cce065 Mon Sep 17 00:00:00 2001 From: RichardBarry <3073890+RichardBarry@users.noreply.github.com> Date: Wed, 6 Mar 2024 23:08:15 -0800 Subject: [PATCH 22/38] Add daemon task startup hook / timer task creation consistency check (#1009) Add a compile time check that emits a helpful error message if the user attempts to create a daemon task startup hook without also creating the timer/daemon task. The timer/daemon task startup hook runs in the context of the timer/daemon task. Therefore, it won't run even if configUSE_DAEMON_TASK_STARTUP_HOOK is set to 1 if the timer task isn't created. The timer task is only created if configUSE_TIMERS is not equal to 0. --- include/FreeRTOS.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/include/FreeRTOS.h b/include/FreeRTOS.h index ecf82dc5a..8dcb407f4 100644 --- a/include/FreeRTOS.h +++ b/include/FreeRTOS.h @@ -298,10 +298,6 @@ #endif #endif -#ifndef configUSE_DAEMON_TASK_STARTUP_HOOK - #define configUSE_DAEMON_TASK_STARTUP_HOOK 0 -#endif - #ifndef configUSE_APPLICATION_TASK_TAG #define configUSE_APPLICATION_TASK_TAG 0 #endif @@ -322,6 +318,16 @@ #define configUSE_TIMERS 0 #endif +#ifndef configUSE_DAEMON_TASK_STARTUP_HOOK + #define configUSE_DAEMON_TASK_STARTUP_HOOK 0 +#endif + +#if ( configUSE_DAEMON_TASK_STARTUP_HOOK != 0 ) + #if ( configUSE_TIMERS == 0 ) + #error configUSE_DAEMON_TASK_STARTUP_HOOK is set, but the daemon task is not created because configUSE_TIMERS is 0. + #endif +#endif + #ifndef configUSE_COUNTING_SEMAPHORES #define configUSE_COUNTING_SEMAPHORES 0 #endif From 6dcce924907bc86a4732be67a2f9e33567d7f563 Mon Sep 17 00:00:00 2001 From: wat <78684666+watsk@users.noreply.github.com> Date: Mon, 18 Mar 2024 15:09:49 +0900 Subject: [PATCH 23/38] Improvement for 64bit Windows port (#1011) * 64bit TickType_t is supported on Windows port.(MSVC and MinGW) Especially it is introduced for 64bit compiler.(x64 platform on MSVC and MinGW-w64) * Unnecessary compiler warning for the cast operation is disabled locally.(MinGW-w64 only) * Modify the condition for ignoring compiler warning for the cast operation. Before modification: Compiler warning was ignored only on MinGW64 After modification: Compiler warning is ignored on MinGW32 and MinGW64 Reason of modification: The cast warning here is unavoidable not only on MinGW64 but also on MinGW32. "__GNUC__" macro is used because MSVC does not recognize this #pragma directive. --- portable/MSVC-MingW/port.c | 11 +++++++++++ portable/MSVC-MingW/portmacro.h | 11 ++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/portable/MSVC-MingW/port.c b/portable/MSVC-MingW/port.c index b0c26bdac..d489746f5 100644 --- a/portable/MSVC-MingW/port.c +++ b/portable/MSVC-MingW/port.c @@ -246,8 +246,19 @@ StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, FALSE, /* Start not signalled. */ NULL ); /* No name. */ + +#ifdef __GNUC__ + /* GCC reports the warning for the cast operation from TaskFunction_t to LPTHREAD_START_ROUTINE. */ + /* Disable this warning here by the #pragma option. */ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-function-type" +#endif /* Create the thread itself. */ pxThreadState->pvThread = CreateThread( NULL, xStackSize, ( LPTHREAD_START_ROUTINE ) pxCode, pvParameters, CREATE_SUSPENDED | STACK_SIZE_PARAM_IS_A_RESERVATION, NULL ); +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif + configASSERT( pxThreadState->pvThread ); /* See comment where TerminateThread() is called. */ SetThreadAffinityMask( pxThreadState->pvThread, 0x01 ); SetThreadPriorityBoost( pxThreadState->pvThread, TRUE ); diff --git a/portable/MSVC-MingW/portmacro.h b/portable/MSVC-MingW/portmacro.h index a10ac6586..c2b07fa19 100644 --- a/portable/MSVC-MingW/portmacro.h +++ b/portable/MSVC-MingW/portmacro.h @@ -72,9 +72,18 @@ typedef portSTACK_TYPE StackType_t; typedef uint32_t TickType_t; #define portMAX_DELAY ( TickType_t ) 0xffffffffUL -/* 32/64-bit tick type on a 32/64-bit architecture, so reads of the tick +/* 32-bit tick type on a 32/64-bit architecture, so reads of the tick * count do not need to be guarded with a critical section. */ #define portTICK_TYPE_IS_ATOMIC 1 +#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_64_BITS ) + typedef uint64_t TickType_t; + #define portMAX_DELAY ( TickType_t ) 0xffffffffffffffffULL + +#if defined( __x86_64__ ) || defined( _M_X64 ) +/* 64-bit tick type on a 64-bit architecture, so reads of the tick + * count do not need to be guarded with a critical section. */ + #define portTICK_TYPE_IS_ATOMIC 1 +#endif #else #error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width. #endif From 625b24a104dd901d86759668b6b272590d154308 Mon Sep 17 00:00:00 2001 From: Soren Ptak Date: Mon, 18 Mar 2024 03:51:21 -0700 Subject: [PATCH 24/38] Remove duplicate pop from MPU Wrappers ASM Files (#1008) * Remove duplicate pop instruction from portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c * Remove duplicate pop instruction from portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c * Remove duplicate pop instruction from portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c * Remove duplicate pop instruction from portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c * Remove duplicate pop instruction from portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/mpu_wrappers_v2_asm.S * Remove duplicate pop instruction from portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/mpu_wrappers_v2_asm.S * Remove duplicate pop instruction from portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/mpu_wrappers_v2_asm.S * Remove duplicate pop instruction from portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/mpu_wrappers_v2_asm.S * Run the copy_files.py script to update the ARMv8M ports to remove the duplicate pop instruction in mpu_wrappers_v2_asm * Remove duplicate pop instruction from portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c * Remove duplicate pop instruction from portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c * Remove duplicate pop instruction from portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S * Remove duplicate pop instruction from portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c --------- Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> --- .../GCC/ARM_CM23/mpu_wrappers_v2_asm.c | 236 ++++++------------ .../GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c | 236 ++++++------------ .../GCC/ARM_CM33/mpu_wrappers_v2_asm.c | 234 ++++++----------- .../GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c | 234 ++++++----------- .../IAR/ARM_CM23/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../IAR/ARM_CM23_NTZ/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../IAR/ARM_CM33/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../IAR/ARM_CM33_NTZ/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../ARM_CM23/non_secure/mpu_wrappers_v2_asm.c | 236 ++++++------------ .../non_secure/mpu_wrappers_v2_asm.c | 236 ++++++------------ .../ARM_CM33/non_secure/mpu_wrappers_v2_asm.c | 234 ++++++----------- .../non_secure/mpu_wrappers_v2_asm.c | 234 ++++++----------- .../non_secure/mpu_wrappers_v2_asm.c | 234 ++++++----------- .../non_secure/mpu_wrappers_v2_asm.c | 234 ++++++----------- .../GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c | 234 ++++++----------- .../GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c | 234 ++++++----------- .../ARM_CM55/non_secure/mpu_wrappers_v2_asm.c | 234 ++++++----------- .../non_secure/mpu_wrappers_v2_asm.c | 234 ++++++----------- .../ARM_CM85/non_secure/mpu_wrappers_v2_asm.c | 234 ++++++----------- .../non_secure/mpu_wrappers_v2_asm.c | 234 ++++++----------- .../ARM_CM23/non_secure/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../non_secure/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../ARM_CM33/non_secure/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../non_secure/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../non_secure/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../non_secure/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../ARM_CM55/non_secure/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../non_secure/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../ARM_CM85/non_secure/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../non_secure/mpu_wrappers_v2_asm.S | 210 ++++++---------- .../RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c | 210 ++++++---------- 32 files changed, 2436 insertions(+), 4676 deletions(-) diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c index 9c829b540..fb167a699 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c @@ -63,12 +63,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -93,12 +92,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -123,12 +121,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -153,12 +150,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -183,12 +179,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0, r1} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -219,12 +214,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -249,12 +243,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -279,12 +272,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -309,12 +301,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -337,12 +328,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -363,12 +353,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -391,12 +380,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -421,12 +409,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -451,12 +438,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -481,12 +467,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -513,12 +498,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -543,12 +527,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -577,12 +560,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -609,12 +591,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0, r1} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -643,12 +624,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -673,12 +653,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -703,12 +682,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -733,12 +711,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -763,12 +740,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -791,12 +767,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -819,12 +794,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -847,12 +821,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -877,12 +850,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -911,12 +883,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -943,12 +914,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -977,12 +947,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -1011,12 +980,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1037,12 +1005,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1063,12 +1030,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1093,12 +1059,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1123,12 +1088,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1151,12 +1115,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1179,12 +1142,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1211,12 +1173,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1241,12 +1202,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1273,12 +1233,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1305,12 +1264,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1337,12 +1295,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0, r1} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1367,12 +1324,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0, r1} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1397,12 +1353,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0, r1} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1427,12 +1382,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0, r1} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1459,12 +1413,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1489,12 +1442,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1519,12 +1471,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1542,21 +1493,20 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0, r1} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0, r1} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1579,12 +1529,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0, r1} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1611,12 +1560,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1641,12 +1589,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1671,12 +1618,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1701,12 +1647,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1731,12 +1676,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1759,12 +1703,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1787,12 +1730,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1815,12 +1757,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1847,12 +1788,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1875,12 +1815,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1907,12 +1846,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0, r1} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1941,12 +1879,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1973,12 +1910,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1999,12 +1935,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -2025,12 +1960,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -2051,12 +1985,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2077,12 +2010,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2105,12 +2037,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2131,12 +2062,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c index 9c829b540..fb167a699 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c @@ -63,12 +63,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -93,12 +92,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -123,12 +121,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -153,12 +150,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -183,12 +179,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0, r1} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -219,12 +214,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -249,12 +243,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -279,12 +272,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -309,12 +301,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -337,12 +328,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -363,12 +353,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -391,12 +380,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -421,12 +409,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -451,12 +438,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -481,12 +467,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -513,12 +498,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -543,12 +527,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -577,12 +560,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -609,12 +591,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0, r1} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -643,12 +624,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -673,12 +653,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -703,12 +682,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -733,12 +711,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -763,12 +740,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -791,12 +767,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -819,12 +794,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -847,12 +821,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -877,12 +850,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -911,12 +883,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -943,12 +914,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -977,12 +947,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -1011,12 +980,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1037,12 +1005,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1063,12 +1030,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1093,12 +1059,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1123,12 +1088,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1151,12 +1115,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1179,12 +1142,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1211,12 +1173,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1241,12 +1202,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1273,12 +1233,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1305,12 +1264,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1337,12 +1295,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0, r1} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1367,12 +1324,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0, r1} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1397,12 +1353,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0, r1} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1427,12 +1382,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0, r1} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1459,12 +1413,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1489,12 +1442,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1519,12 +1471,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1542,21 +1493,20 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0, r1} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0, r1} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1579,12 +1529,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0, r1} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1611,12 +1560,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1641,12 +1589,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1671,12 +1618,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1701,12 +1647,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1731,12 +1676,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1759,12 +1703,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1787,12 +1730,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1815,12 +1757,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1847,12 +1788,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1875,12 +1815,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1907,12 +1846,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0, r1} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1941,12 +1879,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1973,12 +1910,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1999,12 +1935,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -2025,12 +1960,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -2051,12 +1985,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2077,12 +2010,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2105,12 +2037,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2131,12 +2062,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c index 170d10fcc..4f66448f9 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c @@ -62,12 +62,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -91,12 +90,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -120,12 +118,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -149,12 +146,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -178,12 +174,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -213,12 +208,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -242,12 +236,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -271,12 +264,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -300,12 +292,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -327,12 +318,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -352,12 +342,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -379,12 +368,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -408,12 +396,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -437,12 +424,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -466,12 +452,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -497,12 +482,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -526,12 +510,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -559,12 +542,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -590,12 +572,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -623,12 +604,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -652,12 +632,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -681,12 +660,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -710,12 +688,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -739,12 +716,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -766,12 +742,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -793,12 +768,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -820,12 +794,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -849,12 +822,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -882,12 +854,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -913,12 +884,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -946,12 +916,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -979,12 +948,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1004,12 +972,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1029,12 +996,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1058,12 +1024,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1087,12 +1052,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1114,12 +1078,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1141,12 +1104,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1172,12 +1134,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1201,12 +1162,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1232,12 +1192,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1263,12 +1222,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1294,12 +1252,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1323,12 +1280,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1352,12 +1308,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1381,12 +1336,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1412,12 +1366,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1441,12 +1394,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1470,12 +1422,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1493,20 +1444,19 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1528,12 +1478,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1559,12 +1508,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1588,12 +1536,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1617,12 +1564,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1646,12 +1592,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1675,12 +1620,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1702,12 +1646,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1729,12 +1672,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1756,12 +1698,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1787,12 +1728,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1814,12 +1754,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1845,12 +1784,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1878,12 +1816,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1909,12 +1846,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1934,12 +1870,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -1959,12 +1894,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -1984,12 +1918,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2009,12 +1942,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2036,12 +1968,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2061,12 +1992,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c index 170d10fcc..4f66448f9 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c @@ -62,12 +62,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -91,12 +90,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -120,12 +118,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -149,12 +146,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -178,12 +174,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -213,12 +208,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -242,12 +236,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -271,12 +264,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -300,12 +292,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -327,12 +318,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -352,12 +342,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -379,12 +368,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -408,12 +396,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -437,12 +424,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -466,12 +452,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -497,12 +482,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -526,12 +510,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -559,12 +542,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -590,12 +572,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -623,12 +604,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -652,12 +632,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -681,12 +660,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -710,12 +688,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -739,12 +716,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -766,12 +742,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -793,12 +768,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -820,12 +794,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -849,12 +822,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -882,12 +854,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -913,12 +884,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -946,12 +916,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -979,12 +948,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1004,12 +972,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1029,12 +996,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1058,12 +1024,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1087,12 +1052,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1114,12 +1078,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1141,12 +1104,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1172,12 +1134,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1201,12 +1162,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1232,12 +1192,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1263,12 +1222,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1294,12 +1252,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1323,12 +1280,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1352,12 +1308,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1381,12 +1336,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1412,12 +1366,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1441,12 +1394,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1470,12 +1422,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1493,20 +1444,19 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1528,12 +1478,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1559,12 +1508,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1588,12 +1536,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1617,12 +1564,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1646,12 +1592,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1675,12 +1620,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1702,12 +1646,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1729,12 +1672,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1756,12 +1698,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1787,12 +1728,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1814,12 +1754,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1845,12 +1784,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1878,12 +1816,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1909,12 +1846,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1934,12 +1870,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -1959,12 +1894,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -1984,12 +1918,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2009,12 +1942,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2036,12 +1968,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2061,12 +1992,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/mpu_wrappers_v2_asm.S b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/mpu_wrappers_v2_asm.S index 8ea2f5c78..9289bcbc2 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/mpu_wrappers_v2_asm.S +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/mpu_wrappers_v2_asm.S @@ -48,12 +48,11 @@ MPU_xTaskDelayUntil: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0, r1} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -63,12 +62,11 @@ MPU_xTaskAbortDelay: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0, r1} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -78,12 +76,11 @@ MPU_vTaskDelay: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0, r1} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -93,12 +90,11 @@ MPU_uxTaskPriorityGet: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0, r1} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -108,12 +104,11 @@ MPU_eTaskGetState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0, r1} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -123,12 +118,11 @@ MPU_vTaskGetInfo: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0, r1} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -138,12 +132,11 @@ MPU_xTaskGetIdleTaskHandle: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0, r1} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -153,12 +146,11 @@ MPU_vTaskSuspend: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0, r1} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -168,12 +160,11 @@ MPU_vTaskResume: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0, r1} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -183,12 +174,11 @@ MPU_xTaskGetTickCount: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0, r1} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -198,12 +188,11 @@ MPU_uxTaskGetNumberOfTasks: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0, r1} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -213,12 +202,11 @@ MPU_ulTaskGetRunTimeCounter: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0, r1} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -228,12 +216,11 @@ MPU_ulTaskGetRunTimePercent: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0, r1} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +230,11 @@ MPU_ulTaskGetIdleRunTimePercent: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0, r1} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -258,12 +244,11 @@ MPU_ulTaskGetIdleRunTimeCounter: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0, r1} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -273,12 +258,11 @@ MPU_vTaskSetApplicationTaskTag: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0, r1} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -288,12 +272,11 @@ MPU_xTaskGetApplicationTaskTag: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0, r1} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -303,12 +286,11 @@ MPU_vTaskSetThreadLocalStoragePointer: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0, r1} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -318,12 +300,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0, r1} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -333,12 +314,11 @@ MPU_uxTaskGetSystemState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0, r1} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -348,12 +328,11 @@ MPU_uxTaskGetStackHighWaterMark: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0, r1} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -363,12 +342,11 @@ MPU_uxTaskGetStackHighWaterMark2: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0, r1} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -378,12 +356,11 @@ MPU_xTaskGetCurrentTaskHandle: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0, r1} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -393,12 +370,11 @@ MPU_xTaskGetSchedulerState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0, r1} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -408,12 +384,11 @@ MPU_vTaskSetTimeOutState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0, r1} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -423,12 +398,11 @@ MPU_xTaskCheckForTimeOut: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0, r1} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -438,12 +412,11 @@ MPU_xTaskGenericNotifyEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0, r1} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -453,12 +426,11 @@ MPU_xTaskGenericNotifyWaitEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0, r1} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -468,12 +440,11 @@ MPU_ulTaskGenericNotifyTake: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0, r1} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -483,12 +454,11 @@ MPU_xTaskGenericNotifyStateClear: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0, r1} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -498,12 +468,11 @@ MPU_ulTaskGenericNotifyValueClear: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0, r1} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -513,12 +482,11 @@ MPU_xQueueGenericSend: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0, r1} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -528,12 +496,11 @@ MPU_uxQueueMessagesWaiting: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0, r1} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -543,12 +510,11 @@ MPU_uxQueueSpacesAvailable: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0, r1} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -558,12 +524,11 @@ MPU_xQueueReceive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0, r1} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -573,12 +538,11 @@ MPU_xQueuePeek: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0, r1} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -588,12 +552,11 @@ MPU_xQueueSemaphoreTake: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0, r1} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -603,12 +566,11 @@ MPU_xQueueGetMutexHolder: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0, r1} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -618,12 +580,11 @@ MPU_xQueueTakeMutexRecursive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0, r1} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -633,12 +594,11 @@ MPU_xQueueGiveMutexRecursive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0, r1} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -648,12 +608,11 @@ MPU_xQueueSelectFromSet: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0, r1} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -663,12 +622,11 @@ MPU_xQueueAddToSet: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0, r1} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -678,12 +636,11 @@ MPU_vQueueAddToRegistry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0, r1} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -693,12 +650,11 @@ MPU_vQueueUnregisterQueue: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0, r1} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -708,12 +664,11 @@ MPU_pcQueueGetName: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0, r1} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -723,12 +678,11 @@ MPU_pvTimerGetTimerID: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0, r1} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -738,12 +692,11 @@ MPU_vTimerSetTimerID: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0, r1} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -753,12 +706,11 @@ MPU_xTimerIsTimerActive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0, r1} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -768,12 +720,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0, r1} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -783,12 +734,11 @@ MPU_xTimerGenericCommandFromTaskEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0, r1} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -798,12 +748,11 @@ MPU_pcTimerGetName: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0, r1} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -813,12 +762,11 @@ MPU_vTimerSetReloadMode: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0, r1} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -828,12 +776,11 @@ MPU_xTimerGetReloadMode: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0, r1} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -843,12 +790,11 @@ MPU_uxTimerGetReloadMode: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0, r1} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -858,12 +804,11 @@ MPU_xTimerGetPeriod: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0, r1} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -873,12 +818,11 @@ MPU_xTimerGetExpiryTime: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0, r1} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -888,12 +832,11 @@ MPU_xEventGroupWaitBitsEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0, r1} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -903,12 +846,11 @@ MPU_xEventGroupClearBits: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0, r1} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -918,12 +860,11 @@ MPU_xEventGroupSetBits: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0, r1} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -933,12 +874,11 @@ MPU_xEventGroupSync: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0, r1} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -948,12 +888,11 @@ MPU_uxEventGroupGetNumber: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0, r1} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -963,12 +902,11 @@ MPU_vEventGroupSetNumber: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0, r1} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -978,12 +916,11 @@ MPU_xStreamBufferSend: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0, r1} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -993,12 +930,11 @@ MPU_xStreamBufferReceive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0, r1} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -1008,12 +944,11 @@ MPU_xStreamBufferIsFull: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0, r1} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -1023,12 +958,11 @@ MPU_xStreamBufferIsEmpty: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0, r1} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -1038,12 +972,11 @@ MPU_xStreamBufferSpacesAvailable: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0, r1} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -1053,12 +986,11 @@ MPU_xStreamBufferBytesAvailable: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0, r1} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -1068,12 +1000,11 @@ MPU_xStreamBufferSetTriggerLevel: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0, r1} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1083,12 +1014,11 @@ MPU_xStreamBufferNextMessageLengthBytes: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0, r1} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/mpu_wrappers_v2_asm.S b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/mpu_wrappers_v2_asm.S index 8ea2f5c78..9289bcbc2 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/mpu_wrappers_v2_asm.S +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/mpu_wrappers_v2_asm.S @@ -48,12 +48,11 @@ MPU_xTaskDelayUntil: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0, r1} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -63,12 +62,11 @@ MPU_xTaskAbortDelay: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0, r1} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -78,12 +76,11 @@ MPU_vTaskDelay: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0, r1} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -93,12 +90,11 @@ MPU_uxTaskPriorityGet: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0, r1} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -108,12 +104,11 @@ MPU_eTaskGetState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0, r1} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -123,12 +118,11 @@ MPU_vTaskGetInfo: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0, r1} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -138,12 +132,11 @@ MPU_xTaskGetIdleTaskHandle: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0, r1} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -153,12 +146,11 @@ MPU_vTaskSuspend: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0, r1} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -168,12 +160,11 @@ MPU_vTaskResume: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0, r1} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -183,12 +174,11 @@ MPU_xTaskGetTickCount: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0, r1} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -198,12 +188,11 @@ MPU_uxTaskGetNumberOfTasks: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0, r1} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -213,12 +202,11 @@ MPU_ulTaskGetRunTimeCounter: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0, r1} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -228,12 +216,11 @@ MPU_ulTaskGetRunTimePercent: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0, r1} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +230,11 @@ MPU_ulTaskGetIdleRunTimePercent: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0, r1} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -258,12 +244,11 @@ MPU_ulTaskGetIdleRunTimeCounter: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0, r1} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -273,12 +258,11 @@ MPU_vTaskSetApplicationTaskTag: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0, r1} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -288,12 +272,11 @@ MPU_xTaskGetApplicationTaskTag: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0, r1} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -303,12 +286,11 @@ MPU_vTaskSetThreadLocalStoragePointer: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0, r1} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -318,12 +300,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0, r1} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -333,12 +314,11 @@ MPU_uxTaskGetSystemState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0, r1} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -348,12 +328,11 @@ MPU_uxTaskGetStackHighWaterMark: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0, r1} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -363,12 +342,11 @@ MPU_uxTaskGetStackHighWaterMark2: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0, r1} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -378,12 +356,11 @@ MPU_xTaskGetCurrentTaskHandle: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0, r1} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -393,12 +370,11 @@ MPU_xTaskGetSchedulerState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0, r1} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -408,12 +384,11 @@ MPU_vTaskSetTimeOutState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0, r1} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -423,12 +398,11 @@ MPU_xTaskCheckForTimeOut: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0, r1} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -438,12 +412,11 @@ MPU_xTaskGenericNotifyEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0, r1} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -453,12 +426,11 @@ MPU_xTaskGenericNotifyWaitEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0, r1} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -468,12 +440,11 @@ MPU_ulTaskGenericNotifyTake: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0, r1} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -483,12 +454,11 @@ MPU_xTaskGenericNotifyStateClear: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0, r1} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -498,12 +468,11 @@ MPU_ulTaskGenericNotifyValueClear: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0, r1} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -513,12 +482,11 @@ MPU_xQueueGenericSend: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0, r1} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -528,12 +496,11 @@ MPU_uxQueueMessagesWaiting: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0, r1} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -543,12 +510,11 @@ MPU_uxQueueSpacesAvailable: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0, r1} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -558,12 +524,11 @@ MPU_xQueueReceive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0, r1} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -573,12 +538,11 @@ MPU_xQueuePeek: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0, r1} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -588,12 +552,11 @@ MPU_xQueueSemaphoreTake: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0, r1} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -603,12 +566,11 @@ MPU_xQueueGetMutexHolder: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0, r1} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -618,12 +580,11 @@ MPU_xQueueTakeMutexRecursive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0, r1} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -633,12 +594,11 @@ MPU_xQueueGiveMutexRecursive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0, r1} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -648,12 +608,11 @@ MPU_xQueueSelectFromSet: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0, r1} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -663,12 +622,11 @@ MPU_xQueueAddToSet: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0, r1} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -678,12 +636,11 @@ MPU_vQueueAddToRegistry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0, r1} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -693,12 +650,11 @@ MPU_vQueueUnregisterQueue: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0, r1} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -708,12 +664,11 @@ MPU_pcQueueGetName: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0, r1} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -723,12 +678,11 @@ MPU_pvTimerGetTimerID: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0, r1} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -738,12 +692,11 @@ MPU_vTimerSetTimerID: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0, r1} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -753,12 +706,11 @@ MPU_xTimerIsTimerActive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0, r1} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -768,12 +720,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0, r1} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -783,12 +734,11 @@ MPU_xTimerGenericCommandFromTaskEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0, r1} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -798,12 +748,11 @@ MPU_pcTimerGetName: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0, r1} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -813,12 +762,11 @@ MPU_vTimerSetReloadMode: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0, r1} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -828,12 +776,11 @@ MPU_xTimerGetReloadMode: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0, r1} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -843,12 +790,11 @@ MPU_uxTimerGetReloadMode: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0, r1} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -858,12 +804,11 @@ MPU_xTimerGetPeriod: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0, r1} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -873,12 +818,11 @@ MPU_xTimerGetExpiryTime: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0, r1} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -888,12 +832,11 @@ MPU_xEventGroupWaitBitsEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0, r1} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -903,12 +846,11 @@ MPU_xEventGroupClearBits: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0, r1} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -918,12 +860,11 @@ MPU_xEventGroupSetBits: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0, r1} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -933,12 +874,11 @@ MPU_xEventGroupSync: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0, r1} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -948,12 +888,11 @@ MPU_uxEventGroupGetNumber: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0, r1} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -963,12 +902,11 @@ MPU_vEventGroupSetNumber: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0, r1} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -978,12 +916,11 @@ MPU_xStreamBufferSend: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0, r1} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -993,12 +930,11 @@ MPU_xStreamBufferReceive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0, r1} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -1008,12 +944,11 @@ MPU_xStreamBufferIsFull: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0, r1} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -1023,12 +958,11 @@ MPU_xStreamBufferIsEmpty: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0, r1} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -1038,12 +972,11 @@ MPU_xStreamBufferSpacesAvailable: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0, r1} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -1053,12 +986,11 @@ MPU_xStreamBufferBytesAvailable: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0, r1} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -1068,12 +1000,11 @@ MPU_xStreamBufferSetTriggerLevel: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0, r1} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1083,12 +1014,11 @@ MPU_xStreamBufferNextMessageLengthBytes: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0, r1} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/mpu_wrappers_v2_asm.S b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/mpu_wrappers_v2_asm.S index a69845eda..d2cb78e92 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/mpu_wrappers_v2_asm.S +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/mpu_wrappers_v2_asm.S @@ -47,12 +47,11 @@ MPU_xTaskDelayUntil: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -61,12 +60,11 @@ MPU_xTaskAbortDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -75,12 +73,11 @@ MPU_vTaskDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -89,12 +86,11 @@ MPU_uxTaskPriorityGet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -103,12 +99,11 @@ MPU_eTaskGetState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -117,12 +112,11 @@ MPU_vTaskGetInfo: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -131,12 +125,11 @@ MPU_xTaskGetIdleTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -145,12 +138,11 @@ MPU_vTaskSuspend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -159,12 +151,11 @@ MPU_vTaskResume: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -173,12 +164,11 @@ MPU_xTaskGetTickCount: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -187,12 +177,11 @@ MPU_uxTaskGetNumberOfTasks: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -201,12 +190,11 @@ MPU_ulTaskGetRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -215,12 +203,11 @@ MPU_ulTaskGetRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -229,12 +216,11 @@ MPU_ulTaskGetIdleRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +229,11 @@ MPU_ulTaskGetIdleRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -257,12 +242,11 @@ MPU_vTaskSetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -271,12 +255,11 @@ MPU_xTaskGetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -285,12 +268,11 @@ MPU_vTaskSetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -299,12 +281,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -313,12 +294,11 @@ MPU_uxTaskGetSystemState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -327,12 +307,11 @@ MPU_uxTaskGetStackHighWaterMark: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -341,12 +320,11 @@ MPU_uxTaskGetStackHighWaterMark2: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -355,12 +333,11 @@ MPU_xTaskGetCurrentTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -369,12 +346,11 @@ MPU_xTaskGetSchedulerState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -383,12 +359,11 @@ MPU_vTaskSetTimeOutState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -397,12 +372,11 @@ MPU_xTaskCheckForTimeOut: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -411,12 +385,11 @@ MPU_xTaskGenericNotifyEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -425,12 +398,11 @@ MPU_xTaskGenericNotifyWaitEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -439,12 +411,11 @@ MPU_ulTaskGenericNotifyTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -453,12 +424,11 @@ MPU_xTaskGenericNotifyStateClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -467,12 +437,11 @@ MPU_ulTaskGenericNotifyValueClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -481,12 +450,11 @@ MPU_xQueueGenericSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -495,12 +463,11 @@ MPU_uxQueueMessagesWaiting: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -509,12 +476,11 @@ MPU_uxQueueSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -523,12 +489,11 @@ MPU_xQueueReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -537,12 +502,11 @@ MPU_xQueuePeek: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -551,12 +515,11 @@ MPU_xQueueSemaphoreTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -565,12 +528,11 @@ MPU_xQueueGetMutexHolder: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -579,12 +541,11 @@ MPU_xQueueTakeMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -593,12 +554,11 @@ MPU_xQueueGiveMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -607,12 +567,11 @@ MPU_xQueueSelectFromSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -621,12 +580,11 @@ MPU_xQueueAddToSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -635,12 +593,11 @@ MPU_vQueueAddToRegistry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -649,12 +606,11 @@ MPU_vQueueUnregisterQueue: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -663,12 +619,11 @@ MPU_pcQueueGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -677,12 +632,11 @@ MPU_pvTimerGetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -691,12 +645,11 @@ MPU_vTimerSetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -705,12 +658,11 @@ MPU_xTimerIsTimerActive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -719,12 +671,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -733,12 +684,11 @@ MPU_xTimerGenericCommandFromTaskEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -747,12 +697,11 @@ MPU_pcTimerGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -761,12 +710,11 @@ MPU_vTimerSetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -775,12 +723,11 @@ MPU_xTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -789,12 +736,11 @@ MPU_uxTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -803,12 +749,11 @@ MPU_xTimerGetPeriod: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -817,12 +762,11 @@ MPU_xTimerGetExpiryTime: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -831,12 +775,11 @@ MPU_xEventGroupWaitBitsEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -845,12 +788,11 @@ MPU_xEventGroupClearBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -859,12 +801,11 @@ MPU_xEventGroupSetBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -873,12 +814,11 @@ MPU_xEventGroupSync: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -887,12 +827,11 @@ MPU_uxEventGroupGetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -901,12 +840,11 @@ MPU_vEventGroupSetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -915,12 +853,11 @@ MPU_xStreamBufferSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -929,12 +866,11 @@ MPU_xStreamBufferReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -943,12 +879,11 @@ MPU_xStreamBufferIsFull: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -957,12 +892,11 @@ MPU_xStreamBufferIsEmpty: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -971,12 +905,11 @@ MPU_xStreamBufferSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -985,12 +918,11 @@ MPU_xStreamBufferBytesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -999,12 +931,11 @@ MPU_xStreamBufferSetTriggerLevel: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1013,12 +944,11 @@ MPU_xStreamBufferNextMessageLengthBytes: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/mpu_wrappers_v2_asm.S b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/mpu_wrappers_v2_asm.S index a69845eda..d2cb78e92 100644 --- a/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/mpu_wrappers_v2_asm.S +++ b/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/mpu_wrappers_v2_asm.S @@ -47,12 +47,11 @@ MPU_xTaskDelayUntil: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -61,12 +60,11 @@ MPU_xTaskAbortDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -75,12 +73,11 @@ MPU_vTaskDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -89,12 +86,11 @@ MPU_uxTaskPriorityGet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -103,12 +99,11 @@ MPU_eTaskGetState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -117,12 +112,11 @@ MPU_vTaskGetInfo: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -131,12 +125,11 @@ MPU_xTaskGetIdleTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -145,12 +138,11 @@ MPU_vTaskSuspend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -159,12 +151,11 @@ MPU_vTaskResume: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -173,12 +164,11 @@ MPU_xTaskGetTickCount: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -187,12 +177,11 @@ MPU_uxTaskGetNumberOfTasks: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -201,12 +190,11 @@ MPU_ulTaskGetRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -215,12 +203,11 @@ MPU_ulTaskGetRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -229,12 +216,11 @@ MPU_ulTaskGetIdleRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +229,11 @@ MPU_ulTaskGetIdleRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -257,12 +242,11 @@ MPU_vTaskSetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -271,12 +255,11 @@ MPU_xTaskGetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -285,12 +268,11 @@ MPU_vTaskSetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -299,12 +281,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -313,12 +294,11 @@ MPU_uxTaskGetSystemState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -327,12 +307,11 @@ MPU_uxTaskGetStackHighWaterMark: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -341,12 +320,11 @@ MPU_uxTaskGetStackHighWaterMark2: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -355,12 +333,11 @@ MPU_xTaskGetCurrentTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -369,12 +346,11 @@ MPU_xTaskGetSchedulerState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -383,12 +359,11 @@ MPU_vTaskSetTimeOutState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -397,12 +372,11 @@ MPU_xTaskCheckForTimeOut: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -411,12 +385,11 @@ MPU_xTaskGenericNotifyEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -425,12 +398,11 @@ MPU_xTaskGenericNotifyWaitEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -439,12 +411,11 @@ MPU_ulTaskGenericNotifyTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -453,12 +424,11 @@ MPU_xTaskGenericNotifyStateClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -467,12 +437,11 @@ MPU_ulTaskGenericNotifyValueClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -481,12 +450,11 @@ MPU_xQueueGenericSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -495,12 +463,11 @@ MPU_uxQueueMessagesWaiting: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -509,12 +476,11 @@ MPU_uxQueueSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -523,12 +489,11 @@ MPU_xQueueReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -537,12 +502,11 @@ MPU_xQueuePeek: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -551,12 +515,11 @@ MPU_xQueueSemaphoreTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -565,12 +528,11 @@ MPU_xQueueGetMutexHolder: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -579,12 +541,11 @@ MPU_xQueueTakeMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -593,12 +554,11 @@ MPU_xQueueGiveMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -607,12 +567,11 @@ MPU_xQueueSelectFromSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -621,12 +580,11 @@ MPU_xQueueAddToSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -635,12 +593,11 @@ MPU_vQueueAddToRegistry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -649,12 +606,11 @@ MPU_vQueueUnregisterQueue: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -663,12 +619,11 @@ MPU_pcQueueGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -677,12 +632,11 @@ MPU_pvTimerGetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -691,12 +645,11 @@ MPU_vTimerSetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -705,12 +658,11 @@ MPU_xTimerIsTimerActive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -719,12 +671,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -733,12 +684,11 @@ MPU_xTimerGenericCommandFromTaskEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -747,12 +697,11 @@ MPU_pcTimerGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -761,12 +710,11 @@ MPU_vTimerSetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -775,12 +723,11 @@ MPU_xTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -789,12 +736,11 @@ MPU_uxTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -803,12 +749,11 @@ MPU_xTimerGetPeriod: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -817,12 +762,11 @@ MPU_xTimerGetExpiryTime: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -831,12 +775,11 @@ MPU_xEventGroupWaitBitsEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -845,12 +788,11 @@ MPU_xEventGroupClearBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -859,12 +801,11 @@ MPU_xEventGroupSetBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -873,12 +814,11 @@ MPU_xEventGroupSync: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -887,12 +827,11 @@ MPU_uxEventGroupGetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -901,12 +840,11 @@ MPU_vEventGroupSetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -915,12 +853,11 @@ MPU_xStreamBufferSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -929,12 +866,11 @@ MPU_xStreamBufferReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -943,12 +879,11 @@ MPU_xStreamBufferIsFull: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -957,12 +892,11 @@ MPU_xStreamBufferIsEmpty: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -971,12 +905,11 @@ MPU_xStreamBufferSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -985,12 +918,11 @@ MPU_xStreamBufferBytesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -999,12 +931,11 @@ MPU_xStreamBufferSetTriggerLevel: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1013,12 +944,11 @@ MPU_xStreamBufferNextMessageLengthBytes: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c index 9c829b540..fb167a699 100644 --- a/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c @@ -63,12 +63,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -93,12 +92,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -123,12 +121,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -153,12 +150,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -183,12 +179,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0, r1} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -219,12 +214,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -249,12 +243,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -279,12 +272,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -309,12 +301,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -337,12 +328,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -363,12 +353,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -391,12 +380,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -421,12 +409,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -451,12 +438,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -481,12 +467,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -513,12 +498,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -543,12 +527,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -577,12 +560,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -609,12 +591,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0, r1} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -643,12 +624,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -673,12 +653,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -703,12 +682,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -733,12 +711,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -763,12 +740,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -791,12 +767,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -819,12 +794,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -847,12 +821,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -877,12 +850,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -911,12 +883,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -943,12 +914,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -977,12 +947,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -1011,12 +980,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1037,12 +1005,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1063,12 +1030,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1093,12 +1059,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1123,12 +1088,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1151,12 +1115,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1179,12 +1142,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1211,12 +1173,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1241,12 +1202,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1273,12 +1233,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1305,12 +1264,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1337,12 +1295,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0, r1} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1367,12 +1324,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0, r1} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1397,12 +1353,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0, r1} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1427,12 +1382,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0, r1} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1459,12 +1413,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1489,12 +1442,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1519,12 +1471,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1542,21 +1493,20 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0, r1} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0, r1} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1579,12 +1529,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0, r1} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1611,12 +1560,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1641,12 +1589,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1671,12 +1618,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1701,12 +1647,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1731,12 +1676,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1759,12 +1703,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1787,12 +1730,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1815,12 +1757,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1847,12 +1788,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1875,12 +1815,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1907,12 +1846,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0, r1} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1941,12 +1879,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1973,12 +1910,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1999,12 +1935,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -2025,12 +1960,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -2051,12 +1985,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2077,12 +2010,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2105,12 +2037,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2131,12 +2062,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c index 9c829b540..fb167a699 100644 --- a/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -63,12 +63,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -93,12 +92,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -123,12 +121,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -153,12 +150,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -183,12 +179,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0, r1} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -219,12 +214,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -249,12 +243,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -279,12 +272,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -309,12 +301,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -337,12 +328,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -363,12 +353,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -391,12 +380,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -421,12 +409,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -451,12 +438,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -481,12 +467,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -513,12 +498,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -543,12 +527,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -577,12 +560,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -609,12 +591,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0, r1} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -643,12 +624,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -673,12 +653,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -703,12 +682,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -733,12 +711,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -763,12 +740,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -791,12 +767,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -819,12 +794,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -847,12 +821,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -877,12 +850,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -911,12 +883,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -943,12 +914,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -977,12 +947,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0, r1} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -1011,12 +980,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1037,12 +1005,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1063,12 +1030,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1093,12 +1059,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1123,12 +1088,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1151,12 +1115,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1179,12 +1142,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1211,12 +1173,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1241,12 +1202,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1273,12 +1233,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1305,12 +1264,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0, r1} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1337,12 +1295,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0, r1} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1367,12 +1324,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0, r1} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1397,12 +1353,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0, r1} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1427,12 +1382,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0, r1} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1459,12 +1413,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1489,12 +1442,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1519,12 +1471,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1542,21 +1493,20 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0, r1} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0, r1} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1579,12 +1529,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0, r1} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1611,12 +1560,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0, r1} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1641,12 +1589,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1671,12 +1618,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1701,12 +1647,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1731,12 +1676,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0, r1} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1759,12 +1703,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1787,12 +1730,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1815,12 +1757,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1847,12 +1788,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0, r1} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1875,12 +1815,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0, r1} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1907,12 +1846,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0, r1} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1941,12 +1879,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1973,12 +1910,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1999,12 +1935,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -2025,12 +1960,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -2051,12 +1985,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2077,12 +2010,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2105,12 +2037,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2131,12 +2062,11 @@ " mrs r0, control \n" " movs r1, #1 \n" " tst r0, r1 \n" + " pop {r0, r1} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0, r1} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0, r1} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c index 170d10fcc..4f66448f9 100644 --- a/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c @@ -62,12 +62,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -91,12 +90,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -120,12 +118,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -149,12 +146,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -178,12 +174,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -213,12 +208,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -242,12 +236,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -271,12 +264,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -300,12 +292,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -327,12 +318,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -352,12 +342,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -379,12 +368,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -408,12 +396,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -437,12 +424,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -466,12 +452,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -497,12 +482,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -526,12 +510,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -559,12 +542,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -590,12 +572,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -623,12 +604,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -652,12 +632,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -681,12 +660,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -710,12 +688,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -739,12 +716,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -766,12 +742,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -793,12 +768,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -820,12 +794,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -849,12 +822,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -882,12 +854,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -913,12 +884,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -946,12 +916,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -979,12 +948,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1004,12 +972,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1029,12 +996,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1058,12 +1024,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1087,12 +1052,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1114,12 +1078,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1141,12 +1104,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1172,12 +1134,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1201,12 +1162,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1232,12 +1192,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1263,12 +1222,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1294,12 +1252,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1323,12 +1280,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1352,12 +1308,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1381,12 +1336,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1412,12 +1366,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1441,12 +1394,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1470,12 +1422,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1493,20 +1444,19 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1528,12 +1478,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1559,12 +1508,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1588,12 +1536,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1617,12 +1564,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1646,12 +1592,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1675,12 +1620,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1702,12 +1646,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1729,12 +1672,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1756,12 +1698,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1787,12 +1728,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1814,12 +1754,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1845,12 +1784,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1878,12 +1816,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1909,12 +1846,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1934,12 +1870,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -1959,12 +1894,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -1984,12 +1918,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2009,12 +1942,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2036,12 +1968,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2061,12 +1992,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c index 170d10fcc..4f66448f9 100644 --- a/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -62,12 +62,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -91,12 +90,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -120,12 +118,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -149,12 +146,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -178,12 +174,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -213,12 +208,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -242,12 +236,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -271,12 +264,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -300,12 +292,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -327,12 +318,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -352,12 +342,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -379,12 +368,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -408,12 +396,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -437,12 +424,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -466,12 +452,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -497,12 +482,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -526,12 +510,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -559,12 +542,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -590,12 +572,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -623,12 +604,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -652,12 +632,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -681,12 +660,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -710,12 +688,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -739,12 +716,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -766,12 +742,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -793,12 +768,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -820,12 +794,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -849,12 +822,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -882,12 +854,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -913,12 +884,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -946,12 +916,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -979,12 +948,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1004,12 +972,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1029,12 +996,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1058,12 +1024,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1087,12 +1052,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1114,12 +1078,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1141,12 +1104,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1172,12 +1134,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1201,12 +1162,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1232,12 +1192,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1263,12 +1222,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1294,12 +1252,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1323,12 +1280,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1352,12 +1308,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1381,12 +1336,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1412,12 +1366,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1441,12 +1394,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1470,12 +1422,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1493,20 +1444,19 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1528,12 +1478,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1559,12 +1508,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1588,12 +1536,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1617,12 +1564,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1646,12 +1592,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1675,12 +1620,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1702,12 +1646,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1729,12 +1672,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1756,12 +1698,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1787,12 +1728,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1814,12 +1754,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1845,12 +1784,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1878,12 +1816,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1909,12 +1846,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1934,12 +1870,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -1959,12 +1894,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -1984,12 +1918,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2009,12 +1942,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2036,12 +1968,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2061,12 +1992,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c index 170d10fcc..4f66448f9 100644 --- a/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c @@ -62,12 +62,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -91,12 +90,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -120,12 +118,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -149,12 +146,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -178,12 +174,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -213,12 +208,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -242,12 +236,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -271,12 +264,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -300,12 +292,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -327,12 +318,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -352,12 +342,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -379,12 +368,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -408,12 +396,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -437,12 +424,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -466,12 +452,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -497,12 +482,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -526,12 +510,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -559,12 +542,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -590,12 +572,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -623,12 +604,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -652,12 +632,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -681,12 +660,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -710,12 +688,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -739,12 +716,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -766,12 +742,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -793,12 +768,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -820,12 +794,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -849,12 +822,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -882,12 +854,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -913,12 +884,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -946,12 +916,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -979,12 +948,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1004,12 +972,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1029,12 +996,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1058,12 +1024,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1087,12 +1052,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1114,12 +1078,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1141,12 +1104,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1172,12 +1134,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1201,12 +1162,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1232,12 +1192,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1263,12 +1222,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1294,12 +1252,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1323,12 +1280,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1352,12 +1308,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1381,12 +1336,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1412,12 +1366,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1441,12 +1394,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1470,12 +1422,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1493,20 +1444,19 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1528,12 +1478,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1559,12 +1508,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1588,12 +1536,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1617,12 +1564,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1646,12 +1592,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1675,12 +1620,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1702,12 +1646,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1729,12 +1672,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1756,12 +1698,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1787,12 +1728,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1814,12 +1754,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1845,12 +1784,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1878,12 +1816,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1909,12 +1846,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1934,12 +1870,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -1959,12 +1894,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -1984,12 +1918,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2009,12 +1942,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2036,12 +1968,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2061,12 +1992,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c index 170d10fcc..4f66448f9 100644 --- a/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -62,12 +62,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -91,12 +90,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -120,12 +118,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -149,12 +146,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -178,12 +174,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -213,12 +208,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -242,12 +236,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -271,12 +264,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -300,12 +292,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -327,12 +318,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -352,12 +342,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -379,12 +368,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -408,12 +396,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -437,12 +424,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -466,12 +452,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -497,12 +482,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -526,12 +510,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -559,12 +542,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -590,12 +572,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -623,12 +604,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -652,12 +632,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -681,12 +660,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -710,12 +688,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -739,12 +716,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -766,12 +742,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -793,12 +768,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -820,12 +794,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -849,12 +822,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -882,12 +854,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -913,12 +884,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -946,12 +916,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -979,12 +948,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1004,12 +972,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1029,12 +996,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1058,12 +1024,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1087,12 +1052,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1114,12 +1078,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1141,12 +1104,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1172,12 +1134,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1201,12 +1162,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1232,12 +1192,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1263,12 +1222,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1294,12 +1252,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1323,12 +1280,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1352,12 +1308,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1381,12 +1336,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1412,12 +1366,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1441,12 +1394,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1470,12 +1422,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1493,20 +1444,19 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1528,12 +1478,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1559,12 +1508,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1588,12 +1536,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1617,12 +1564,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1646,12 +1592,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1675,12 +1620,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1702,12 +1646,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1729,12 +1672,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1756,12 +1698,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1787,12 +1728,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1814,12 +1754,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1845,12 +1784,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1878,12 +1816,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1909,12 +1846,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1934,12 +1870,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -1959,12 +1894,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -1984,12 +1918,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2009,12 +1942,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2036,12 +1968,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2061,12 +1992,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c index c95f72e8e..feb3e3426 100644 --- a/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c @@ -62,12 +62,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -91,12 +90,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -120,12 +118,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -149,12 +146,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -178,12 +174,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -213,12 +208,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -242,12 +236,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -271,12 +264,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -300,12 +292,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -327,12 +318,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -352,12 +342,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -379,12 +368,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -408,12 +396,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -437,12 +424,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -466,12 +452,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -497,12 +482,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -526,12 +510,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -559,12 +542,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -590,12 +572,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -623,12 +604,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -652,12 +632,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -681,12 +660,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -710,12 +688,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -739,12 +716,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -766,12 +742,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -793,12 +768,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -820,12 +794,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -849,12 +822,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -882,12 +854,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -913,12 +884,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -946,12 +916,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -979,12 +948,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1004,12 +972,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1029,12 +996,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1058,12 +1024,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1087,12 +1052,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1114,12 +1078,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1141,12 +1104,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1172,12 +1134,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1201,12 +1162,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1232,12 +1192,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1263,12 +1222,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1294,12 +1252,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1323,12 +1280,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1352,12 +1308,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1381,12 +1336,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1412,12 +1366,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1441,12 +1394,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1470,12 +1422,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1493,20 +1444,19 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1528,12 +1478,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1559,12 +1508,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1588,12 +1536,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1617,12 +1564,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1646,12 +1592,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1675,12 +1620,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1702,12 +1646,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1729,12 +1672,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1756,12 +1698,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1787,12 +1728,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1814,12 +1754,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1845,12 +1784,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1878,12 +1816,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1909,12 +1846,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1934,12 +1870,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -1959,12 +1894,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -1984,12 +1918,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2009,12 +1942,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2036,12 +1968,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2061,12 +1992,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c index c95f72e8e..feb3e3426 100644 --- a/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c @@ -62,12 +62,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -91,12 +90,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -120,12 +118,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -149,12 +146,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -178,12 +174,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -213,12 +208,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -242,12 +236,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -271,12 +264,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -300,12 +292,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -327,12 +318,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -352,12 +342,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -379,12 +368,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -408,12 +396,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -437,12 +424,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -466,12 +452,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -497,12 +482,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -526,12 +510,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -559,12 +542,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -590,12 +572,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -623,12 +604,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -652,12 +632,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -681,12 +660,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -710,12 +688,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -739,12 +716,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -766,12 +742,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -793,12 +768,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -820,12 +794,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -849,12 +822,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -882,12 +854,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -913,12 +884,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -946,12 +916,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -979,12 +948,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1004,12 +972,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1029,12 +996,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1058,12 +1024,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1087,12 +1052,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1114,12 +1078,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1141,12 +1104,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1172,12 +1134,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1201,12 +1162,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1232,12 +1192,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1263,12 +1222,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1294,12 +1252,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1323,12 +1280,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1352,12 +1308,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1381,12 +1336,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1412,12 +1366,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1441,12 +1394,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1470,12 +1422,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1493,20 +1444,19 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1528,12 +1478,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1559,12 +1508,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1588,12 +1536,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1617,12 +1564,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1646,12 +1592,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1675,12 +1620,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1702,12 +1646,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1729,12 +1672,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1756,12 +1698,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1787,12 +1728,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1814,12 +1754,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1845,12 +1784,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1878,12 +1816,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1909,12 +1846,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1934,12 +1870,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -1959,12 +1894,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -1984,12 +1918,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2009,12 +1942,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2036,12 +1968,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2061,12 +1992,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c index 170d10fcc..4f66448f9 100644 --- a/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c @@ -62,12 +62,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -91,12 +90,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -120,12 +118,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -149,12 +146,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -178,12 +174,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -213,12 +208,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -242,12 +236,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -271,12 +264,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -300,12 +292,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -327,12 +318,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -352,12 +342,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -379,12 +368,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -408,12 +396,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -437,12 +424,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -466,12 +452,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -497,12 +482,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -526,12 +510,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -559,12 +542,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -590,12 +572,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -623,12 +604,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -652,12 +632,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -681,12 +660,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -710,12 +688,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -739,12 +716,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -766,12 +742,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -793,12 +768,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -820,12 +794,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -849,12 +822,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -882,12 +854,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -913,12 +884,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -946,12 +916,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -979,12 +948,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1004,12 +972,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1029,12 +996,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1058,12 +1024,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1087,12 +1052,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1114,12 +1078,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1141,12 +1104,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1172,12 +1134,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1201,12 +1162,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1232,12 +1192,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1263,12 +1222,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1294,12 +1252,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1323,12 +1280,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1352,12 +1308,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1381,12 +1336,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1412,12 +1366,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1441,12 +1394,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1470,12 +1422,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1493,20 +1444,19 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1528,12 +1478,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1559,12 +1508,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1588,12 +1536,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1617,12 +1564,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1646,12 +1592,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1675,12 +1620,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1702,12 +1646,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1729,12 +1672,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1756,12 +1698,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1787,12 +1728,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1814,12 +1754,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1845,12 +1784,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1878,12 +1816,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1909,12 +1846,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1934,12 +1870,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -1959,12 +1894,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -1984,12 +1918,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2009,12 +1942,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2036,12 +1968,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2061,12 +1992,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c index 170d10fcc..4f66448f9 100644 --- a/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -62,12 +62,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -91,12 +90,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -120,12 +118,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -149,12 +146,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -178,12 +174,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -213,12 +208,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -242,12 +236,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -271,12 +264,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -300,12 +292,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -327,12 +318,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -352,12 +342,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -379,12 +368,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -408,12 +396,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -437,12 +424,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -466,12 +452,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -497,12 +482,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -526,12 +510,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -559,12 +542,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -590,12 +572,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -623,12 +604,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -652,12 +632,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -681,12 +660,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -710,12 +688,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -739,12 +716,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -766,12 +742,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -793,12 +768,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -820,12 +794,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -849,12 +822,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -882,12 +854,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -913,12 +884,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -946,12 +916,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -979,12 +948,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1004,12 +972,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1029,12 +996,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1058,12 +1024,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1087,12 +1052,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1114,12 +1078,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1141,12 +1104,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1172,12 +1134,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1201,12 +1162,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1232,12 +1192,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1263,12 +1222,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1294,12 +1252,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1323,12 +1280,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1352,12 +1308,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1381,12 +1336,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1412,12 +1366,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1441,12 +1394,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1470,12 +1422,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1493,20 +1444,19 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1528,12 +1478,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1559,12 +1508,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1588,12 +1536,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1617,12 +1564,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1646,12 +1592,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1675,12 +1620,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1702,12 +1646,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1729,12 +1672,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1756,12 +1698,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1787,12 +1728,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1814,12 +1754,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1845,12 +1784,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1878,12 +1816,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1909,12 +1846,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1934,12 +1870,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -1959,12 +1894,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -1984,12 +1918,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2009,12 +1942,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2036,12 +1968,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2061,12 +1992,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c index 170d10fcc..4f66448f9 100644 --- a/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c @@ -62,12 +62,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -91,12 +90,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -120,12 +118,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -149,12 +146,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -178,12 +174,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -213,12 +208,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -242,12 +236,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -271,12 +264,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -300,12 +292,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -327,12 +318,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -352,12 +342,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -379,12 +368,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -408,12 +396,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -437,12 +424,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -466,12 +452,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -497,12 +482,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -526,12 +510,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -559,12 +542,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -590,12 +572,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -623,12 +604,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -652,12 +632,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -681,12 +660,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -710,12 +688,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -739,12 +716,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -766,12 +742,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -793,12 +768,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -820,12 +794,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -849,12 +822,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -882,12 +854,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -913,12 +884,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -946,12 +916,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -979,12 +948,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1004,12 +972,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1029,12 +996,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1058,12 +1024,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1087,12 +1052,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1114,12 +1078,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1141,12 +1104,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1172,12 +1134,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1201,12 +1162,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1232,12 +1192,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1263,12 +1222,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1294,12 +1252,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1323,12 +1280,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1352,12 +1308,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1381,12 +1336,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1412,12 +1366,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1441,12 +1394,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1470,12 +1422,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1493,20 +1444,19 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1528,12 +1478,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1559,12 +1508,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1588,12 +1536,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1617,12 +1564,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1646,12 +1592,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1675,12 +1620,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1702,12 +1646,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1729,12 +1672,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1756,12 +1698,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1787,12 +1728,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1814,12 +1754,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1845,12 +1784,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1878,12 +1816,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1909,12 +1846,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1934,12 +1870,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -1959,12 +1894,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -1984,12 +1918,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2009,12 +1942,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2036,12 +1968,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2061,12 +1992,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c index 170d10fcc..4f66448f9 100644 --- a/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -62,12 +62,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskDelayUntil_Unpriv \n" " MPU_xTaskDelayUntil_Priv: \n" - " pop {r0} \n" " b MPU_xTaskDelayUntilImpl \n" " MPU_xTaskDelayUntil_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" @@ -91,12 +90,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskAbortDelay_Unpriv \n" " MPU_xTaskAbortDelay_Priv: \n" - " pop {r0} \n" " b MPU_xTaskAbortDelayImpl \n" " MPU_xTaskAbortDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" @@ -120,12 +118,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskDelay_Unpriv \n" " MPU_vTaskDelay_Priv: \n" - " pop {r0} \n" " b MPU_vTaskDelayImpl \n" " MPU_vTaskDelay_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" @@ -149,12 +146,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskPriorityGet_Unpriv \n" " MPU_uxTaskPriorityGet_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskPriorityGetImpl \n" " MPU_uxTaskPriorityGet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" @@ -178,12 +174,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_eTaskGetState_Unpriv \n" " MPU_eTaskGetState_Priv: \n" - " pop {r0} \n" " b MPU_eTaskGetStateImpl \n" " MPU_eTaskGetState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" @@ -213,12 +208,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskGetInfo_Unpriv \n" " MPU_vTaskGetInfo_Priv: \n" - " pop {r0} \n" " b MPU_vTaskGetInfoImpl \n" " MPU_vTaskGetInfo_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" @@ -242,12 +236,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" " MPU_xTaskGetIdleTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetIdleTaskHandleImpl \n" " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" @@ -271,12 +264,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSuspend_Unpriv \n" " MPU_vTaskSuspend_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSuspendImpl \n" " MPU_vTaskSuspend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" @@ -300,12 +292,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskResume_Unpriv \n" " MPU_vTaskResume_Priv: \n" - " pop {r0} \n" " b MPU_vTaskResumeImpl \n" " MPU_vTaskResume_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" @@ -327,12 +318,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetTickCount_Unpriv \n" " MPU_xTaskGetTickCount_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetTickCountImpl \n" " MPU_xTaskGetTickCount_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" @@ -352,12 +342,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" " MPU_uxTaskGetNumberOfTasks_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetNumberOfTasksImpl \n" " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" @@ -379,12 +368,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" " MPU_ulTaskGetRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimeCounterImpl \n" " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" @@ -408,12 +396,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" " MPU_ulTaskGetRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetRunTimePercentImpl \n" " MPU_ulTaskGetRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" @@ -437,12 +424,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimePercentImpl \n" " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" @@ -466,12 +452,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGetIdleRunTimeCounterImpl \n" " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" @@ -497,12 +482,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" " MPU_vTaskSetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetApplicationTaskTagImpl \n" " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" @@ -526,12 +510,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" " MPU_xTaskGetApplicationTaskTag_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetApplicationTaskTagImpl \n" " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" @@ -559,12 +542,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetThreadLocalStoragePointerImpl \n" " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" @@ -590,12 +572,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" - " pop {r0} \n" " b MPU_pvTaskGetThreadLocalStoragePointerImpl \n" " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" @@ -623,12 +604,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetSystemState_Unpriv \n" " MPU_uxTaskGetSystemState_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetSystemStateImpl \n" " MPU_uxTaskGetSystemState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" @@ -652,12 +632,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMarkImpl \n" " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" @@ -681,12 +660,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" - " pop {r0} \n" " b MPU_uxTaskGetStackHighWaterMark2Impl \n" " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" @@ -710,12 +688,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" " MPU_xTaskGetCurrentTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetCurrentTaskHandleImpl \n" " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" @@ -739,12 +716,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGetSchedulerState_Unpriv \n" " MPU_xTaskGetSchedulerState_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGetSchedulerStateImpl \n" " MPU_xTaskGetSchedulerState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" @@ -766,12 +742,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTaskSetTimeOutState_Unpriv \n" " MPU_vTaskSetTimeOutState_Priv: \n" - " pop {r0} \n" " b MPU_vTaskSetTimeOutStateImpl \n" " MPU_vTaskSetTimeOutState_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" @@ -793,12 +768,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskCheckForTimeOut_Unpriv \n" " MPU_xTaskCheckForTimeOut_Priv: \n" - " pop {r0} \n" " b MPU_xTaskCheckForTimeOutImpl \n" " MPU_xTaskCheckForTimeOut_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" @@ -820,12 +794,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotify_Unpriv \n" " MPU_xTaskGenericNotify_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyImpl \n" " MPU_xTaskGenericNotify_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" @@ -849,12 +822,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyWait_Unpriv \n" " MPU_xTaskGenericNotifyWait_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyWaitImpl \n" " MPU_xTaskGenericNotifyWait_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" @@ -882,12 +854,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" " MPU_ulTaskGenericNotifyTake_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyTakeImpl \n" " MPU_ulTaskGenericNotifyTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" @@ -913,12 +884,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" " MPU_xTaskGenericNotifyStateClear_Priv: \n" - " pop {r0} \n" " b MPU_xTaskGenericNotifyStateClearImpl \n" " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" @@ -946,12 +916,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" " MPU_ulTaskGenericNotifyValueClear_Priv: \n" - " pop {r0} \n" " b MPU_ulTaskGenericNotifyValueClearImpl \n" " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" @@ -979,12 +948,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGenericSend_Unpriv \n" " MPU_xQueueGenericSend_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGenericSendImpl \n" " MPU_xQueueGenericSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" @@ -1004,12 +972,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueMessagesWaiting_Unpriv \n" " MPU_uxQueueMessagesWaiting_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueMessagesWaitingImpl \n" " MPU_uxQueueMessagesWaiting_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" @@ -1029,12 +996,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxQueueSpacesAvailable_Unpriv \n" " MPU_uxQueueSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_uxQueueSpacesAvailableImpl \n" " MPU_uxQueueSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" @@ -1058,12 +1024,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueReceive_Unpriv \n" " MPU_xQueueReceive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueReceiveImpl \n" " MPU_xQueueReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" @@ -1087,12 +1052,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueuePeek_Unpriv \n" " MPU_xQueuePeek_Priv: \n" - " pop {r0} \n" " b MPU_xQueuePeekImpl \n" " MPU_xQueuePeek_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" @@ -1114,12 +1078,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSemaphoreTake_Unpriv \n" " MPU_xQueueSemaphoreTake_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSemaphoreTakeImpl \n" " MPU_xQueueSemaphoreTake_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" @@ -1141,12 +1104,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGetMutexHolder_Unpriv \n" " MPU_xQueueGetMutexHolder_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGetMutexHolderImpl \n" " MPU_xQueueGetMutexHolder_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" @@ -1172,12 +1134,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" " MPU_xQueueTakeMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueTakeMutexRecursiveImpl \n" " MPU_xQueueTakeMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" @@ -1201,12 +1162,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" " MPU_xQueueGiveMutexRecursive_Priv: \n" - " pop {r0} \n" " b MPU_xQueueGiveMutexRecursiveImpl \n" " MPU_xQueueGiveMutexRecursive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" @@ -1232,12 +1192,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueSelectFromSet_Unpriv \n" " MPU_xQueueSelectFromSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueSelectFromSetImpl \n" " MPU_xQueueSelectFromSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" @@ -1263,12 +1222,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xQueueAddToSet_Unpriv \n" " MPU_xQueueAddToSet_Priv: \n" - " pop {r0} \n" " b MPU_xQueueAddToSetImpl \n" " MPU_xQueueAddToSet_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" @@ -1294,12 +1252,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueAddToRegistry_Unpriv \n" " MPU_vQueueAddToRegistry_Priv: \n" - " pop {r0} \n" " b MPU_vQueueAddToRegistryImpl \n" " MPU_vQueueAddToRegistry_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" @@ -1323,12 +1280,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vQueueUnregisterQueue_Unpriv \n" " MPU_vQueueUnregisterQueue_Priv: \n" - " pop {r0} \n" " b MPU_vQueueUnregisterQueueImpl \n" " MPU_vQueueUnregisterQueue_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" @@ -1352,12 +1308,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcQueueGetName_Unpriv \n" " MPU_pcQueueGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcQueueGetNameImpl \n" " MPU_pcQueueGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" @@ -1381,12 +1336,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pvTimerGetTimerID_Unpriv \n" " MPU_pvTimerGetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_pvTimerGetTimerIDImpl \n" " MPU_pvTimerGetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" @@ -1412,12 +1366,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetTimerID_Unpriv \n" " MPU_vTimerSetTimerID_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetTimerIDImpl \n" " MPU_vTimerSetTimerID_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" @@ -1441,12 +1394,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerIsTimerActive_Unpriv \n" " MPU_xTimerIsTimerActive_Priv: \n" - " pop {r0} \n" " b MPU_xTimerIsTimerActiveImpl \n" " MPU_xTimerIsTimerActive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" @@ -1470,12 +1422,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetTimerDaemonTaskHandleImpl \n" " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" @@ -1493,20 +1444,19 @@ { __asm volatile ( - " .syntax unified \n" - " .extern MPU_xTimerGenericCommandFromTaskImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" - " MPU_xTimerGenericCommandFromTask_Priv: \n" - " pop {r0} \n" - " b MPU_xTimerGenericCommandFromTaskImpl \n" - " MPU_xTimerGenericCommandFromTask_Unpriv: \n" - " pop {r0} \n" - " svc %0 \n" - " \n" + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " b MPU_xTimerGenericCommandFromTaskImpl \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" ); } @@ -1528,12 +1478,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_pcTimerGetName_Unpriv \n" " MPU_pcTimerGetName_Priv: \n" - " pop {r0} \n" " b MPU_pcTimerGetNameImpl \n" " MPU_pcTimerGetName_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" @@ -1559,12 +1508,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vTimerSetReloadMode_Unpriv \n" " MPU_vTimerSetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_vTimerSetReloadModeImpl \n" " MPU_vTimerSetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" @@ -1588,12 +1536,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetReloadMode_Unpriv \n" " MPU_xTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetReloadModeImpl \n" " MPU_xTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" @@ -1617,12 +1564,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxTimerGetReloadMode_Unpriv \n" " MPU_uxTimerGetReloadMode_Priv: \n" - " pop {r0} \n" " b MPU_uxTimerGetReloadModeImpl \n" " MPU_uxTimerGetReloadMode_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" @@ -1646,12 +1592,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetPeriod_Unpriv \n" " MPU_xTimerGetPeriod_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetPeriodImpl \n" " MPU_xTimerGetPeriod_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" @@ -1675,12 +1620,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xTimerGetExpiryTime_Unpriv \n" " MPU_xTimerGetExpiryTime_Priv: \n" - " pop {r0} \n" " b MPU_xTimerGetExpiryTimeImpl \n" " MPU_xTimerGetExpiryTime_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" @@ -1702,12 +1646,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupWaitBits_Unpriv \n" " MPU_xEventGroupWaitBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupWaitBitsImpl \n" " MPU_xEventGroupWaitBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" @@ -1729,12 +1672,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupClearBits_Unpriv \n" " MPU_xEventGroupClearBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupClearBitsImpl \n" " MPU_xEventGroupClearBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" @@ -1756,12 +1698,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSetBits_Unpriv \n" " MPU_xEventGroupSetBits_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSetBitsImpl \n" " MPU_xEventGroupSetBits_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" @@ -1787,12 +1728,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xEventGroupSync_Unpriv \n" " MPU_xEventGroupSync_Priv: \n" - " pop {r0} \n" " b MPU_xEventGroupSyncImpl \n" " MPU_xEventGroupSync_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" @@ -1814,12 +1754,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_uxEventGroupGetNumber_Unpriv \n" " MPU_uxEventGroupGetNumber_Priv: \n" - " pop {r0} \n" " b MPU_uxEventGroupGetNumberImpl \n" " MPU_uxEventGroupGetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" @@ -1845,12 +1784,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_vEventGroupSetNumber_Unpriv \n" " MPU_vEventGroupSetNumber_Priv: \n" - " pop {r0} \n" " b MPU_vEventGroupSetNumberImpl \n" " MPU_vEventGroupSetNumber_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" @@ -1878,12 +1816,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSend_Unpriv \n" " MPU_xStreamBufferSend_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSendImpl \n" " MPU_xStreamBufferSend_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" @@ -1909,12 +1846,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferReceive_Unpriv \n" " MPU_xStreamBufferReceive_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferReceiveImpl \n" " MPU_xStreamBufferReceive_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" @@ -1934,12 +1870,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsFull_Unpriv \n" " MPU_xStreamBufferIsFull_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsFullImpl \n" " MPU_xStreamBufferIsFull_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" @@ -1959,12 +1894,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferIsEmpty_Unpriv \n" " MPU_xStreamBufferIsEmpty_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferIsEmptyImpl \n" " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" @@ -1984,12 +1918,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSpacesAvailableImpl \n" " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" @@ -2009,12 +1942,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" " MPU_xStreamBufferBytesAvailable_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferBytesAvailableImpl \n" " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" @@ -2036,12 +1968,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferSetTriggerLevelImpl \n" " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" @@ -2061,12 +1992,11 @@ " push {r0} \n" " mrs r0, control \n" " tst r0, #1 \n" + " pop {r0} \n" " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " pop {r0} \n" " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " pop {r0} \n" " svc %0 \n" " \n" : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" diff --git a/portable/IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S index 8ea2f5c78..9289bcbc2 100644 --- a/portable/IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S @@ -48,12 +48,11 @@ MPU_xTaskDelayUntil: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0, r1} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -63,12 +62,11 @@ MPU_xTaskAbortDelay: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0, r1} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -78,12 +76,11 @@ MPU_vTaskDelay: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0, r1} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -93,12 +90,11 @@ MPU_uxTaskPriorityGet: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0, r1} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -108,12 +104,11 @@ MPU_eTaskGetState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0, r1} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -123,12 +118,11 @@ MPU_vTaskGetInfo: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0, r1} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -138,12 +132,11 @@ MPU_xTaskGetIdleTaskHandle: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0, r1} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -153,12 +146,11 @@ MPU_vTaskSuspend: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0, r1} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -168,12 +160,11 @@ MPU_vTaskResume: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0, r1} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -183,12 +174,11 @@ MPU_xTaskGetTickCount: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0, r1} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -198,12 +188,11 @@ MPU_uxTaskGetNumberOfTasks: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0, r1} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -213,12 +202,11 @@ MPU_ulTaskGetRunTimeCounter: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0, r1} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -228,12 +216,11 @@ MPU_ulTaskGetRunTimePercent: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0, r1} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +230,11 @@ MPU_ulTaskGetIdleRunTimePercent: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0, r1} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -258,12 +244,11 @@ MPU_ulTaskGetIdleRunTimeCounter: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0, r1} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -273,12 +258,11 @@ MPU_vTaskSetApplicationTaskTag: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0, r1} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -288,12 +272,11 @@ MPU_xTaskGetApplicationTaskTag: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0, r1} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -303,12 +286,11 @@ MPU_vTaskSetThreadLocalStoragePointer: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0, r1} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -318,12 +300,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0, r1} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -333,12 +314,11 @@ MPU_uxTaskGetSystemState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0, r1} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -348,12 +328,11 @@ MPU_uxTaskGetStackHighWaterMark: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0, r1} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -363,12 +342,11 @@ MPU_uxTaskGetStackHighWaterMark2: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0, r1} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -378,12 +356,11 @@ MPU_xTaskGetCurrentTaskHandle: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0, r1} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -393,12 +370,11 @@ MPU_xTaskGetSchedulerState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0, r1} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -408,12 +384,11 @@ MPU_vTaskSetTimeOutState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0, r1} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -423,12 +398,11 @@ MPU_xTaskCheckForTimeOut: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0, r1} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -438,12 +412,11 @@ MPU_xTaskGenericNotifyEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0, r1} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -453,12 +426,11 @@ MPU_xTaskGenericNotifyWaitEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0, r1} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -468,12 +440,11 @@ MPU_ulTaskGenericNotifyTake: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0, r1} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -483,12 +454,11 @@ MPU_xTaskGenericNotifyStateClear: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0, r1} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -498,12 +468,11 @@ MPU_ulTaskGenericNotifyValueClear: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0, r1} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -513,12 +482,11 @@ MPU_xQueueGenericSend: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0, r1} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -528,12 +496,11 @@ MPU_uxQueueMessagesWaiting: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0, r1} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -543,12 +510,11 @@ MPU_uxQueueSpacesAvailable: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0, r1} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -558,12 +524,11 @@ MPU_xQueueReceive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0, r1} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -573,12 +538,11 @@ MPU_xQueuePeek: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0, r1} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -588,12 +552,11 @@ MPU_xQueueSemaphoreTake: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0, r1} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -603,12 +566,11 @@ MPU_xQueueGetMutexHolder: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0, r1} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -618,12 +580,11 @@ MPU_xQueueTakeMutexRecursive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0, r1} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -633,12 +594,11 @@ MPU_xQueueGiveMutexRecursive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0, r1} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -648,12 +608,11 @@ MPU_xQueueSelectFromSet: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0, r1} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -663,12 +622,11 @@ MPU_xQueueAddToSet: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0, r1} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -678,12 +636,11 @@ MPU_vQueueAddToRegistry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0, r1} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -693,12 +650,11 @@ MPU_vQueueUnregisterQueue: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0, r1} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -708,12 +664,11 @@ MPU_pcQueueGetName: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0, r1} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -723,12 +678,11 @@ MPU_pvTimerGetTimerID: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0, r1} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -738,12 +692,11 @@ MPU_vTimerSetTimerID: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0, r1} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -753,12 +706,11 @@ MPU_xTimerIsTimerActive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0, r1} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -768,12 +720,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0, r1} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -783,12 +734,11 @@ MPU_xTimerGenericCommandFromTaskEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0, r1} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -798,12 +748,11 @@ MPU_pcTimerGetName: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0, r1} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -813,12 +762,11 @@ MPU_vTimerSetReloadMode: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0, r1} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -828,12 +776,11 @@ MPU_xTimerGetReloadMode: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0, r1} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -843,12 +790,11 @@ MPU_uxTimerGetReloadMode: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0, r1} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -858,12 +804,11 @@ MPU_xTimerGetPeriod: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0, r1} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -873,12 +818,11 @@ MPU_xTimerGetExpiryTime: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0, r1} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -888,12 +832,11 @@ MPU_xEventGroupWaitBitsEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0, r1} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -903,12 +846,11 @@ MPU_xEventGroupClearBits: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0, r1} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -918,12 +860,11 @@ MPU_xEventGroupSetBits: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0, r1} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -933,12 +874,11 @@ MPU_xEventGroupSync: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0, r1} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -948,12 +888,11 @@ MPU_uxEventGroupGetNumber: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0, r1} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -963,12 +902,11 @@ MPU_vEventGroupSetNumber: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0, r1} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -978,12 +916,11 @@ MPU_xStreamBufferSend: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0, r1} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -993,12 +930,11 @@ MPU_xStreamBufferReceive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0, r1} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -1008,12 +944,11 @@ MPU_xStreamBufferIsFull: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0, r1} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -1023,12 +958,11 @@ MPU_xStreamBufferIsEmpty: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0, r1} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -1038,12 +972,11 @@ MPU_xStreamBufferSpacesAvailable: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0, r1} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -1053,12 +986,11 @@ MPU_xStreamBufferBytesAvailable: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0, r1} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -1068,12 +1000,11 @@ MPU_xStreamBufferSetTriggerLevel: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0, r1} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1083,12 +1014,11 @@ MPU_xStreamBufferNextMessageLengthBytes: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0, r1} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/IAR/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.S index 8ea2f5c78..9289bcbc2 100644 --- a/portable/IAR/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.S @@ -48,12 +48,11 @@ MPU_xTaskDelayUntil: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0, r1} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -63,12 +62,11 @@ MPU_xTaskAbortDelay: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0, r1} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -78,12 +76,11 @@ MPU_vTaskDelay: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0, r1} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -93,12 +90,11 @@ MPU_uxTaskPriorityGet: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0, r1} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -108,12 +104,11 @@ MPU_eTaskGetState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0, r1} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -123,12 +118,11 @@ MPU_vTaskGetInfo: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0, r1} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -138,12 +132,11 @@ MPU_xTaskGetIdleTaskHandle: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0, r1} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -153,12 +146,11 @@ MPU_vTaskSuspend: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0, r1} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -168,12 +160,11 @@ MPU_vTaskResume: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0, r1} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -183,12 +174,11 @@ MPU_xTaskGetTickCount: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0, r1} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -198,12 +188,11 @@ MPU_uxTaskGetNumberOfTasks: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0, r1} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -213,12 +202,11 @@ MPU_ulTaskGetRunTimeCounter: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0, r1} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -228,12 +216,11 @@ MPU_ulTaskGetRunTimePercent: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0, r1} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +230,11 @@ MPU_ulTaskGetIdleRunTimePercent: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0, r1} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -258,12 +244,11 @@ MPU_ulTaskGetIdleRunTimeCounter: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0, r1} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -273,12 +258,11 @@ MPU_vTaskSetApplicationTaskTag: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0, r1} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -288,12 +272,11 @@ MPU_xTaskGetApplicationTaskTag: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0, r1} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -303,12 +286,11 @@ MPU_vTaskSetThreadLocalStoragePointer: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0, r1} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -318,12 +300,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0, r1} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -333,12 +314,11 @@ MPU_uxTaskGetSystemState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0, r1} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -348,12 +328,11 @@ MPU_uxTaskGetStackHighWaterMark: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0, r1} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -363,12 +342,11 @@ MPU_uxTaskGetStackHighWaterMark2: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0, r1} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -378,12 +356,11 @@ MPU_xTaskGetCurrentTaskHandle: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0, r1} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -393,12 +370,11 @@ MPU_xTaskGetSchedulerState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0, r1} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -408,12 +384,11 @@ MPU_vTaskSetTimeOutState: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0, r1} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -423,12 +398,11 @@ MPU_xTaskCheckForTimeOut: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0, r1} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -438,12 +412,11 @@ MPU_xTaskGenericNotifyEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0, r1} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -453,12 +426,11 @@ MPU_xTaskGenericNotifyWaitEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0, r1} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -468,12 +440,11 @@ MPU_ulTaskGenericNotifyTake: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0, r1} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -483,12 +454,11 @@ MPU_xTaskGenericNotifyStateClear: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0, r1} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -498,12 +468,11 @@ MPU_ulTaskGenericNotifyValueClear: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0, r1} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -513,12 +482,11 @@ MPU_xQueueGenericSend: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0, r1} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -528,12 +496,11 @@ MPU_uxQueueMessagesWaiting: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0, r1} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -543,12 +510,11 @@ MPU_uxQueueSpacesAvailable: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0, r1} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -558,12 +524,11 @@ MPU_xQueueReceive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0, r1} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -573,12 +538,11 @@ MPU_xQueuePeek: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0, r1} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -588,12 +552,11 @@ MPU_xQueueSemaphoreTake: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0, r1} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -603,12 +566,11 @@ MPU_xQueueGetMutexHolder: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0, r1} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -618,12 +580,11 @@ MPU_xQueueTakeMutexRecursive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0, r1} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -633,12 +594,11 @@ MPU_xQueueGiveMutexRecursive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0, r1} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -648,12 +608,11 @@ MPU_xQueueSelectFromSet: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0, r1} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -663,12 +622,11 @@ MPU_xQueueAddToSet: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0, r1} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -678,12 +636,11 @@ MPU_vQueueAddToRegistry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0, r1} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -693,12 +650,11 @@ MPU_vQueueUnregisterQueue: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0, r1} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -708,12 +664,11 @@ MPU_pcQueueGetName: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0, r1} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -723,12 +678,11 @@ MPU_pvTimerGetTimerID: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0, r1} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -738,12 +692,11 @@ MPU_vTimerSetTimerID: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0, r1} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -753,12 +706,11 @@ MPU_xTimerIsTimerActive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0, r1} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -768,12 +720,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0, r1} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -783,12 +734,11 @@ MPU_xTimerGenericCommandFromTaskEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0, r1} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -798,12 +748,11 @@ MPU_pcTimerGetName: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0, r1} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -813,12 +762,11 @@ MPU_vTimerSetReloadMode: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0, r1} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -828,12 +776,11 @@ MPU_xTimerGetReloadMode: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0, r1} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -843,12 +790,11 @@ MPU_uxTimerGetReloadMode: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0, r1} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -858,12 +804,11 @@ MPU_xTimerGetPeriod: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0, r1} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -873,12 +818,11 @@ MPU_xTimerGetExpiryTime: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0, r1} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -888,12 +832,11 @@ MPU_xEventGroupWaitBitsEntry: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0, r1} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -903,12 +846,11 @@ MPU_xEventGroupClearBits: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0, r1} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -918,12 +860,11 @@ MPU_xEventGroupSetBits: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0, r1} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -933,12 +874,11 @@ MPU_xEventGroupSync: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0, r1} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -948,12 +888,11 @@ MPU_uxEventGroupGetNumber: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0, r1} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -963,12 +902,11 @@ MPU_vEventGroupSetNumber: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0, r1} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -978,12 +916,11 @@ MPU_xStreamBufferSend: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0, r1} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -993,12 +930,11 @@ MPU_xStreamBufferReceive: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0, r1} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -1008,12 +944,11 @@ MPU_xStreamBufferIsFull: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0, r1} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -1023,12 +958,11 @@ MPU_xStreamBufferIsEmpty: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0, r1} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -1038,12 +972,11 @@ MPU_xStreamBufferSpacesAvailable: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0, r1} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -1053,12 +986,11 @@ MPU_xStreamBufferBytesAvailable: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0, r1} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -1068,12 +1000,11 @@ MPU_xStreamBufferSetTriggerLevel: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0, r1} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1083,12 +1014,11 @@ MPU_xStreamBufferNextMessageLengthBytes: mrs r0, control movs r1, #1 tst r0, r1 + pop {r0, r1} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0, r1} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0, r1} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S index a69845eda..d2cb78e92 100644 --- a/portable/IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S @@ -47,12 +47,11 @@ MPU_xTaskDelayUntil: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -61,12 +60,11 @@ MPU_xTaskAbortDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -75,12 +73,11 @@ MPU_vTaskDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -89,12 +86,11 @@ MPU_uxTaskPriorityGet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -103,12 +99,11 @@ MPU_eTaskGetState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -117,12 +112,11 @@ MPU_vTaskGetInfo: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -131,12 +125,11 @@ MPU_xTaskGetIdleTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -145,12 +138,11 @@ MPU_vTaskSuspend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -159,12 +151,11 @@ MPU_vTaskResume: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -173,12 +164,11 @@ MPU_xTaskGetTickCount: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -187,12 +177,11 @@ MPU_uxTaskGetNumberOfTasks: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -201,12 +190,11 @@ MPU_ulTaskGetRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -215,12 +203,11 @@ MPU_ulTaskGetRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -229,12 +216,11 @@ MPU_ulTaskGetIdleRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +229,11 @@ MPU_ulTaskGetIdleRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -257,12 +242,11 @@ MPU_vTaskSetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -271,12 +255,11 @@ MPU_xTaskGetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -285,12 +268,11 @@ MPU_vTaskSetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -299,12 +281,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -313,12 +294,11 @@ MPU_uxTaskGetSystemState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -327,12 +307,11 @@ MPU_uxTaskGetStackHighWaterMark: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -341,12 +320,11 @@ MPU_uxTaskGetStackHighWaterMark2: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -355,12 +333,11 @@ MPU_xTaskGetCurrentTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -369,12 +346,11 @@ MPU_xTaskGetSchedulerState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -383,12 +359,11 @@ MPU_vTaskSetTimeOutState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -397,12 +372,11 @@ MPU_xTaskCheckForTimeOut: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -411,12 +385,11 @@ MPU_xTaskGenericNotifyEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -425,12 +398,11 @@ MPU_xTaskGenericNotifyWaitEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -439,12 +411,11 @@ MPU_ulTaskGenericNotifyTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -453,12 +424,11 @@ MPU_xTaskGenericNotifyStateClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -467,12 +437,11 @@ MPU_ulTaskGenericNotifyValueClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -481,12 +450,11 @@ MPU_xQueueGenericSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -495,12 +463,11 @@ MPU_uxQueueMessagesWaiting: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -509,12 +476,11 @@ MPU_uxQueueSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -523,12 +489,11 @@ MPU_xQueueReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -537,12 +502,11 @@ MPU_xQueuePeek: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -551,12 +515,11 @@ MPU_xQueueSemaphoreTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -565,12 +528,11 @@ MPU_xQueueGetMutexHolder: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -579,12 +541,11 @@ MPU_xQueueTakeMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -593,12 +554,11 @@ MPU_xQueueGiveMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -607,12 +567,11 @@ MPU_xQueueSelectFromSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -621,12 +580,11 @@ MPU_xQueueAddToSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -635,12 +593,11 @@ MPU_vQueueAddToRegistry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -649,12 +606,11 @@ MPU_vQueueUnregisterQueue: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -663,12 +619,11 @@ MPU_pcQueueGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -677,12 +632,11 @@ MPU_pvTimerGetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -691,12 +645,11 @@ MPU_vTimerSetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -705,12 +658,11 @@ MPU_xTimerIsTimerActive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -719,12 +671,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -733,12 +684,11 @@ MPU_xTimerGenericCommandFromTaskEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -747,12 +697,11 @@ MPU_pcTimerGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -761,12 +710,11 @@ MPU_vTimerSetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -775,12 +723,11 @@ MPU_xTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -789,12 +736,11 @@ MPU_uxTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -803,12 +749,11 @@ MPU_xTimerGetPeriod: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -817,12 +762,11 @@ MPU_xTimerGetExpiryTime: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -831,12 +775,11 @@ MPU_xEventGroupWaitBitsEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -845,12 +788,11 @@ MPU_xEventGroupClearBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -859,12 +801,11 @@ MPU_xEventGroupSetBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -873,12 +814,11 @@ MPU_xEventGroupSync: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -887,12 +827,11 @@ MPU_uxEventGroupGetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -901,12 +840,11 @@ MPU_vEventGroupSetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -915,12 +853,11 @@ MPU_xStreamBufferSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -929,12 +866,11 @@ MPU_xStreamBufferReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -943,12 +879,11 @@ MPU_xStreamBufferIsFull: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -957,12 +892,11 @@ MPU_xStreamBufferIsEmpty: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -971,12 +905,11 @@ MPU_xStreamBufferSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -985,12 +918,11 @@ MPU_xStreamBufferBytesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -999,12 +931,11 @@ MPU_xStreamBufferSetTriggerLevel: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1013,12 +944,11 @@ MPU_xStreamBufferNextMessageLengthBytes: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/IAR/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.S index a69845eda..d2cb78e92 100644 --- a/portable/IAR/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.S @@ -47,12 +47,11 @@ MPU_xTaskDelayUntil: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -61,12 +60,11 @@ MPU_xTaskAbortDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -75,12 +73,11 @@ MPU_vTaskDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -89,12 +86,11 @@ MPU_uxTaskPriorityGet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -103,12 +99,11 @@ MPU_eTaskGetState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -117,12 +112,11 @@ MPU_vTaskGetInfo: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -131,12 +125,11 @@ MPU_xTaskGetIdleTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -145,12 +138,11 @@ MPU_vTaskSuspend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -159,12 +151,11 @@ MPU_vTaskResume: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -173,12 +164,11 @@ MPU_xTaskGetTickCount: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -187,12 +177,11 @@ MPU_uxTaskGetNumberOfTasks: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -201,12 +190,11 @@ MPU_ulTaskGetRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -215,12 +203,11 @@ MPU_ulTaskGetRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -229,12 +216,11 @@ MPU_ulTaskGetIdleRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +229,11 @@ MPU_ulTaskGetIdleRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -257,12 +242,11 @@ MPU_vTaskSetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -271,12 +255,11 @@ MPU_xTaskGetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -285,12 +268,11 @@ MPU_vTaskSetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -299,12 +281,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -313,12 +294,11 @@ MPU_uxTaskGetSystemState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -327,12 +307,11 @@ MPU_uxTaskGetStackHighWaterMark: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -341,12 +320,11 @@ MPU_uxTaskGetStackHighWaterMark2: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -355,12 +333,11 @@ MPU_xTaskGetCurrentTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -369,12 +346,11 @@ MPU_xTaskGetSchedulerState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -383,12 +359,11 @@ MPU_vTaskSetTimeOutState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -397,12 +372,11 @@ MPU_xTaskCheckForTimeOut: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -411,12 +385,11 @@ MPU_xTaskGenericNotifyEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -425,12 +398,11 @@ MPU_xTaskGenericNotifyWaitEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -439,12 +411,11 @@ MPU_ulTaskGenericNotifyTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -453,12 +424,11 @@ MPU_xTaskGenericNotifyStateClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -467,12 +437,11 @@ MPU_ulTaskGenericNotifyValueClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -481,12 +450,11 @@ MPU_xQueueGenericSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -495,12 +463,11 @@ MPU_uxQueueMessagesWaiting: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -509,12 +476,11 @@ MPU_uxQueueSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -523,12 +489,11 @@ MPU_xQueueReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -537,12 +502,11 @@ MPU_xQueuePeek: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -551,12 +515,11 @@ MPU_xQueueSemaphoreTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -565,12 +528,11 @@ MPU_xQueueGetMutexHolder: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -579,12 +541,11 @@ MPU_xQueueTakeMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -593,12 +554,11 @@ MPU_xQueueGiveMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -607,12 +567,11 @@ MPU_xQueueSelectFromSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -621,12 +580,11 @@ MPU_xQueueAddToSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -635,12 +593,11 @@ MPU_vQueueAddToRegistry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -649,12 +606,11 @@ MPU_vQueueUnregisterQueue: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -663,12 +619,11 @@ MPU_pcQueueGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -677,12 +632,11 @@ MPU_pvTimerGetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -691,12 +645,11 @@ MPU_vTimerSetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -705,12 +658,11 @@ MPU_xTimerIsTimerActive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -719,12 +671,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -733,12 +684,11 @@ MPU_xTimerGenericCommandFromTaskEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -747,12 +697,11 @@ MPU_pcTimerGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -761,12 +710,11 @@ MPU_vTimerSetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -775,12 +723,11 @@ MPU_xTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -789,12 +736,11 @@ MPU_uxTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -803,12 +749,11 @@ MPU_xTimerGetPeriod: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -817,12 +762,11 @@ MPU_xTimerGetExpiryTime: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -831,12 +775,11 @@ MPU_xEventGroupWaitBitsEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -845,12 +788,11 @@ MPU_xEventGroupClearBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -859,12 +801,11 @@ MPU_xEventGroupSetBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -873,12 +814,11 @@ MPU_xEventGroupSync: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -887,12 +827,11 @@ MPU_uxEventGroupGetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -901,12 +840,11 @@ MPU_vEventGroupSetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -915,12 +853,11 @@ MPU_xStreamBufferSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -929,12 +866,11 @@ MPU_xStreamBufferReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -943,12 +879,11 @@ MPU_xStreamBufferIsFull: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -957,12 +892,11 @@ MPU_xStreamBufferIsEmpty: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -971,12 +905,11 @@ MPU_xStreamBufferSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -985,12 +918,11 @@ MPU_xStreamBufferBytesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -999,12 +931,11 @@ MPU_xStreamBufferSetTriggerLevel: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1013,12 +944,11 @@ MPU_xStreamBufferNextMessageLengthBytes: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S index a69845eda..d2cb78e92 100644 --- a/portable/IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S @@ -47,12 +47,11 @@ MPU_xTaskDelayUntil: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -61,12 +60,11 @@ MPU_xTaskAbortDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -75,12 +73,11 @@ MPU_vTaskDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -89,12 +86,11 @@ MPU_uxTaskPriorityGet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -103,12 +99,11 @@ MPU_eTaskGetState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -117,12 +112,11 @@ MPU_vTaskGetInfo: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -131,12 +125,11 @@ MPU_xTaskGetIdleTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -145,12 +138,11 @@ MPU_vTaskSuspend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -159,12 +151,11 @@ MPU_vTaskResume: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -173,12 +164,11 @@ MPU_xTaskGetTickCount: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -187,12 +177,11 @@ MPU_uxTaskGetNumberOfTasks: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -201,12 +190,11 @@ MPU_ulTaskGetRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -215,12 +203,11 @@ MPU_ulTaskGetRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -229,12 +216,11 @@ MPU_ulTaskGetIdleRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +229,11 @@ MPU_ulTaskGetIdleRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -257,12 +242,11 @@ MPU_vTaskSetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -271,12 +255,11 @@ MPU_xTaskGetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -285,12 +268,11 @@ MPU_vTaskSetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -299,12 +281,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -313,12 +294,11 @@ MPU_uxTaskGetSystemState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -327,12 +307,11 @@ MPU_uxTaskGetStackHighWaterMark: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -341,12 +320,11 @@ MPU_uxTaskGetStackHighWaterMark2: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -355,12 +333,11 @@ MPU_xTaskGetCurrentTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -369,12 +346,11 @@ MPU_xTaskGetSchedulerState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -383,12 +359,11 @@ MPU_vTaskSetTimeOutState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -397,12 +372,11 @@ MPU_xTaskCheckForTimeOut: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -411,12 +385,11 @@ MPU_xTaskGenericNotifyEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -425,12 +398,11 @@ MPU_xTaskGenericNotifyWaitEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -439,12 +411,11 @@ MPU_ulTaskGenericNotifyTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -453,12 +424,11 @@ MPU_xTaskGenericNotifyStateClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -467,12 +437,11 @@ MPU_ulTaskGenericNotifyValueClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -481,12 +450,11 @@ MPU_xQueueGenericSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -495,12 +463,11 @@ MPU_uxQueueMessagesWaiting: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -509,12 +476,11 @@ MPU_uxQueueSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -523,12 +489,11 @@ MPU_xQueueReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -537,12 +502,11 @@ MPU_xQueuePeek: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -551,12 +515,11 @@ MPU_xQueueSemaphoreTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -565,12 +528,11 @@ MPU_xQueueGetMutexHolder: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -579,12 +541,11 @@ MPU_xQueueTakeMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -593,12 +554,11 @@ MPU_xQueueGiveMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -607,12 +567,11 @@ MPU_xQueueSelectFromSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -621,12 +580,11 @@ MPU_xQueueAddToSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -635,12 +593,11 @@ MPU_vQueueAddToRegistry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -649,12 +606,11 @@ MPU_vQueueUnregisterQueue: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -663,12 +619,11 @@ MPU_pcQueueGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -677,12 +632,11 @@ MPU_pvTimerGetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -691,12 +645,11 @@ MPU_vTimerSetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -705,12 +658,11 @@ MPU_xTimerIsTimerActive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -719,12 +671,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -733,12 +684,11 @@ MPU_xTimerGenericCommandFromTaskEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -747,12 +697,11 @@ MPU_pcTimerGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -761,12 +710,11 @@ MPU_vTimerSetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -775,12 +723,11 @@ MPU_xTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -789,12 +736,11 @@ MPU_uxTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -803,12 +749,11 @@ MPU_xTimerGetPeriod: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -817,12 +762,11 @@ MPU_xTimerGetExpiryTime: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -831,12 +775,11 @@ MPU_xEventGroupWaitBitsEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -845,12 +788,11 @@ MPU_xEventGroupClearBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -859,12 +801,11 @@ MPU_xEventGroupSetBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -873,12 +814,11 @@ MPU_xEventGroupSync: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -887,12 +827,11 @@ MPU_uxEventGroupGetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -901,12 +840,11 @@ MPU_vEventGroupSetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -915,12 +853,11 @@ MPU_xStreamBufferSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -929,12 +866,11 @@ MPU_xStreamBufferReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -943,12 +879,11 @@ MPU_xStreamBufferIsFull: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -957,12 +892,11 @@ MPU_xStreamBufferIsEmpty: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -971,12 +905,11 @@ MPU_xStreamBufferSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -985,12 +918,11 @@ MPU_xStreamBufferBytesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -999,12 +931,11 @@ MPU_xStreamBufferSetTriggerLevel: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1013,12 +944,11 @@ MPU_xStreamBufferNextMessageLengthBytes: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/IAR/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.S index a69845eda..d2cb78e92 100644 --- a/portable/IAR/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.S @@ -47,12 +47,11 @@ MPU_xTaskDelayUntil: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -61,12 +60,11 @@ MPU_xTaskAbortDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -75,12 +73,11 @@ MPU_vTaskDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -89,12 +86,11 @@ MPU_uxTaskPriorityGet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -103,12 +99,11 @@ MPU_eTaskGetState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -117,12 +112,11 @@ MPU_vTaskGetInfo: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -131,12 +125,11 @@ MPU_xTaskGetIdleTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -145,12 +138,11 @@ MPU_vTaskSuspend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -159,12 +151,11 @@ MPU_vTaskResume: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -173,12 +164,11 @@ MPU_xTaskGetTickCount: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -187,12 +177,11 @@ MPU_uxTaskGetNumberOfTasks: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -201,12 +190,11 @@ MPU_ulTaskGetRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -215,12 +203,11 @@ MPU_ulTaskGetRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -229,12 +216,11 @@ MPU_ulTaskGetIdleRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +229,11 @@ MPU_ulTaskGetIdleRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -257,12 +242,11 @@ MPU_vTaskSetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -271,12 +255,11 @@ MPU_xTaskGetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -285,12 +268,11 @@ MPU_vTaskSetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -299,12 +281,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -313,12 +294,11 @@ MPU_uxTaskGetSystemState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -327,12 +307,11 @@ MPU_uxTaskGetStackHighWaterMark: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -341,12 +320,11 @@ MPU_uxTaskGetStackHighWaterMark2: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -355,12 +333,11 @@ MPU_xTaskGetCurrentTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -369,12 +346,11 @@ MPU_xTaskGetSchedulerState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -383,12 +359,11 @@ MPU_vTaskSetTimeOutState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -397,12 +372,11 @@ MPU_xTaskCheckForTimeOut: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -411,12 +385,11 @@ MPU_xTaskGenericNotifyEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -425,12 +398,11 @@ MPU_xTaskGenericNotifyWaitEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -439,12 +411,11 @@ MPU_ulTaskGenericNotifyTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -453,12 +424,11 @@ MPU_xTaskGenericNotifyStateClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -467,12 +437,11 @@ MPU_ulTaskGenericNotifyValueClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -481,12 +450,11 @@ MPU_xQueueGenericSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -495,12 +463,11 @@ MPU_uxQueueMessagesWaiting: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -509,12 +476,11 @@ MPU_uxQueueSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -523,12 +489,11 @@ MPU_xQueueReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -537,12 +502,11 @@ MPU_xQueuePeek: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -551,12 +515,11 @@ MPU_xQueueSemaphoreTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -565,12 +528,11 @@ MPU_xQueueGetMutexHolder: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -579,12 +541,11 @@ MPU_xQueueTakeMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -593,12 +554,11 @@ MPU_xQueueGiveMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -607,12 +567,11 @@ MPU_xQueueSelectFromSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -621,12 +580,11 @@ MPU_xQueueAddToSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -635,12 +593,11 @@ MPU_vQueueAddToRegistry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -649,12 +606,11 @@ MPU_vQueueUnregisterQueue: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -663,12 +619,11 @@ MPU_pcQueueGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -677,12 +632,11 @@ MPU_pvTimerGetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -691,12 +645,11 @@ MPU_vTimerSetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -705,12 +658,11 @@ MPU_xTimerIsTimerActive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -719,12 +671,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -733,12 +684,11 @@ MPU_xTimerGenericCommandFromTaskEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -747,12 +697,11 @@ MPU_pcTimerGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -761,12 +710,11 @@ MPU_vTimerSetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -775,12 +723,11 @@ MPU_xTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -789,12 +736,11 @@ MPU_uxTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -803,12 +749,11 @@ MPU_xTimerGetPeriod: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -817,12 +762,11 @@ MPU_xTimerGetExpiryTime: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -831,12 +775,11 @@ MPU_xEventGroupWaitBitsEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -845,12 +788,11 @@ MPU_xEventGroupClearBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -859,12 +801,11 @@ MPU_xEventGroupSetBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -873,12 +814,11 @@ MPU_xEventGroupSync: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -887,12 +827,11 @@ MPU_uxEventGroupGetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -901,12 +840,11 @@ MPU_vEventGroupSetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -915,12 +853,11 @@ MPU_xStreamBufferSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -929,12 +866,11 @@ MPU_xStreamBufferReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -943,12 +879,11 @@ MPU_xStreamBufferIsFull: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -957,12 +892,11 @@ MPU_xStreamBufferIsEmpty: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -971,12 +905,11 @@ MPU_xStreamBufferSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -985,12 +918,11 @@ MPU_xStreamBufferBytesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -999,12 +931,11 @@ MPU_xStreamBufferSetTriggerLevel: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1013,12 +944,11 @@ MPU_xStreamBufferNextMessageLengthBytes: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S index bf91e99c6..f01c01d42 100644 --- a/portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S @@ -51,12 +51,11 @@ MPU_xTaskDelayUntil: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -65,12 +64,11 @@ MPU_xTaskAbortDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -79,12 +77,11 @@ MPU_vTaskDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -93,12 +90,11 @@ MPU_uxTaskPriorityGet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -107,12 +103,11 @@ MPU_eTaskGetState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -121,12 +116,11 @@ MPU_vTaskGetInfo: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -135,12 +129,11 @@ MPU_xTaskGetIdleTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -149,12 +142,11 @@ MPU_vTaskSuspend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -163,12 +155,11 @@ MPU_vTaskResume: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -177,12 +168,11 @@ MPU_xTaskGetTickCount: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -191,12 +181,11 @@ MPU_uxTaskGetNumberOfTasks: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -205,12 +194,11 @@ MPU_ulTaskGetRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -219,12 +207,11 @@ MPU_ulTaskGetRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -233,12 +220,11 @@ MPU_ulTaskGetIdleRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -247,12 +233,11 @@ MPU_ulTaskGetIdleRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -261,12 +246,11 @@ MPU_vTaskSetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -275,12 +259,11 @@ MPU_xTaskGetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -289,12 +272,11 @@ MPU_vTaskSetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -303,12 +285,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -317,12 +298,11 @@ MPU_uxTaskGetSystemState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -331,12 +311,11 @@ MPU_uxTaskGetStackHighWaterMark: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -345,12 +324,11 @@ MPU_uxTaskGetStackHighWaterMark2: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -359,12 +337,11 @@ MPU_xTaskGetCurrentTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -373,12 +350,11 @@ MPU_xTaskGetSchedulerState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -387,12 +363,11 @@ MPU_vTaskSetTimeOutState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -401,12 +376,11 @@ MPU_xTaskCheckForTimeOut: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -415,12 +389,11 @@ MPU_xTaskGenericNotifyEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -429,12 +402,11 @@ MPU_xTaskGenericNotifyWaitEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -443,12 +415,11 @@ MPU_ulTaskGenericNotifyTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -457,12 +428,11 @@ MPU_xTaskGenericNotifyStateClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -471,12 +441,11 @@ MPU_ulTaskGenericNotifyValueClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -485,12 +454,11 @@ MPU_xQueueGenericSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -499,12 +467,11 @@ MPU_uxQueueMessagesWaiting: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -513,12 +480,11 @@ MPU_uxQueueSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -527,12 +493,11 @@ MPU_xQueueReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -541,12 +506,11 @@ MPU_xQueuePeek: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -555,12 +519,11 @@ MPU_xQueueSemaphoreTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -569,12 +532,11 @@ MPU_xQueueGetMutexHolder: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -583,12 +545,11 @@ MPU_xQueueTakeMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -597,12 +558,11 @@ MPU_xQueueGiveMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -611,12 +571,11 @@ MPU_xQueueSelectFromSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -625,12 +584,11 @@ MPU_xQueueAddToSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -639,12 +597,11 @@ MPU_vQueueAddToRegistry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -653,12 +610,11 @@ MPU_vQueueUnregisterQueue: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -667,12 +623,11 @@ MPU_pcQueueGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -681,12 +636,11 @@ MPU_pvTimerGetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -695,12 +649,11 @@ MPU_vTimerSetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -709,12 +662,11 @@ MPU_xTimerIsTimerActive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -723,12 +675,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -737,12 +688,11 @@ MPU_xTimerGenericCommandFromTaskEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -751,12 +701,11 @@ MPU_pcTimerGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -765,12 +714,11 @@ MPU_vTimerSetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -779,12 +727,11 @@ MPU_xTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -793,12 +740,11 @@ MPU_uxTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -807,12 +753,11 @@ MPU_xTimerGetPeriod: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -821,12 +766,11 @@ MPU_xTimerGetExpiryTime: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -835,12 +779,11 @@ MPU_xEventGroupWaitBitsEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -849,12 +792,11 @@ MPU_xEventGroupClearBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -863,12 +805,11 @@ MPU_xEventGroupSetBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -877,12 +818,11 @@ MPU_xEventGroupSync: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -891,12 +831,11 @@ MPU_uxEventGroupGetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -905,12 +844,11 @@ MPU_vEventGroupSetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -919,12 +857,11 @@ MPU_xStreamBufferSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -933,12 +870,11 @@ MPU_xStreamBufferReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -947,12 +883,11 @@ MPU_xStreamBufferIsFull: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -961,12 +896,11 @@ MPU_xStreamBufferIsEmpty: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -975,12 +909,11 @@ MPU_xStreamBufferSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -989,12 +922,11 @@ MPU_xStreamBufferBytesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -1003,12 +935,11 @@ MPU_xStreamBufferSetTriggerLevel: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1017,12 +948,11 @@ MPU_xStreamBufferNextMessageLengthBytes: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S index a69845eda..d2cb78e92 100644 --- a/portable/IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S @@ -47,12 +47,11 @@ MPU_xTaskDelayUntil: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -61,12 +60,11 @@ MPU_xTaskAbortDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -75,12 +73,11 @@ MPU_vTaskDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -89,12 +86,11 @@ MPU_uxTaskPriorityGet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -103,12 +99,11 @@ MPU_eTaskGetState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -117,12 +112,11 @@ MPU_vTaskGetInfo: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -131,12 +125,11 @@ MPU_xTaskGetIdleTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -145,12 +138,11 @@ MPU_vTaskSuspend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -159,12 +151,11 @@ MPU_vTaskResume: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -173,12 +164,11 @@ MPU_xTaskGetTickCount: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -187,12 +177,11 @@ MPU_uxTaskGetNumberOfTasks: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -201,12 +190,11 @@ MPU_ulTaskGetRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -215,12 +203,11 @@ MPU_ulTaskGetRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -229,12 +216,11 @@ MPU_ulTaskGetIdleRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +229,11 @@ MPU_ulTaskGetIdleRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -257,12 +242,11 @@ MPU_vTaskSetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -271,12 +255,11 @@ MPU_xTaskGetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -285,12 +268,11 @@ MPU_vTaskSetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -299,12 +281,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -313,12 +294,11 @@ MPU_uxTaskGetSystemState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -327,12 +307,11 @@ MPU_uxTaskGetStackHighWaterMark: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -341,12 +320,11 @@ MPU_uxTaskGetStackHighWaterMark2: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -355,12 +333,11 @@ MPU_xTaskGetCurrentTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -369,12 +346,11 @@ MPU_xTaskGetSchedulerState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -383,12 +359,11 @@ MPU_vTaskSetTimeOutState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -397,12 +372,11 @@ MPU_xTaskCheckForTimeOut: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -411,12 +385,11 @@ MPU_xTaskGenericNotifyEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -425,12 +398,11 @@ MPU_xTaskGenericNotifyWaitEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -439,12 +411,11 @@ MPU_ulTaskGenericNotifyTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -453,12 +424,11 @@ MPU_xTaskGenericNotifyStateClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -467,12 +437,11 @@ MPU_ulTaskGenericNotifyValueClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -481,12 +450,11 @@ MPU_xQueueGenericSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -495,12 +463,11 @@ MPU_uxQueueMessagesWaiting: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -509,12 +476,11 @@ MPU_uxQueueSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -523,12 +489,11 @@ MPU_xQueueReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -537,12 +502,11 @@ MPU_xQueuePeek: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -551,12 +515,11 @@ MPU_xQueueSemaphoreTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -565,12 +528,11 @@ MPU_xQueueGetMutexHolder: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -579,12 +541,11 @@ MPU_xQueueTakeMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -593,12 +554,11 @@ MPU_xQueueGiveMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -607,12 +567,11 @@ MPU_xQueueSelectFromSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -621,12 +580,11 @@ MPU_xQueueAddToSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -635,12 +593,11 @@ MPU_vQueueAddToRegistry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -649,12 +606,11 @@ MPU_vQueueUnregisterQueue: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -663,12 +619,11 @@ MPU_pcQueueGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -677,12 +632,11 @@ MPU_pvTimerGetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -691,12 +645,11 @@ MPU_vTimerSetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -705,12 +658,11 @@ MPU_xTimerIsTimerActive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -719,12 +671,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -733,12 +684,11 @@ MPU_xTimerGenericCommandFromTaskEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -747,12 +697,11 @@ MPU_pcTimerGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -761,12 +710,11 @@ MPU_vTimerSetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -775,12 +723,11 @@ MPU_xTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -789,12 +736,11 @@ MPU_uxTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -803,12 +749,11 @@ MPU_xTimerGetPeriod: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -817,12 +762,11 @@ MPU_xTimerGetExpiryTime: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -831,12 +775,11 @@ MPU_xEventGroupWaitBitsEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -845,12 +788,11 @@ MPU_xEventGroupClearBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -859,12 +801,11 @@ MPU_xEventGroupSetBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -873,12 +814,11 @@ MPU_xEventGroupSync: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -887,12 +827,11 @@ MPU_uxEventGroupGetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -901,12 +840,11 @@ MPU_vEventGroupSetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -915,12 +853,11 @@ MPU_xStreamBufferSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -929,12 +866,11 @@ MPU_xStreamBufferReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -943,12 +879,11 @@ MPU_xStreamBufferIsFull: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -957,12 +892,11 @@ MPU_xStreamBufferIsEmpty: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -971,12 +905,11 @@ MPU_xStreamBufferSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -985,12 +918,11 @@ MPU_xStreamBufferBytesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -999,12 +931,11 @@ MPU_xStreamBufferSetTriggerLevel: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1013,12 +944,11 @@ MPU_xStreamBufferNextMessageLengthBytes: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/IAR/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.S index a69845eda..d2cb78e92 100644 --- a/portable/IAR/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.S @@ -47,12 +47,11 @@ MPU_xTaskDelayUntil: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -61,12 +60,11 @@ MPU_xTaskAbortDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -75,12 +73,11 @@ MPU_vTaskDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -89,12 +86,11 @@ MPU_uxTaskPriorityGet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -103,12 +99,11 @@ MPU_eTaskGetState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -117,12 +112,11 @@ MPU_vTaskGetInfo: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -131,12 +125,11 @@ MPU_xTaskGetIdleTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -145,12 +138,11 @@ MPU_vTaskSuspend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -159,12 +151,11 @@ MPU_vTaskResume: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -173,12 +164,11 @@ MPU_xTaskGetTickCount: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -187,12 +177,11 @@ MPU_uxTaskGetNumberOfTasks: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -201,12 +190,11 @@ MPU_ulTaskGetRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -215,12 +203,11 @@ MPU_ulTaskGetRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -229,12 +216,11 @@ MPU_ulTaskGetIdleRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +229,11 @@ MPU_ulTaskGetIdleRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -257,12 +242,11 @@ MPU_vTaskSetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -271,12 +255,11 @@ MPU_xTaskGetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -285,12 +268,11 @@ MPU_vTaskSetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -299,12 +281,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -313,12 +294,11 @@ MPU_uxTaskGetSystemState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -327,12 +307,11 @@ MPU_uxTaskGetStackHighWaterMark: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -341,12 +320,11 @@ MPU_uxTaskGetStackHighWaterMark2: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -355,12 +333,11 @@ MPU_xTaskGetCurrentTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -369,12 +346,11 @@ MPU_xTaskGetSchedulerState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -383,12 +359,11 @@ MPU_vTaskSetTimeOutState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -397,12 +372,11 @@ MPU_xTaskCheckForTimeOut: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -411,12 +385,11 @@ MPU_xTaskGenericNotifyEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -425,12 +398,11 @@ MPU_xTaskGenericNotifyWaitEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -439,12 +411,11 @@ MPU_ulTaskGenericNotifyTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -453,12 +424,11 @@ MPU_xTaskGenericNotifyStateClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -467,12 +437,11 @@ MPU_ulTaskGenericNotifyValueClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -481,12 +450,11 @@ MPU_xQueueGenericSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -495,12 +463,11 @@ MPU_uxQueueMessagesWaiting: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -509,12 +476,11 @@ MPU_uxQueueSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -523,12 +489,11 @@ MPU_xQueueReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -537,12 +502,11 @@ MPU_xQueuePeek: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -551,12 +515,11 @@ MPU_xQueueSemaphoreTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -565,12 +528,11 @@ MPU_xQueueGetMutexHolder: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -579,12 +541,11 @@ MPU_xQueueTakeMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -593,12 +554,11 @@ MPU_xQueueGiveMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -607,12 +567,11 @@ MPU_xQueueSelectFromSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -621,12 +580,11 @@ MPU_xQueueAddToSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -635,12 +593,11 @@ MPU_vQueueAddToRegistry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -649,12 +606,11 @@ MPU_vQueueUnregisterQueue: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -663,12 +619,11 @@ MPU_pcQueueGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -677,12 +632,11 @@ MPU_pvTimerGetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -691,12 +645,11 @@ MPU_vTimerSetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -705,12 +658,11 @@ MPU_xTimerIsTimerActive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -719,12 +671,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -733,12 +684,11 @@ MPU_xTimerGenericCommandFromTaskEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -747,12 +697,11 @@ MPU_pcTimerGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -761,12 +710,11 @@ MPU_vTimerSetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -775,12 +723,11 @@ MPU_xTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -789,12 +736,11 @@ MPU_uxTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -803,12 +749,11 @@ MPU_xTimerGetPeriod: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -817,12 +762,11 @@ MPU_xTimerGetExpiryTime: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -831,12 +775,11 @@ MPU_xEventGroupWaitBitsEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -845,12 +788,11 @@ MPU_xEventGroupClearBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -859,12 +801,11 @@ MPU_xEventGroupSetBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -873,12 +814,11 @@ MPU_xEventGroupSync: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -887,12 +827,11 @@ MPU_uxEventGroupGetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -901,12 +840,11 @@ MPU_vEventGroupSetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -915,12 +853,11 @@ MPU_xStreamBufferSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -929,12 +866,11 @@ MPU_xStreamBufferReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -943,12 +879,11 @@ MPU_xStreamBufferIsFull: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -957,12 +892,11 @@ MPU_xStreamBufferIsEmpty: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -971,12 +905,11 @@ MPU_xStreamBufferSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -985,12 +918,11 @@ MPU_xStreamBufferBytesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -999,12 +931,11 @@ MPU_xStreamBufferSetTriggerLevel: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1013,12 +944,11 @@ MPU_xStreamBufferNextMessageLengthBytes: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S index a69845eda..d2cb78e92 100644 --- a/portable/IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S @@ -47,12 +47,11 @@ MPU_xTaskDelayUntil: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -61,12 +60,11 @@ MPU_xTaskAbortDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -75,12 +73,11 @@ MPU_vTaskDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -89,12 +86,11 @@ MPU_uxTaskPriorityGet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -103,12 +99,11 @@ MPU_eTaskGetState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -117,12 +112,11 @@ MPU_vTaskGetInfo: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -131,12 +125,11 @@ MPU_xTaskGetIdleTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -145,12 +138,11 @@ MPU_vTaskSuspend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -159,12 +151,11 @@ MPU_vTaskResume: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -173,12 +164,11 @@ MPU_xTaskGetTickCount: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -187,12 +177,11 @@ MPU_uxTaskGetNumberOfTasks: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -201,12 +190,11 @@ MPU_ulTaskGetRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -215,12 +203,11 @@ MPU_ulTaskGetRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -229,12 +216,11 @@ MPU_ulTaskGetIdleRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +229,11 @@ MPU_ulTaskGetIdleRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -257,12 +242,11 @@ MPU_vTaskSetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -271,12 +255,11 @@ MPU_xTaskGetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -285,12 +268,11 @@ MPU_vTaskSetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -299,12 +281,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -313,12 +294,11 @@ MPU_uxTaskGetSystemState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -327,12 +307,11 @@ MPU_uxTaskGetStackHighWaterMark: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -341,12 +320,11 @@ MPU_uxTaskGetStackHighWaterMark2: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -355,12 +333,11 @@ MPU_xTaskGetCurrentTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -369,12 +346,11 @@ MPU_xTaskGetSchedulerState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -383,12 +359,11 @@ MPU_vTaskSetTimeOutState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -397,12 +372,11 @@ MPU_xTaskCheckForTimeOut: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -411,12 +385,11 @@ MPU_xTaskGenericNotifyEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -425,12 +398,11 @@ MPU_xTaskGenericNotifyWaitEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -439,12 +411,11 @@ MPU_ulTaskGenericNotifyTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -453,12 +424,11 @@ MPU_xTaskGenericNotifyStateClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -467,12 +437,11 @@ MPU_ulTaskGenericNotifyValueClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -481,12 +450,11 @@ MPU_xQueueGenericSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -495,12 +463,11 @@ MPU_uxQueueMessagesWaiting: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -509,12 +476,11 @@ MPU_uxQueueSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -523,12 +489,11 @@ MPU_xQueueReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -537,12 +502,11 @@ MPU_xQueuePeek: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -551,12 +515,11 @@ MPU_xQueueSemaphoreTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -565,12 +528,11 @@ MPU_xQueueGetMutexHolder: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -579,12 +541,11 @@ MPU_xQueueTakeMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -593,12 +554,11 @@ MPU_xQueueGiveMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -607,12 +567,11 @@ MPU_xQueueSelectFromSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -621,12 +580,11 @@ MPU_xQueueAddToSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -635,12 +593,11 @@ MPU_vQueueAddToRegistry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -649,12 +606,11 @@ MPU_vQueueUnregisterQueue: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -663,12 +619,11 @@ MPU_pcQueueGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -677,12 +632,11 @@ MPU_pvTimerGetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -691,12 +645,11 @@ MPU_vTimerSetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -705,12 +658,11 @@ MPU_xTimerIsTimerActive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -719,12 +671,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -733,12 +684,11 @@ MPU_xTimerGenericCommandFromTaskEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -747,12 +697,11 @@ MPU_pcTimerGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -761,12 +710,11 @@ MPU_vTimerSetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -775,12 +723,11 @@ MPU_xTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -789,12 +736,11 @@ MPU_uxTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -803,12 +749,11 @@ MPU_xTimerGetPeriod: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -817,12 +762,11 @@ MPU_xTimerGetExpiryTime: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -831,12 +775,11 @@ MPU_xEventGroupWaitBitsEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -845,12 +788,11 @@ MPU_xEventGroupClearBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -859,12 +801,11 @@ MPU_xEventGroupSetBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -873,12 +814,11 @@ MPU_xEventGroupSync: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -887,12 +827,11 @@ MPU_uxEventGroupGetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -901,12 +840,11 @@ MPU_vEventGroupSetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -915,12 +853,11 @@ MPU_xStreamBufferSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -929,12 +866,11 @@ MPU_xStreamBufferReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -943,12 +879,11 @@ MPU_xStreamBufferIsFull: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -957,12 +892,11 @@ MPU_xStreamBufferIsEmpty: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -971,12 +905,11 @@ MPU_xStreamBufferSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -985,12 +918,11 @@ MPU_xStreamBufferBytesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -999,12 +931,11 @@ MPU_xStreamBufferSetTriggerLevel: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1013,12 +944,11 @@ MPU_xStreamBufferNextMessageLengthBytes: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/IAR/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.S b/portable/IAR/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.S index a69845eda..d2cb78e92 100644 --- a/portable/IAR/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.S +++ b/portable/IAR/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.S @@ -47,12 +47,11 @@ MPU_xTaskDelayUntil: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv: - pop {r0} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskDelayUntil /*-----------------------------------------------------------*/ @@ -61,12 +60,11 @@ MPU_xTaskAbortDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv: - pop {r0} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskAbortDelay /*-----------------------------------------------------------*/ @@ -75,12 +73,11 @@ MPU_vTaskDelay: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv: - pop {r0} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskDelay /*-----------------------------------------------------------*/ @@ -89,12 +86,11 @@ MPU_uxTaskPriorityGet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv: - pop {r0} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskPriorityGet /*-----------------------------------------------------------*/ @@ -103,12 +99,11 @@ MPU_eTaskGetState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv: - pop {r0} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv: - pop {r0} svc #SYSTEM_CALL_eTaskGetState /*-----------------------------------------------------------*/ @@ -117,12 +112,11 @@ MPU_vTaskGetInfo: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv: - pop {r0} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskGetInfo /*-----------------------------------------------------------*/ @@ -131,12 +125,11 @@ MPU_xTaskGetIdleTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv: - pop {r0} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle /*-----------------------------------------------------------*/ @@ -145,12 +138,11 @@ MPU_vTaskSuspend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv: - pop {r0} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSuspend /*-----------------------------------------------------------*/ @@ -159,12 +151,11 @@ MPU_vTaskResume: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv: - pop {r0} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskResume /*-----------------------------------------------------------*/ @@ -173,12 +164,11 @@ MPU_xTaskGetTickCount: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv: - pop {r0} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetTickCount /*-----------------------------------------------------------*/ @@ -187,12 +177,11 @@ MPU_uxTaskGetNumberOfTasks: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv: - pop {r0} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks /*-----------------------------------------------------------*/ @@ -201,12 +190,11 @@ MPU_ulTaskGetRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter /*-----------------------------------------------------------*/ @@ -215,12 +203,11 @@ MPU_ulTaskGetRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimePercent /*-----------------------------------------------------------*/ @@ -229,12 +216,11 @@ MPU_ulTaskGetIdleRunTimePercent: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent /*-----------------------------------------------------------*/ @@ -243,12 +229,11 @@ MPU_ulTaskGetIdleRunTimeCounter: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv: - pop {r0} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter /*-----------------------------------------------------------*/ @@ -257,12 +242,11 @@ MPU_vTaskSetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv: - pop {r0} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -271,12 +255,11 @@ MPU_xTaskGetApplicationTaskTag: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv: - pop {r0} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag /*-----------------------------------------------------------*/ @@ -285,12 +268,11 @@ MPU_vTaskSetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -299,12 +281,11 @@ MPU_pvTaskGetThreadLocalStoragePointer: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv: - pop {r0} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer /*-----------------------------------------------------------*/ @@ -313,12 +294,11 @@ MPU_uxTaskGetSystemState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv: - pop {r0} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetSystemState /*-----------------------------------------------------------*/ @@ -327,12 +307,11 @@ MPU_uxTaskGetStackHighWaterMark: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark /*-----------------------------------------------------------*/ @@ -341,12 +320,11 @@ MPU_uxTaskGetStackHighWaterMark2: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv: - pop {r0} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 /*-----------------------------------------------------------*/ @@ -355,12 +333,11 @@ MPU_xTaskGetCurrentTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv: - pop {r0} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle /*-----------------------------------------------------------*/ @@ -369,12 +346,11 @@ MPU_xTaskGetSchedulerState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv: - pop {r0} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGetSchedulerState /*-----------------------------------------------------------*/ @@ -383,12 +359,11 @@ MPU_vTaskSetTimeOutState: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv: - pop {r0} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTaskSetTimeOutState /*-----------------------------------------------------------*/ @@ -397,12 +372,11 @@ MPU_xTaskCheckForTimeOut: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv: - pop {r0} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskCheckForTimeOut /*-----------------------------------------------------------*/ @@ -411,12 +385,11 @@ MPU_xTaskGenericNotifyEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv: - pop {r0} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotify /*-----------------------------------------------------------*/ @@ -425,12 +398,11 @@ MPU_xTaskGenericNotifyWaitEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv: - pop {r0} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyWait /*-----------------------------------------------------------*/ @@ -439,12 +411,11 @@ MPU_ulTaskGenericNotifyTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv: - pop {r0} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyTake /*-----------------------------------------------------------*/ @@ -453,12 +424,11 @@ MPU_xTaskGenericNotifyStateClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv: - pop {r0} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear /*-----------------------------------------------------------*/ @@ -467,12 +437,11 @@ MPU_ulTaskGenericNotifyValueClear: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv: - pop {r0} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv: - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear /*-----------------------------------------------------------*/ @@ -481,12 +450,11 @@ MPU_xQueueGenericSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv: - pop {r0} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGenericSend /*-----------------------------------------------------------*/ @@ -495,12 +463,11 @@ MPU_uxQueueMessagesWaiting: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv: - pop {r0} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueMessagesWaiting /*-----------------------------------------------------------*/ @@ -509,12 +476,11 @@ MPU_uxQueueSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv: - pop {r0} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxQueueSpacesAvailable /*-----------------------------------------------------------*/ @@ -523,12 +489,11 @@ MPU_xQueueReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv: - pop {r0} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueReceive /*-----------------------------------------------------------*/ @@ -537,12 +502,11 @@ MPU_xQueuePeek: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv: - pop {r0} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueuePeek /*-----------------------------------------------------------*/ @@ -551,12 +515,11 @@ MPU_xQueueSemaphoreTake: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv: - pop {r0} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSemaphoreTake /*-----------------------------------------------------------*/ @@ -565,12 +528,11 @@ MPU_xQueueGetMutexHolder: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv: - pop {r0} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGetMutexHolder /*-----------------------------------------------------------*/ @@ -579,12 +541,11 @@ MPU_xQueueTakeMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv: - pop {r0} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueTakeMutexRecursive /*-----------------------------------------------------------*/ @@ -593,12 +554,11 @@ MPU_xQueueGiveMutexRecursive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv: - pop {r0} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueGiveMutexRecursive /*-----------------------------------------------------------*/ @@ -607,12 +567,11 @@ MPU_xQueueSelectFromSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv: - pop {r0} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueSelectFromSet /*-----------------------------------------------------------*/ @@ -621,12 +580,11 @@ MPU_xQueueAddToSet: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv: - pop {r0} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv: - pop {r0} svc #SYSTEM_CALL_xQueueAddToSet /*-----------------------------------------------------------*/ @@ -635,12 +593,11 @@ MPU_vQueueAddToRegistry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv: - pop {r0} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueAddToRegistry /*-----------------------------------------------------------*/ @@ -649,12 +606,11 @@ MPU_vQueueUnregisterQueue: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv: - pop {r0} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv: - pop {r0} svc #SYSTEM_CALL_vQueueUnregisterQueue /*-----------------------------------------------------------*/ @@ -663,12 +619,11 @@ MPU_pcQueueGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv: - pop {r0} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcQueueGetName /*-----------------------------------------------------------*/ @@ -677,12 +632,11 @@ MPU_pvTimerGetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv: - pop {r0} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_pvTimerGetTimerID /*-----------------------------------------------------------*/ @@ -691,12 +645,11 @@ MPU_vTimerSetTimerID: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv: - pop {r0} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetTimerID /*-----------------------------------------------------------*/ @@ -705,12 +658,11 @@ MPU_xTimerIsTimerActive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv: - pop {r0} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerIsTimerActive /*-----------------------------------------------------------*/ @@ -719,12 +671,11 @@ MPU_xTimerGetTimerDaemonTaskHandle: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv: - pop {r0} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle /*-----------------------------------------------------------*/ @@ -733,12 +684,11 @@ MPU_xTimerGenericCommandFromTaskEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv: - pop {r0} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGenericCommandFromTask /*-----------------------------------------------------------*/ @@ -747,12 +697,11 @@ MPU_pcTimerGetName: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv: - pop {r0} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv: - pop {r0} svc #SYSTEM_CALL_pcTimerGetName /*-----------------------------------------------------------*/ @@ -761,12 +710,11 @@ MPU_vTimerSetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv: - pop {r0} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_vTimerSetReloadMode /*-----------------------------------------------------------*/ @@ -775,12 +723,11 @@ MPU_xTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv: - pop {r0} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -789,12 +736,11 @@ MPU_uxTimerGetReloadMode: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv: - pop {r0} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxTimerGetReloadMode /*-----------------------------------------------------------*/ @@ -803,12 +749,11 @@ MPU_xTimerGetPeriod: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv: - pop {r0} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetPeriod /*-----------------------------------------------------------*/ @@ -817,12 +762,11 @@ MPU_xTimerGetExpiryTime: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv: - pop {r0} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv: - pop {r0} svc #SYSTEM_CALL_xTimerGetExpiryTime /*-----------------------------------------------------------*/ @@ -831,12 +775,11 @@ MPU_xEventGroupWaitBitsEntry: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv: - pop {r0} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupWaitBits /*-----------------------------------------------------------*/ @@ -845,12 +788,11 @@ MPU_xEventGroupClearBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv: - pop {r0} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupClearBits /*-----------------------------------------------------------*/ @@ -859,12 +801,11 @@ MPU_xEventGroupSetBits: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv: - pop {r0} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSetBits /*-----------------------------------------------------------*/ @@ -873,12 +814,11 @@ MPU_xEventGroupSync: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv: - pop {r0} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv: - pop {r0} svc #SYSTEM_CALL_xEventGroupSync /*-----------------------------------------------------------*/ @@ -887,12 +827,11 @@ MPU_uxEventGroupGetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv: - pop {r0} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_uxEventGroupGetNumber /*-----------------------------------------------------------*/ @@ -901,12 +840,11 @@ MPU_vEventGroupSetNumber: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv: - pop {r0} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv: - pop {r0} svc #SYSTEM_CALL_vEventGroupSetNumber /*-----------------------------------------------------------*/ @@ -915,12 +853,11 @@ MPU_xStreamBufferSend: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv: - pop {r0} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSend /*-----------------------------------------------------------*/ @@ -929,12 +866,11 @@ MPU_xStreamBufferReceive: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv: - pop {r0} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferReceive /*-----------------------------------------------------------*/ @@ -943,12 +879,11 @@ MPU_xStreamBufferIsFull: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv: - pop {r0} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsFull /*-----------------------------------------------------------*/ @@ -957,12 +892,11 @@ MPU_xStreamBufferIsEmpty: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv: - pop {r0} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsEmpty /*-----------------------------------------------------------*/ @@ -971,12 +905,11 @@ MPU_xStreamBufferSpacesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv: - pop {r0} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable /*-----------------------------------------------------------*/ @@ -985,12 +918,11 @@ MPU_xStreamBufferBytesAvailable: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv: - pop {r0} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferBytesAvailable /*-----------------------------------------------------------*/ @@ -999,12 +931,11 @@ MPU_xStreamBufferSetTriggerLevel: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv: - pop {r0} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel /*-----------------------------------------------------------*/ @@ -1013,12 +944,11 @@ MPU_xStreamBufferNextMessageLengthBytes: push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv: - pop {r0} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv: - pop {r0} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes /*-----------------------------------------------------------*/ diff --git a/portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c b/portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c index fb04f194d..3a41d8d31 100644 --- a/portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c +++ b/portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c @@ -60,12 +60,11 @@ __asm BaseType_t MPU_xTaskDelayUntil( TickType_t * const pxPreviousWakeTime, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskDelayUntil_Unpriv MPU_xTaskDelayUntil_Priv - pop {r0} b MPU_xTaskDelayUntilImpl MPU_xTaskDelayUntil_Unpriv - pop {r0} svc #SYSTEM_CALL_xTaskDelayUntil } @@ -84,12 +83,11 @@ __asm BaseType_t MPU_xTaskAbortDelay( TaskHandle_t xTask ) /* FREERTOS_SYSTEM_CA push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskAbortDelay_Unpriv MPU_xTaskAbortDelay_Priv - pop {r0} b MPU_xTaskAbortDelayImpl MPU_xTaskAbortDelay_Unpriv - pop {r0} svc #SYSTEM_CALL_xTaskAbortDelay } @@ -108,12 +106,11 @@ __asm void MPU_vTaskDelay( const TickType_t xTicksToDelay ) /* FREERTOS_SYSTEM_C push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskDelay_Unpriv MPU_vTaskDelay_Priv - pop {r0} b MPU_vTaskDelayImpl MPU_vTaskDelay_Unpriv - pop {r0} svc #SYSTEM_CALL_vTaskDelay } @@ -132,12 +129,11 @@ __asm UBaseType_t MPU_uxTaskPriorityGet( const TaskHandle_t xTask ) /* FREERTOS_ push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskPriorityGet_Unpriv MPU_uxTaskPriorityGet_Priv - pop {r0} b MPU_uxTaskPriorityGetImpl MPU_uxTaskPriorityGet_Unpriv - pop {r0} svc #SYSTEM_CALL_uxTaskPriorityGet } @@ -156,12 +152,11 @@ __asm eTaskState MPU_eTaskGetState( TaskHandle_t xTask ) /* FREERTOS_SYSTEM_CALL push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_eTaskGetState_Unpriv MPU_eTaskGetState_Priv - pop {r0} b MPU_eTaskGetStateImpl MPU_eTaskGetState_Unpriv - pop {r0} svc #SYSTEM_CALL_eTaskGetState } @@ -186,12 +181,11 @@ __asm void MPU_vTaskGetInfo( TaskHandle_t xTask, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskGetInfo_Unpriv MPU_vTaskGetInfo_Priv - pop {r0} b MPU_vTaskGetInfoImpl MPU_vTaskGetInfo_Unpriv - pop {r0} svc #SYSTEM_CALL_vTaskGetInfo } @@ -210,12 +204,11 @@ __asm TaskHandle_t MPU_xTaskGetIdleTaskHandle( void ) /* FREERTOS_SYSTEM_CALL */ push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetIdleTaskHandle_Unpriv MPU_xTaskGetIdleTaskHandle_Priv - pop {r0} b MPU_xTaskGetIdleTaskHandleImpl MPU_xTaskGetIdleTaskHandle_Unpriv - pop {r0} svc #SYSTEM_CALL_xTaskGetIdleTaskHandle } @@ -234,12 +227,11 @@ __asm void MPU_vTaskSuspend( TaskHandle_t xTaskToSuspend ) /* FREERTOS_SYSTEM_CA push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSuspend_Unpriv MPU_vTaskSuspend_Priv - pop {r0} b MPU_vTaskSuspendImpl MPU_vTaskSuspend_Unpriv - pop {r0} svc #SYSTEM_CALL_vTaskSuspend } @@ -258,12 +250,11 @@ __asm void MPU_vTaskResume( TaskHandle_t xTaskToResume ) /* FREERTOS_SYSTEM_CALL push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskResume_Unpriv MPU_vTaskResume_Priv - pop {r0} b MPU_vTaskResumeImpl MPU_vTaskResume_Unpriv - pop {r0} svc #SYSTEM_CALL_vTaskResume } @@ -280,12 +271,11 @@ __asm TickType_t MPU_xTaskGetTickCount( void ) /* FREERTOS_SYSTEM_CALL */ push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetTickCount_Unpriv MPU_xTaskGetTickCount_Priv - pop {r0} b MPU_xTaskGetTickCountImpl MPU_xTaskGetTickCount_Unpriv - pop {r0} svc #SYSTEM_CALL_xTaskGetTickCount } /*-----------------------------------------------------------*/ @@ -300,12 +290,11 @@ __asm UBaseType_t MPU_uxTaskGetNumberOfTasks( void ) /* FREERTOS_SYSTEM_CALL */ push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetNumberOfTasks_Unpriv MPU_uxTaskGetNumberOfTasks_Priv - pop {r0} b MPU_uxTaskGetNumberOfTasksImpl MPU_uxTaskGetNumberOfTasks_Unpriv - pop {r0} svc #SYSTEM_CALL_uxTaskGetNumberOfTasks } /*-----------------------------------------------------------*/ @@ -322,12 +311,11 @@ __asm configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimeCounter( const TaskHandle_ push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimeCounter_Unpriv MPU_ulTaskGetRunTimeCounter_Priv - pop {r0} b MPU_ulTaskGetRunTimeCounterImpl MPU_ulTaskGetRunTimeCounter_Unpriv - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimeCounter } @@ -346,12 +334,11 @@ __asm configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimePercent( const TaskHandle_ push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetRunTimePercent_Unpriv MPU_ulTaskGetRunTimePercent_Priv - pop {r0} b MPU_ulTaskGetRunTimePercentImpl MPU_ulTaskGetRunTimePercent_Unpriv - pop {r0} svc #SYSTEM_CALL_ulTaskGetRunTimePercent } @@ -370,12 +357,11 @@ __asm configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimePercent( void ) /* FRE push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimePercent_Unpriv MPU_ulTaskGetIdleRunTimePercent_Priv - pop {r0} b MPU_ulTaskGetIdleRunTimePercentImpl MPU_ulTaskGetIdleRunTimePercent_Unpriv - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent } @@ -394,12 +380,11 @@ __asm configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimeCounter( void ) /* FRE push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv MPU_ulTaskGetIdleRunTimeCounter_Priv - pop {r0} b MPU_ulTaskGetIdleRunTimeCounterImpl MPU_ulTaskGetIdleRunTimeCounter_Unpriv - pop {r0} svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter } @@ -420,12 +405,11 @@ __asm void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetApplicationTaskTag_Unpriv MPU_vTaskSetApplicationTaskTag_Priv - pop {r0} b MPU_vTaskSetApplicationTaskTagImpl MPU_vTaskSetApplicationTaskTag_Unpriv - pop {r0} svc #SYSTEM_CALL_vTaskSetApplicationTaskTag } @@ -444,12 +428,11 @@ __asm TaskHookFunction_t MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask ) /* push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetApplicationTaskTag_Unpriv MPU_xTaskGetApplicationTaskTag_Priv - pop {r0} b MPU_xTaskGetApplicationTaskTagImpl MPU_xTaskGetApplicationTaskTag_Unpriv - pop {r0} svc #SYSTEM_CALL_xTaskGetApplicationTaskTag } @@ -472,12 +455,11 @@ __asm void MPU_vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv MPU_vTaskSetThreadLocalStoragePointer_Priv - pop {r0} b MPU_vTaskSetThreadLocalStoragePointerImpl MPU_vTaskSetThreadLocalStoragePointer_Unpriv - pop {r0} svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer } @@ -498,12 +480,11 @@ __asm void * MPU_pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv MPU_pvTaskGetThreadLocalStoragePointer_Priv - pop {r0} b MPU_pvTaskGetThreadLocalStoragePointerImpl MPU_pvTaskGetThreadLocalStoragePointer_Unpriv - pop {r0} svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer } @@ -526,12 +507,11 @@ __asm UBaseType_t MPU_uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArr push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetSystemState_Unpriv MPU_uxTaskGetSystemState_Priv - pop {r0} b MPU_uxTaskGetSystemStateImpl MPU_uxTaskGetSystemState_Unpriv - pop {r0} svc #SYSTEM_CALL_uxTaskGetSystemState } @@ -550,12 +530,11 @@ __asm UBaseType_t MPU_uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) /* FREER push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark_Unpriv MPU_uxTaskGetStackHighWaterMark_Priv - pop {r0} b MPU_uxTaskGetStackHighWaterMarkImpl MPU_uxTaskGetStackHighWaterMark_Unpriv - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark } @@ -574,12 +553,11 @@ __asm configSTACK_DEPTH_TYPE MPU_uxTaskGetStackHighWaterMark2( TaskHandle_t xTas push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTaskGetStackHighWaterMark2_Unpriv MPU_uxTaskGetStackHighWaterMark2_Priv - pop {r0} b MPU_uxTaskGetStackHighWaterMark2Impl MPU_uxTaskGetStackHighWaterMark2_Unpriv - pop {r0} svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2 } @@ -598,12 +576,11 @@ __asm TaskHandle_t MPU_xTaskGetCurrentTaskHandle( void ) /* FREERTOS_SYSTEM_CALL push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetCurrentTaskHandle_Unpriv MPU_xTaskGetCurrentTaskHandle_Priv - pop {r0} b MPU_xTaskGetCurrentTaskHandleImpl MPU_xTaskGetCurrentTaskHandle_Unpriv - pop {r0} svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle } @@ -622,12 +599,11 @@ __asm BaseType_t MPU_xTaskGetSchedulerState( void ) /* FREERTOS_SYSTEM_CALL */ push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGetSchedulerState_Unpriv MPU_xTaskGetSchedulerState_Priv - pop {r0} b MPU_xTaskGetSchedulerStateImpl MPU_xTaskGetSchedulerState_Unpriv - pop {r0} svc #SYSTEM_CALL_xTaskGetSchedulerState } @@ -644,12 +620,11 @@ __asm void MPU_vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) /* FREERTOS_S push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTaskSetTimeOutState_Unpriv MPU_vTaskSetTimeOutState_Priv - pop {r0} b MPU_vTaskSetTimeOutStateImpl MPU_vTaskSetTimeOutState_Unpriv - pop {r0} svc #SYSTEM_CALL_vTaskSetTimeOutState } /*-----------------------------------------------------------*/ @@ -666,12 +641,11 @@ __asm BaseType_t MPU_xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskCheckForTimeOut_Unpriv MPU_xTaskCheckForTimeOut_Priv - pop {r0} b MPU_xTaskCheckForTimeOutImpl MPU_xTaskCheckForTimeOut_Unpriv - pop {r0} svc #SYSTEM_CALL_xTaskCheckForTimeOut } /*-----------------------------------------------------------*/ @@ -688,12 +662,11 @@ __asm BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotify_Unpriv MPU_xTaskGenericNotify_Priv - pop {r0} b MPU_xTaskGenericNotifyImpl MPU_xTaskGenericNotify_Unpriv - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotify } @@ -712,12 +685,11 @@ __asm BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitPa push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyWait_Unpriv MPU_xTaskGenericNotifyWait_Priv - pop {r0} b MPU_xTaskGenericNotifyWaitImpl MPU_xTaskGenericNotifyWait_Unpriv - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyWait } @@ -740,12 +712,11 @@ __asm uint32_t MPU_ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyTake_Unpriv MPU_ulTaskGenericNotifyTake_Priv - pop {r0} b MPU_ulTaskGenericNotifyTakeImpl MPU_ulTaskGenericNotifyTake_Unpriv - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyTake } @@ -766,12 +737,11 @@ __asm BaseType_t MPU_xTaskGenericNotifyStateClear( TaskHandle_t xTask, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTaskGenericNotifyStateClear_Unpriv MPU_xTaskGenericNotifyStateClear_Priv - pop {r0} b MPU_xTaskGenericNotifyStateClearImpl MPU_xTaskGenericNotifyStateClear_Unpriv - pop {r0} svc #SYSTEM_CALL_xTaskGenericNotifyStateClear } @@ -794,12 +764,11 @@ __asm uint32_t MPU_ulTaskGenericNotifyValueClear( TaskHandle_t xTask, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_ulTaskGenericNotifyValueClear_Unpriv MPU_ulTaskGenericNotifyValueClear_Priv - pop {r0} b MPU_ulTaskGenericNotifyValueClearImpl MPU_ulTaskGenericNotifyValueClear_Unpriv - pop {r0} svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear } @@ -822,12 +791,11 @@ __asm BaseType_t MPU_xQueueGenericSend( QueueHandle_t xQueue, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGenericSend_Unpriv MPU_xQueueGenericSend_Priv - pop {r0} b MPU_xQueueGenericSendImpl MPU_xQueueGenericSend_Unpriv - pop {r0} svc #SYSTEM_CALL_xQueueGenericSend } /*-----------------------------------------------------------*/ @@ -842,12 +810,11 @@ __asm UBaseType_t MPU_uxQueueMessagesWaiting( const QueueHandle_t xQueue ) /* FR push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueMessagesWaiting_Unpriv MPU_uxQueueMessagesWaiting_Priv - pop {r0} b MPU_uxQueueMessagesWaitingImpl MPU_uxQueueMessagesWaiting_Unpriv - pop {r0} svc #SYSTEM_CALL_uxQueueMessagesWaiting } /*-----------------------------------------------------------*/ @@ -862,12 +829,11 @@ __asm UBaseType_t MPU_uxQueueSpacesAvailable( const QueueHandle_t xQueue ) /* FR push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxQueueSpacesAvailable_Unpriv MPU_uxQueueSpacesAvailable_Priv - pop {r0} b MPU_uxQueueSpacesAvailableImpl MPU_uxQueueSpacesAvailable_Unpriv - pop {r0} svc #SYSTEM_CALL_uxQueueSpacesAvailable } /*-----------------------------------------------------------*/ @@ -886,12 +852,11 @@ __asm BaseType_t MPU_xQueueReceive( QueueHandle_t xQueue, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueReceive_Unpriv MPU_xQueueReceive_Priv - pop {r0} b MPU_xQueueReceiveImpl MPU_xQueueReceive_Unpriv - pop {r0} svc #SYSTEM_CALL_xQueueReceive } /*-----------------------------------------------------------*/ @@ -910,12 +875,11 @@ __asm BaseType_t MPU_xQueuePeek( QueueHandle_t xQueue, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueuePeek_Unpriv MPU_xQueuePeek_Priv - pop {r0} b MPU_xQueuePeekImpl MPU_xQueuePeek_Unpriv - pop {r0} svc #SYSTEM_CALL_xQueuePeek } /*-----------------------------------------------------------*/ @@ -932,12 +896,11 @@ __asm BaseType_t MPU_xQueueSemaphoreTake( QueueHandle_t xQueue, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSemaphoreTake_Unpriv MPU_xQueueSemaphoreTake_Priv - pop {r0} b MPU_xQueueSemaphoreTakeImpl MPU_xQueueSemaphoreTake_Unpriv - pop {r0} svc #SYSTEM_CALL_xQueueSemaphoreTake } /*-----------------------------------------------------------*/ @@ -954,12 +917,11 @@ __asm TaskHandle_t MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore ) /* FREER push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGetMutexHolder_Unpriv MPU_xQueueGetMutexHolder_Priv - pop {r0} b MPU_xQueueGetMutexHolderImpl MPU_xQueueGetMutexHolder_Unpriv - pop {r0} svc #SYSTEM_CALL_xQueueGetMutexHolder } @@ -980,12 +942,11 @@ __asm BaseType_t MPU_xQueueTakeMutexRecursive( QueueHandle_t xMutex, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueTakeMutexRecursive_Unpriv MPU_xQueueTakeMutexRecursive_Priv - pop {r0} b MPU_xQueueTakeMutexRecursiveImpl MPU_xQueueTakeMutexRecursive_Unpriv - pop {r0} svc #SYSTEM_CALL_xQueueTakeMutexRecursive } @@ -1004,12 +965,11 @@ __asm BaseType_t MPU_xQueueGiveMutexRecursive( QueueHandle_t pxMutex ) /* FREERT push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueGiveMutexRecursive_Unpriv MPU_xQueueGiveMutexRecursive_Priv - pop {r0} b MPU_xQueueGiveMutexRecursiveImpl MPU_xQueueGiveMutexRecursive_Unpriv - pop {r0} svc #SYSTEM_CALL_xQueueGiveMutexRecursive } @@ -1030,12 +990,11 @@ __asm QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueSelectFromSet_Unpriv MPU_xQueueSelectFromSet_Priv - pop {r0} b MPU_xQueueSelectFromSetImpl MPU_xQueueSelectFromSet_Unpriv - pop {r0} svc #SYSTEM_CALL_xQueueSelectFromSet } @@ -1056,12 +1015,11 @@ __asm BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xQueueAddToSet_Unpriv MPU_xQueueAddToSet_Priv - pop {r0} b MPU_xQueueAddToSetImpl MPU_xQueueAddToSet_Unpriv - pop {r0} svc #SYSTEM_CALL_xQueueAddToSet } @@ -1082,12 +1040,11 @@ __asm void MPU_vQueueAddToRegistry( QueueHandle_t xQueue, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueAddToRegistry_Unpriv MPU_vQueueAddToRegistry_Priv - pop {r0} b MPU_vQueueAddToRegistryImpl MPU_vQueueAddToRegistry_Unpriv - pop {r0} svc #SYSTEM_CALL_vQueueAddToRegistry } @@ -1106,12 +1063,11 @@ __asm void MPU_vQueueUnregisterQueue( QueueHandle_t xQueue ) /* FREERTOS_SYSTEM_ push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vQueueUnregisterQueue_Unpriv MPU_vQueueUnregisterQueue_Priv - pop {r0} b MPU_vQueueUnregisterQueueImpl MPU_vQueueUnregisterQueue_Unpriv - pop {r0} svc #SYSTEM_CALL_vQueueUnregisterQueue } @@ -1130,12 +1086,11 @@ __asm const char * MPU_pcQueueGetName( QueueHandle_t xQueue ) /* FREERTOS_SYSTEM push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcQueueGetName_Unpriv MPU_pcQueueGetName_Priv - pop {r0} b MPU_pcQueueGetNameImpl MPU_pcQueueGetName_Unpriv - pop {r0} svc #SYSTEM_CALL_pcQueueGetName } @@ -1154,12 +1109,11 @@ __asm void * MPU_pvTimerGetTimerID( const TimerHandle_t xTimer ) /* FREERTOS_SYS push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pvTimerGetTimerID_Unpriv MPU_pvTimerGetTimerID_Priv - pop {r0} b MPU_pvTimerGetTimerIDImpl MPU_pvTimerGetTimerID_Unpriv - pop {r0} svc #SYSTEM_CALL_pvTimerGetTimerID } @@ -1180,12 +1134,11 @@ __asm void MPU_vTimerSetTimerID( TimerHandle_t xTimer, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetTimerID_Unpriv MPU_vTimerSetTimerID_Priv - pop {r0} b MPU_vTimerSetTimerIDImpl MPU_vTimerSetTimerID_Unpriv - pop {r0} svc #SYSTEM_CALL_vTimerSetTimerID } @@ -1204,12 +1157,11 @@ __asm BaseType_t MPU_xTimerIsTimerActive( TimerHandle_t xTimer ) /* FREERTOS_SYS push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerIsTimerActive_Unpriv MPU_xTimerIsTimerActive_Priv - pop {r0} b MPU_xTimerIsTimerActiveImpl MPU_xTimerIsTimerActive_Unpriv - pop {r0} svc #SYSTEM_CALL_xTimerIsTimerActive } @@ -1228,12 +1180,11 @@ __asm TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void ) /* FREERTOS_SYSTEM push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv MPU_xTimerGetTimerDaemonTaskHandle_Priv - pop {r0} b MPU_xTimerGetTimerDaemonTaskHandleImpl MPU_xTimerGetTimerDaemonTaskHandle_Unpriv - pop {r0} svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle } @@ -1252,12 +1203,11 @@ __asm BaseType_t MPU_xTimerGenericCommandFromTaskEntry( const xTimerGenericComma push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGenericCommandFromTask_Unpriv MPU_xTimerGenericCommandFromTask_Priv - pop {r0} b MPU_xTimerGenericCommandFromTaskImpl MPU_xTimerGenericCommandFromTask_Unpriv - pop {r0} svc #SYSTEM_CALL_xTimerGenericCommandFromTask } @@ -1276,12 +1226,11 @@ __asm const char * MPU_pcTimerGetName( TimerHandle_t xTimer ) /* FREERTOS_SYSTEM push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_pcTimerGetName_Unpriv MPU_pcTimerGetName_Priv - pop {r0} b MPU_pcTimerGetNameImpl MPU_pcTimerGetName_Unpriv - pop {r0} svc #SYSTEM_CALL_pcTimerGetName } @@ -1302,12 +1251,11 @@ __asm void MPU_vTimerSetReloadMode( TimerHandle_t xTimer, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vTimerSetReloadMode_Unpriv MPU_vTimerSetReloadMode_Priv - pop {r0} b MPU_vTimerSetReloadModeImpl MPU_vTimerSetReloadMode_Unpriv - pop {r0} svc #SYSTEM_CALL_vTimerSetReloadMode } @@ -1326,12 +1274,11 @@ __asm BaseType_t MPU_xTimerGetReloadMode( TimerHandle_t xTimer ) /* FREERTOS_SYS push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetReloadMode_Unpriv MPU_xTimerGetReloadMode_Priv - pop {r0} b MPU_xTimerGetReloadModeImpl MPU_xTimerGetReloadMode_Unpriv - pop {r0} svc #SYSTEM_CALL_xTimerGetReloadMode } @@ -1350,12 +1297,11 @@ __asm UBaseType_t MPU_uxTimerGetReloadMode( TimerHandle_t xTimer ) /* FREERTOS_S push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxTimerGetReloadMode_Unpriv MPU_uxTimerGetReloadMode_Priv - pop {r0} b MPU_uxTimerGetReloadModeImpl MPU_uxTimerGetReloadMode_Unpriv - pop {r0} svc #SYSTEM_CALL_uxTimerGetReloadMode } @@ -1374,12 +1320,11 @@ __asm TickType_t MPU_xTimerGetPeriod( TimerHandle_t xTimer ) /* FREERTOS_SYSTEM_ push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetPeriod_Unpriv MPU_xTimerGetPeriod_Priv - pop {r0} b MPU_xTimerGetPeriodImpl MPU_xTimerGetPeriod_Unpriv - pop {r0} svc #SYSTEM_CALL_xTimerGetPeriod } @@ -1398,12 +1343,11 @@ __asm TickType_t MPU_xTimerGetExpiryTime( TimerHandle_t xTimer ) /* FREERTOS_SYS push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xTimerGetExpiryTime_Unpriv MPU_xTimerGetExpiryTime_Priv - pop {r0} b MPU_xTimerGetExpiryTimeImpl MPU_xTimerGetExpiryTime_Unpriv - pop {r0} svc #SYSTEM_CALL_xTimerGetExpiryTime } @@ -1420,12 +1364,11 @@ __asm EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_ push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupWaitBits_Unpriv MPU_xEventGroupWaitBits_Priv - pop {r0} b MPU_xEventGroupWaitBitsImpl MPU_xEventGroupWaitBits_Unpriv - pop {r0} svc #SYSTEM_CALL_xEventGroupWaitBits } /*-----------------------------------------------------------*/ @@ -1442,12 +1385,11 @@ __asm EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupClearBits_Unpriv MPU_xEventGroupClearBits_Priv - pop {r0} b MPU_xEventGroupClearBitsImpl MPU_xEventGroupClearBits_Unpriv - pop {r0} svc #SYSTEM_CALL_xEventGroupClearBits } /*-----------------------------------------------------------*/ @@ -1464,12 +1406,11 @@ __asm EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSetBits_Unpriv MPU_xEventGroupSetBits_Priv - pop {r0} b MPU_xEventGroupSetBitsImpl MPU_xEventGroupSetBits_Unpriv - pop {r0} svc #SYSTEM_CALL_xEventGroupSetBits } /*-----------------------------------------------------------*/ @@ -1490,12 +1431,11 @@ __asm EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xEventGroupSync_Unpriv MPU_xEventGroupSync_Priv - pop {r0} b MPU_xEventGroupSyncImpl MPU_xEventGroupSync_Unpriv - pop {r0} svc #SYSTEM_CALL_xEventGroupSync } /*-----------------------------------------------------------*/ @@ -1512,12 +1452,11 @@ __asm UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) /* FREERTOS_SY push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_uxEventGroupGetNumber_Unpriv MPU_uxEventGroupGetNumber_Priv - pop {r0} b MPU_uxEventGroupGetNumberImpl MPU_uxEventGroupGetNumber_Unpriv - pop {r0} svc #SYSTEM_CALL_uxEventGroupGetNumber } @@ -1538,12 +1477,11 @@ __asm void MPU_vEventGroupSetNumber( void * xEventGroup, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_vEventGroupSetNumber_Unpriv MPU_vEventGroupSetNumber_Priv - pop {r0} b MPU_vEventGroupSetNumberImpl MPU_vEventGroupSetNumber_Unpriv - pop {r0} svc #SYSTEM_CALL_vEventGroupSetNumber } @@ -1566,12 +1504,11 @@ __asm size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSend_Unpriv MPU_xStreamBufferSend_Priv - pop {r0} b MPU_xStreamBufferSendImpl MPU_xStreamBufferSend_Unpriv - pop {r0} svc #SYSTEM_CALL_xStreamBufferSend } /*-----------------------------------------------------------*/ @@ -1592,12 +1529,11 @@ __asm size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferReceive_Unpriv MPU_xStreamBufferReceive_Priv - pop {r0} b MPU_xStreamBufferReceiveImpl MPU_xStreamBufferReceive_Unpriv - pop {r0} svc #SYSTEM_CALL_xStreamBufferReceive } /*-----------------------------------------------------------*/ @@ -1612,12 +1548,11 @@ __asm BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) / push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsFull_Unpriv MPU_xStreamBufferIsFull_Priv - pop {r0} b MPU_xStreamBufferIsFullImpl MPU_xStreamBufferIsFull_Unpriv - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsFull } /*-----------------------------------------------------------*/ @@ -1632,12 +1567,11 @@ __asm BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferIsEmpty_Unpriv MPU_xStreamBufferIsEmpty_Priv - pop {r0} b MPU_xStreamBufferIsEmptyImpl MPU_xStreamBufferIsEmpty_Unpriv - pop {r0} svc #SYSTEM_CALL_xStreamBufferIsEmpty } /*-----------------------------------------------------------*/ @@ -1652,12 +1586,11 @@ __asm size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffe push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSpacesAvailable_Unpriv MPU_xStreamBufferSpacesAvailable_Priv - pop {r0} b MPU_xStreamBufferSpacesAvailableImpl MPU_xStreamBufferSpacesAvailable_Unpriv - pop {r0} svc #SYSTEM_CALL_xStreamBufferSpacesAvailable } /*-----------------------------------------------------------*/ @@ -1672,12 +1605,11 @@ __asm size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferBytesAvailable_Unpriv MPU_xStreamBufferBytesAvailable_Priv - pop {r0} b MPU_xStreamBufferBytesAvailableImpl MPU_xStreamBufferBytesAvailable_Unpriv - pop {r0} svc #SYSTEM_CALL_xStreamBufferBytesAvailable } /*-----------------------------------------------------------*/ @@ -1694,12 +1626,11 @@ __asm BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamB push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferSetTriggerLevel_Unpriv MPU_xStreamBufferSetTriggerLevel_Priv - pop {r0} b MPU_xStreamBufferSetTriggerLevelImpl MPU_xStreamBufferSetTriggerLevel_Unpriv - pop {r0} svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel } /*-----------------------------------------------------------*/ @@ -1714,12 +1645,11 @@ __asm size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStre push {r0} mrs r0, control tst r0, #1 + pop {r0} bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv MPU_xStreamBufferNextMessageLengthBytes_Priv - pop {r0} b MPU_xStreamBufferNextMessageLengthBytesImpl MPU_xStreamBufferNextMessageLengthBytes_Unpriv - pop {r0} svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes } /*-----------------------------------------------------------*/ From 345a86d49bca4f278ecb38516f675f3732255267 Mon Sep 17 00:00:00 2001 From: Soren Ptak Date: Tue, 26 Mar 2024 13:25:07 -0700 Subject: [PATCH 25/38] ARM CM0+ MPU Port (#1005) * Add MPU Support to the ARM CM0+ GCC Port. * Co-authored by @aggarg --- .github/.cSpellWords.txt | 1 + portable/GCC/ARM_CM0/mpu_wrappers_v2_asm.c | 2217 ++++++++++++++++++++ portable/GCC/ARM_CM0/port.c | 1694 +++++++++++---- portable/GCC/ARM_CM0/portasm.c | 523 +++++ portable/GCC/ARM_CM0/portasm.h | 99 + portable/GCC/ARM_CM0/portmacro.h | 343 ++- 6 files changed, 4458 insertions(+), 419 deletions(-) create mode 100644 portable/GCC/ARM_CM0/mpu_wrappers_v2_asm.c create mode 100644 portable/GCC/ARM_CM0/portasm.c create mode 100644 portable/GCC/ARM_CM0/portasm.h diff --git a/.github/.cSpellWords.txt b/.github/.cSpellWords.txt index c41a05015..0ba0be7c5 100644 --- a/.github/.cSpellWords.txt +++ b/.github/.cSpellWords.txt @@ -634,6 +634,7 @@ PREB PRIA Prioritised PRIS +PRIVDEFENA PROCDLY PRODH PRODL diff --git a/portable/GCC/ARM_CM0/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM0/mpu_wrappers_v2_asm.c new file mode 100644 index 000000000..cd7be632b --- /dev/null +++ b/portable/GCC/ARM_CM0/mpu_wrappers_v2_asm.c @@ -0,0 +1,2217 @@ +/* + * FreeRTOS Kernel + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +/* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE prevents task.h from redefining + * all the API functions to use the MPU wrappers. That should only be done when + * task.h is included from an application file. */ +#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE + +/* Scheduler includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" +#include "timers.h" +#include "event_groups.h" +#include "stream_buffer.h" +#include "mpu_prototypes.h" +#include "mpu_syscall_numbers.h" + +#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE +/*-----------------------------------------------------------*/ + +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + + #if ( INCLUDE_xTaskDelayUntil == 1 ) + + BaseType_t MPU_xTaskDelayUntil( TickType_t * const pxPreviousWakeTime, + const TickType_t xTimeIncrement ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xTaskDelayUntil( TickType_t * const pxPreviousWakeTime, + const TickType_t xTimeIncrement ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTaskDelayUntilImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTaskDelayUntil_Unpriv \n" + " MPU_xTaskDelayUntil_Priv: \n" + " push {lr} \n" + " blx MPU_xTaskDelayUntilImpl \n" + " pop {pc} \n" + " MPU_xTaskDelayUntil_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory" + ); + } + + #endif /* if ( INCLUDE_xTaskDelayUntil == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( INCLUDE_xTaskAbortDelay == 1 ) + + BaseType_t MPU_xTaskAbortDelay( TaskHandle_t xTask ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xTaskAbortDelay( TaskHandle_t xTask ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTaskAbortDelayImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTaskAbortDelay_Unpriv \n" + " MPU_xTaskAbortDelay_Priv: \n" + " push {lr} \n" + " blx MPU_xTaskAbortDelayImpl \n" + " pop {pc} \n" + " MPU_xTaskAbortDelay_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory" + ); + } + + #endif /* if ( INCLUDE_xTaskAbortDelay == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( INCLUDE_vTaskDelay == 1 ) + + void MPU_vTaskDelay( const TickType_t xTicksToDelay ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void MPU_vTaskDelay( const TickType_t xTicksToDelay ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_vTaskDelayImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_vTaskDelay_Unpriv \n" + " MPU_vTaskDelay_Priv: \n" + " push {lr} \n" + " blx MPU_vTaskDelayImpl \n" + " pop {pc} \n" + " MPU_vTaskDelay_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory" + ); + } + + #endif /* if ( INCLUDE_vTaskDelay == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( INCLUDE_uxTaskPriorityGet == 1 ) + + UBaseType_t MPU_uxTaskPriorityGet( const TaskHandle_t xTask ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + UBaseType_t MPU_uxTaskPriorityGet( const TaskHandle_t xTask ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_uxTaskPriorityGetImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_uxTaskPriorityGet_Unpriv \n" + " MPU_uxTaskPriorityGet_Priv: \n" + " push {lr} \n" + " blx MPU_uxTaskPriorityGetImpl \n" + " pop {pc} \n" + " MPU_uxTaskPriorityGet_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory" + ); + } + + #endif /* if ( INCLUDE_uxTaskPriorityGet == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( INCLUDE_eTaskGetState == 1 ) + + eTaskState MPU_eTaskGetState( TaskHandle_t xTask ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + eTaskState MPU_eTaskGetState( TaskHandle_t xTask ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_eTaskGetStateImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_eTaskGetState_Unpriv \n" + " MPU_eTaskGetState_Priv: \n" + " push {lr} \n" + " blx MPU_eTaskGetStateImpl \n" + " pop {pc} \n" + " MPU_eTaskGetState_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory" + ); + } + + #endif /* if ( INCLUDE_eTaskGetState == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TRACE_FACILITY == 1 ) + + void MPU_vTaskGetInfo( TaskHandle_t xTask, + TaskStatus_t * pxTaskStatus, + BaseType_t xGetFreeStackSpace, + eTaskState eState ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void MPU_vTaskGetInfo( TaskHandle_t xTask, + TaskStatus_t * pxTaskStatus, + BaseType_t xGetFreeStackSpace, + eTaskState eState ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_vTaskGetInfoImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_vTaskGetInfo_Unpriv \n" + " MPU_vTaskGetInfo_Priv: \n" + " push {lr} \n" + " blx MPU_vTaskGetInfoImpl \n" + " pop {pc} \n" + " MPU_vTaskGetInfo_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory" + ); + } + + #endif /* if ( configUSE_TRACE_FACILITY == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( INCLUDE_xTaskGetIdleTaskHandle == 1 ) + + TaskHandle_t MPU_xTaskGetIdleTaskHandle( void ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + TaskHandle_t MPU_xTaskGetIdleTaskHandle( void ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTaskGetIdleTaskHandleImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTaskGetIdleTaskHandle_Unpriv \n" + " MPU_xTaskGetIdleTaskHandle_Priv: \n" + " push {lr} \n" + " blx MPU_xTaskGetIdleTaskHandleImpl \n" + " pop {pc} \n" + " MPU_xTaskGetIdleTaskHandle_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory" + ); + } + + #endif /* if ( INCLUDE_xTaskGetIdleTaskHandle == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( INCLUDE_vTaskSuspend == 1 ) + + void MPU_vTaskSuspend( TaskHandle_t xTaskToSuspend ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void MPU_vTaskSuspend( TaskHandle_t xTaskToSuspend ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_vTaskSuspendImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_vTaskSuspend_Unpriv \n" + " MPU_vTaskSuspend_Priv: \n" + " push {lr} \n" + " blx MPU_vTaskSuspendImpl \n" + " pop {pc} \n" + " MPU_vTaskSuspend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory" + ); + } + + #endif /* if ( INCLUDE_vTaskSuspend == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( INCLUDE_vTaskSuspend == 1 ) + + void MPU_vTaskResume( TaskHandle_t xTaskToResume ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void MPU_vTaskResume( TaskHandle_t xTaskToResume ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_vTaskResumeImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_vTaskResume_Unpriv \n" + " MPU_vTaskResume_Priv: \n" + " push {lr} \n" + " blx MPU_vTaskResumeImpl \n" + " pop {pc} \n" + " MPU_vTaskResume_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_vTaskResume ) : "memory" + ); + } + + #endif /* if ( INCLUDE_vTaskSuspend == 1 ) */ +/*-----------------------------------------------------------*/ + + TickType_t MPU_xTaskGetTickCount( void ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + TickType_t MPU_xTaskGetTickCount( void ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTaskGetTickCountImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTaskGetTickCount_Unpriv \n" + " MPU_xTaskGetTickCount_Priv: \n" + " push {lr} \n" + " blx MPU_xTaskGetTickCountImpl \n" + " pop {pc} \n" + " MPU_xTaskGetTickCount_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + UBaseType_t MPU_uxTaskGetNumberOfTasks( void ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + UBaseType_t MPU_uxTaskGetNumberOfTasks( void ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_uxTaskGetNumberOfTasksImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_uxTaskGetNumberOfTasks_Unpriv \n" + " MPU_uxTaskGetNumberOfTasks_Priv: \n" + " push {lr} \n" + " blx MPU_uxTaskGetNumberOfTasksImpl \n" + " pop {pc} \n" + " MPU_uxTaskGetNumberOfTasks_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + #if ( configGENERATE_RUN_TIME_STATS == 1 ) + + configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimeCounter( const TaskHandle_t xTask ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimeCounter( const TaskHandle_t xTask ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_ulTaskGetRunTimeCounterImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_ulTaskGetRunTimeCounter_Unpriv \n" + " MPU_ulTaskGetRunTimeCounter_Priv: \n" + " push {lr} \n" + " blx MPU_ulTaskGetRunTimeCounterImpl \n" + " pop {pc} \n" + " MPU_ulTaskGetRunTimeCounter_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory" + ); + } + + #endif /* if ( ( configGENERATE_RUN_TIME_STATS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configGENERATE_RUN_TIME_STATS == 1 ) + + configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimePercent( const TaskHandle_t xTask ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimePercent( const TaskHandle_t xTask ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_ulTaskGetRunTimePercentImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_ulTaskGetRunTimePercent_Unpriv \n" + " MPU_ulTaskGetRunTimePercent_Priv: \n" + " push {lr} \n" + " blx MPU_ulTaskGetRunTimePercentImpl \n" + " pop {pc} \n" + " MPU_ulTaskGetRunTimePercent_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory" + ); + } + + #endif /* if ( ( configGENERATE_RUN_TIME_STATS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( ( configGENERATE_RUN_TIME_STATS == 1 ) && ( INCLUDE_xTaskGetIdleTaskHandle == 1 ) ) + + configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimePercent( void ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimePercent( void ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_ulTaskGetIdleRunTimePercentImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_ulTaskGetIdleRunTimePercent_Unpriv \n" + " MPU_ulTaskGetIdleRunTimePercent_Priv: \n" + " push {lr} \n" + " blx MPU_ulTaskGetIdleRunTimePercentImpl \n" + " pop {pc} \n" + " MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory" + ); + } + + #endif /* if ( ( configGENERATE_RUN_TIME_STATS == 1 ) && ( INCLUDE_xTaskGetIdleTaskHandle == 1 ) ) */ +/*-----------------------------------------------------------*/ + + #if ( ( configGENERATE_RUN_TIME_STATS == 1 ) && ( INCLUDE_xTaskGetIdleTaskHandle == 1 ) ) + + configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimeCounter( void ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimeCounter( void ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_ulTaskGetIdleRunTimeCounterImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv \n" + " MPU_ulTaskGetIdleRunTimeCounter_Priv: \n" + " push {lr} \n" + " blx MPU_ulTaskGetIdleRunTimeCounterImpl \n" + " pop {pc} \n" + " MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory" + ); + } + + #endif /* if ( ( configGENERATE_RUN_TIME_STATS == 1 ) && ( INCLUDE_xTaskGetIdleTaskHandle == 1 ) ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_APPLICATION_TASK_TAG == 1 ) + + void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask, + TaskHookFunction_t pxHookFunction ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask, + TaskHookFunction_t pxHookFunction ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_vTaskSetApplicationTaskTagImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_vTaskSetApplicationTaskTag_Unpriv \n" + " MPU_vTaskSetApplicationTaskTag_Priv: \n" + " push {lr} \n" + " blx MPU_vTaskSetApplicationTaskTagImpl \n" + " pop {pc} \n" + " MPU_vTaskSetApplicationTaskTag_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory" + ); + } + + #endif /* if ( configUSE_APPLICATION_TASK_TAG == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_APPLICATION_TASK_TAG == 1 ) + + TaskHookFunction_t MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + TaskHookFunction_t MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTaskGetApplicationTaskTagImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTaskGetApplicationTaskTag_Unpriv \n" + " MPU_xTaskGetApplicationTaskTag_Priv: \n" + " push {lr} \n" + " blx MPU_xTaskGetApplicationTaskTagImpl \n" + " pop {pc} \n" + " MPU_xTaskGetApplicationTaskTag_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory" + ); + } + + #endif /* if ( configUSE_APPLICATION_TASK_TAG == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS != 0 ) + + void MPU_vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet, + BaseType_t xIndex, + void * pvValue ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void MPU_vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet, + BaseType_t xIndex, + void * pvValue ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_vTaskSetThreadLocalStoragePointerImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv \n" + " MPU_vTaskSetThreadLocalStoragePointer_Priv: \n" + " push {lr} \n" + " blx MPU_vTaskSetThreadLocalStoragePointerImpl \n" + " pop {pc} \n" + " MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory" + ); + } + + #endif /* if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS != 0 ) */ +/*-----------------------------------------------------------*/ + + #if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS != 0 ) + + void * MPU_pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery, + BaseType_t xIndex ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void * MPU_pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery, + BaseType_t xIndex ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_pvTaskGetThreadLocalStoragePointerImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv \n" + " MPU_pvTaskGetThreadLocalStoragePointer_Priv: \n" + " push {lr} \n" + " blx MPU_pvTaskGetThreadLocalStoragePointerImpl \n" + " pop {pc} \n" + " MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory" + ); + } + + #endif /* if ( configNUM_THREAD_LOCAL_STORAGE_POINTERS != 0 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TRACE_FACILITY == 1 ) + + UBaseType_t MPU_uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray, + const UBaseType_t uxArraySize, + configRUN_TIME_COUNTER_TYPE * const pulTotalRunTime ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + UBaseType_t MPU_uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray, + const UBaseType_t uxArraySize, + configRUN_TIME_COUNTER_TYPE * const pulTotalRunTime ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_uxTaskGetSystemStateImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_uxTaskGetSystemState_Unpriv \n" + " MPU_uxTaskGetSystemState_Priv: \n" + " push {lr} \n" + " blx MPU_uxTaskGetSystemStateImpl \n" + " pop {pc} \n" + " MPU_uxTaskGetSystemState_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory" + ); + } + + #endif /* if ( configUSE_TRACE_FACILITY == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( INCLUDE_uxTaskGetStackHighWaterMark == 1 ) + + UBaseType_t MPU_uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + UBaseType_t MPU_uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_uxTaskGetStackHighWaterMarkImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_uxTaskGetStackHighWaterMark_Unpriv \n" + " MPU_uxTaskGetStackHighWaterMark_Priv: \n" + " push {lr} \n" + " blx MPU_uxTaskGetStackHighWaterMarkImpl \n" + " pop {pc} \n" + " MPU_uxTaskGetStackHighWaterMark_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory" + ); + } + + #endif /* if ( INCLUDE_uxTaskGetStackHighWaterMark == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( INCLUDE_uxTaskGetStackHighWaterMark2 == 1 ) + + configSTACK_DEPTH_TYPE MPU_uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + configSTACK_DEPTH_TYPE MPU_uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_uxTaskGetStackHighWaterMark2Impl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_uxTaskGetStackHighWaterMark2_Unpriv \n" + " MPU_uxTaskGetStackHighWaterMark2_Priv: \n" + " push {lr} \n" + " blx MPU_uxTaskGetStackHighWaterMark2Impl \n" + " pop {pc} \n" + " MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory" + ); + } + + #endif /* if ( INCLUDE_uxTaskGetStackHighWaterMark2 == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( ( INCLUDE_xTaskGetCurrentTaskHandle == 1 ) || ( configUSE_MUTEXES == 1 ) ) + + TaskHandle_t MPU_xTaskGetCurrentTaskHandle( void ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + TaskHandle_t MPU_xTaskGetCurrentTaskHandle( void ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTaskGetCurrentTaskHandleImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTaskGetCurrentTaskHandle_Unpriv \n" + " MPU_xTaskGetCurrentTaskHandle_Priv: \n" + " push {lr} \n" + " blx MPU_xTaskGetCurrentTaskHandleImpl \n" + " pop {pc} \n" + " MPU_xTaskGetCurrentTaskHandle_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory" + ); + } + + #endif /* if ( ( INCLUDE_xTaskGetCurrentTaskHandle == 1 ) || ( configUSE_MUTEXES == 1 ) ) */ +/*-----------------------------------------------------------*/ + + #if ( INCLUDE_xTaskGetSchedulerState == 1 ) + + BaseType_t MPU_xTaskGetSchedulerState( void ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xTaskGetSchedulerState( void ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTaskGetSchedulerStateImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTaskGetSchedulerState_Unpriv \n" + " MPU_xTaskGetSchedulerState_Priv: \n" + " push {lr} \n" + " blx MPU_xTaskGetSchedulerStateImpl \n" + " pop {pc} \n" + " MPU_xTaskGetSchedulerState_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory" + ); + } + + #endif /* if ( INCLUDE_xTaskGetSchedulerState == 1 ) */ +/*-----------------------------------------------------------*/ + + void MPU_vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void MPU_vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_vTaskSetTimeOutStateImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_vTaskSetTimeOutState_Unpriv \n" + " MPU_vTaskSetTimeOutState_Priv: \n" + " push {lr} \n" + " blx MPU_vTaskSetTimeOutStateImpl \n" + " pop {pc} \n" + " MPU_vTaskSetTimeOutState_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + BaseType_t MPU_xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, + TickType_t * const pxTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, + TickType_t * const pxTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTaskCheckForTimeOutImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTaskCheckForTimeOut_Unpriv \n" + " MPU_xTaskCheckForTimeOut_Priv: \n" + " push {lr} \n" + " blx MPU_xTaskCheckForTimeOutImpl \n" + " pop {pc} \n" + " MPU_xTaskCheckForTimeOut_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + #if ( configUSE_TASK_NOTIFICATIONS == 1 ) + + BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTaskGenericNotifyImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTaskGenericNotify_Unpriv \n" + " MPU_xTaskGenericNotify_Priv: \n" + " push {lr} \n" + " blx MPU_xTaskGenericNotifyImpl \n" + " pop {pc} \n" + " MPU_xTaskGenericNotify_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory" + ); + } + + #endif /* if ( configUSE_TASK_NOTIFICATIONS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TASK_NOTIFICATIONS == 1 ) + + BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTaskGenericNotifyWaitImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTaskGenericNotifyWait_Unpriv \n" + " MPU_xTaskGenericNotifyWait_Priv: \n" + " push {lr} \n" + " blx MPU_xTaskGenericNotifyWaitImpl \n" + " pop {pc} \n" + " MPU_xTaskGenericNotifyWait_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory" + ); + } + + #endif /* if ( configUSE_TASK_NOTIFICATIONS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TASK_NOTIFICATIONS == 1 ) + + uint32_t MPU_ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn, + BaseType_t xClearCountOnExit, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + uint32_t MPU_ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn, + BaseType_t xClearCountOnExit, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_ulTaskGenericNotifyTakeImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_ulTaskGenericNotifyTake_Unpriv \n" + " MPU_ulTaskGenericNotifyTake_Priv: \n" + " push {lr} \n" + " blx MPU_ulTaskGenericNotifyTakeImpl \n" + " pop {pc} \n" + " MPU_ulTaskGenericNotifyTake_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory" + ); + } + + #endif /* if ( configUSE_TASK_NOTIFICATIONS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TASK_NOTIFICATIONS == 1 ) + + BaseType_t MPU_xTaskGenericNotifyStateClear( TaskHandle_t xTask, + UBaseType_t uxIndexToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xTaskGenericNotifyStateClear( TaskHandle_t xTask, + UBaseType_t uxIndexToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTaskGenericNotifyStateClearImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTaskGenericNotifyStateClear_Unpriv \n" + " MPU_xTaskGenericNotifyStateClear_Priv: \n" + " push {lr} \n" + " blx MPU_xTaskGenericNotifyStateClearImpl \n" + " pop {pc} \n" + " MPU_xTaskGenericNotifyStateClear_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory" + ); + } + + #endif /* if ( configUSE_TASK_NOTIFICATIONS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TASK_NOTIFICATIONS == 1 ) + + uint32_t MPU_ulTaskGenericNotifyValueClear( TaskHandle_t xTask, + UBaseType_t uxIndexToClear, + uint32_t ulBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + uint32_t MPU_ulTaskGenericNotifyValueClear( TaskHandle_t xTask, + UBaseType_t uxIndexToClear, + uint32_t ulBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_ulTaskGenericNotifyValueClearImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_ulTaskGenericNotifyValueClear_Unpriv \n" + " MPU_ulTaskGenericNotifyValueClear_Priv: \n" + " push {lr} \n" + " blx MPU_ulTaskGenericNotifyValueClearImpl \n" + " pop {pc} \n" + " MPU_ulTaskGenericNotifyValueClear_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory" + ); + } + + #endif /* if ( configUSE_TASK_NOTIFICATIONS == 1 ) */ +/*-----------------------------------------------------------*/ + + BaseType_t MPU_xQueueGenericSend( QueueHandle_t xQueue, + const void * const pvItemToQueue, + TickType_t xTicksToWait, + const BaseType_t xCopyPosition ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xQueueGenericSend( QueueHandle_t xQueue, + const void * const pvItemToQueue, + TickType_t xTicksToWait, + const BaseType_t xCopyPosition ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xQueueGenericSendImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xQueueGenericSend_Unpriv \n" + " MPU_xQueueGenericSend_Priv: \n" + " push {lr} \n" + " blx MPU_xQueueGenericSendImpl \n" + " pop {pc} \n" + " MPU_xQueueGenericSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + UBaseType_t MPU_uxQueueMessagesWaiting( const QueueHandle_t xQueue ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + UBaseType_t MPU_uxQueueMessagesWaiting( const QueueHandle_t xQueue ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_uxQueueMessagesWaitingImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_uxQueueMessagesWaiting_Unpriv \n" + " MPU_uxQueueMessagesWaiting_Priv: \n" + " push {lr} \n" + " blx MPU_uxQueueMessagesWaitingImpl \n" + " pop {pc} \n" + " MPU_uxQueueMessagesWaiting_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + UBaseType_t MPU_uxQueueSpacesAvailable( const QueueHandle_t xQueue ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + UBaseType_t MPU_uxQueueSpacesAvailable( const QueueHandle_t xQueue ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_uxQueueSpacesAvailableImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_uxQueueSpacesAvailable_Unpriv \n" + " MPU_uxQueueSpacesAvailable_Priv: \n" + " push {lr} \n" + " blx MPU_uxQueueSpacesAvailableImpl \n" + " pop {pc} \n" + " MPU_uxQueueSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + BaseType_t MPU_xQueueReceive( QueueHandle_t xQueue, + void * const pvBuffer, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xQueueReceive( QueueHandle_t xQueue, + void * const pvBuffer, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xQueueReceiveImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xQueueReceive_Unpriv \n" + " MPU_xQueueReceive_Priv: \n" + " push {lr} \n" + " blx MPU_xQueueReceiveImpl \n" + " pop {pc} \n" + " MPU_xQueueReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + BaseType_t MPU_xQueuePeek( QueueHandle_t xQueue, + void * const pvBuffer, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xQueuePeek( QueueHandle_t xQueue, + void * const pvBuffer, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xQueuePeekImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xQueuePeek_Unpriv \n" + " MPU_xQueuePeek_Priv: \n" + " push {lr} \n" + " blx MPU_xQueuePeekImpl \n" + " pop {pc} \n" + " MPU_xQueuePeek_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + BaseType_t MPU_xQueueSemaphoreTake( QueueHandle_t xQueue, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xQueueSemaphoreTake( QueueHandle_t xQueue, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xQueueSemaphoreTakeImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xQueueSemaphoreTake_Unpriv \n" + " MPU_xQueueSemaphoreTake_Priv: \n" + " push {lr} \n" + " blx MPU_xQueueSemaphoreTakeImpl \n" + " pop {pc} \n" + " MPU_xQueueSemaphoreTake_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + #if ( ( configUSE_MUTEXES == 1 ) && ( INCLUDE_xSemaphoreGetMutexHolder == 1 ) ) + + TaskHandle_t MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + TaskHandle_t MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xQueueGetMutexHolderImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xQueueGetMutexHolder_Unpriv \n" + " MPU_xQueueGetMutexHolder_Priv: \n" + " push {lr} \n" + " blx MPU_xQueueGetMutexHolderImpl \n" + " pop {pc} \n" + " MPU_xQueueGetMutexHolder_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory" + ); + } + + #endif /* if ( ( configUSE_MUTEXES == 1 ) && ( INCLUDE_xSemaphoreGetMutexHolder == 1 ) ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_RECURSIVE_MUTEXES == 1 ) + + BaseType_t MPU_xQueueTakeMutexRecursive( QueueHandle_t xMutex, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xQueueTakeMutexRecursive( QueueHandle_t xMutex, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xQueueTakeMutexRecursiveImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xQueueTakeMutexRecursive_Unpriv \n" + " MPU_xQueueTakeMutexRecursive_Priv: \n" + " push {lr} \n" + " blx MPU_xQueueTakeMutexRecursiveImpl \n" + " pop {pc} \n" + " MPU_xQueueTakeMutexRecursive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory" + ); + } + + #endif /* if ( configUSE_RECURSIVE_MUTEXES == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_RECURSIVE_MUTEXES == 1 ) + + BaseType_t MPU_xQueueGiveMutexRecursive( QueueHandle_t pxMutex ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xQueueGiveMutexRecursive( QueueHandle_t pxMutex ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xQueueGiveMutexRecursiveImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xQueueGiveMutexRecursive_Unpriv \n" + " MPU_xQueueGiveMutexRecursive_Priv: \n" + " push {lr} \n" + " blx MPU_xQueueGiveMutexRecursiveImpl \n" + " pop {pc} \n" + " MPU_xQueueGiveMutexRecursive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory" + ); + } + + #endif /* if ( configUSE_RECURSIVE_MUTEXES == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_QUEUE_SETS == 1 ) + + QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet, + const TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet, + const TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xQueueSelectFromSetImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xQueueSelectFromSet_Unpriv \n" + " MPU_xQueueSelectFromSet_Priv: \n" + " push {lr} \n" + " blx MPU_xQueueSelectFromSetImpl \n" + " pop {pc} \n" + " MPU_xQueueSelectFromSet_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory" + ); + } + + #endif /* if ( configUSE_QUEUE_SETS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_QUEUE_SETS == 1 ) + + BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, + QueueSetHandle_t xQueueSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore, + QueueSetHandle_t xQueueSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xQueueAddToSetImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xQueueAddToSet_Unpriv \n" + " MPU_xQueueAddToSet_Priv: \n" + " push {lr} \n" + " blx MPU_xQueueAddToSetImpl \n" + " pop {pc} \n" + " MPU_xQueueAddToSet_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory" + ); + } + + #endif /* if ( configUSE_QUEUE_SETS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configQUEUE_REGISTRY_SIZE > 0 ) + + void MPU_vQueueAddToRegistry( QueueHandle_t xQueue, + const char * pcName ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void MPU_vQueueAddToRegistry( QueueHandle_t xQueue, + const char * pcName ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_vQueueAddToRegistryImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_vQueueAddToRegistry_Unpriv \n" + " MPU_vQueueAddToRegistry_Priv: \n" + " push {lr} \n" + " blx MPU_vQueueAddToRegistryImpl \n" + " pop {pc} \n" + " MPU_vQueueAddToRegistry_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory" + ); + } + + #endif /* if ( configQUEUE_REGISTRY_SIZE > 0 ) */ +/*-----------------------------------------------------------*/ + + #if ( configQUEUE_REGISTRY_SIZE > 0 ) + + void MPU_vQueueUnregisterQueue( QueueHandle_t xQueue ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void MPU_vQueueUnregisterQueue( QueueHandle_t xQueue ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_vQueueUnregisterQueueImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_vQueueUnregisterQueue_Unpriv \n" + " MPU_vQueueUnregisterQueue_Priv: \n" + " push {lr} \n" + " blx MPU_vQueueUnregisterQueueImpl \n" + " pop {pc} \n" + " MPU_vQueueUnregisterQueue_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory" + ); + } + + #endif /* if ( configQUEUE_REGISTRY_SIZE > 0 ) */ +/*-----------------------------------------------------------*/ + + #if ( configQUEUE_REGISTRY_SIZE > 0 ) + + const char * MPU_pcQueueGetName( QueueHandle_t xQueue ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + const char * MPU_pcQueueGetName( QueueHandle_t xQueue ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_pcQueueGetNameImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_pcQueueGetName_Unpriv \n" + " MPU_pcQueueGetName_Priv: \n" + " push {lr} \n" + " blx MPU_pcQueueGetNameImpl \n" + " pop {pc} \n" + " MPU_pcQueueGetName_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory" + ); + } + + #endif /* if ( configQUEUE_REGISTRY_SIZE > 0 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TIMERS == 1 ) + + void * MPU_pvTimerGetTimerID( const TimerHandle_t xTimer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void * MPU_pvTimerGetTimerID( const TimerHandle_t xTimer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_pvTimerGetTimerIDImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_pvTimerGetTimerID_Unpriv \n" + " MPU_pvTimerGetTimerID_Priv: \n" + " push {lr} \n" + " blx MPU_pvTimerGetTimerIDImpl \n" + " pop {pc} \n" + " MPU_pvTimerGetTimerID_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory" + ); + } + + #endif /* if ( configUSE_TIMERS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TIMERS == 1 ) + + void MPU_vTimerSetTimerID( TimerHandle_t xTimer, + void * pvNewID ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void MPU_vTimerSetTimerID( TimerHandle_t xTimer, + void * pvNewID ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_vTimerSetTimerIDImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_vTimerSetTimerID_Unpriv \n" + " MPU_vTimerSetTimerID_Priv: \n" + " push {lr} \n" + " blx MPU_vTimerSetTimerIDImpl \n" + " pop {pc} \n" + " MPU_vTimerSetTimerID_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory" + ); + } + + #endif /* if ( configUSE_TIMERS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TIMERS == 1 ) + + BaseType_t MPU_xTimerIsTimerActive( TimerHandle_t xTimer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xTimerIsTimerActive( TimerHandle_t xTimer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTimerIsTimerActiveImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTimerIsTimerActive_Unpriv \n" + " MPU_xTimerIsTimerActive_Priv: \n" + " push {lr} \n" + " blx MPU_xTimerIsTimerActiveImpl \n" + " pop {pc} \n" + " MPU_xTimerIsTimerActive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory" + ); + } + + #endif /* if ( configUSE_TIMERS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TIMERS == 1 ) + + TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTimerGetTimerDaemonTaskHandleImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv \n" + " MPU_xTimerGetTimerDaemonTaskHandle_Priv: \n" + " push {lr} \n" + " blx MPU_xTimerGetTimerDaemonTaskHandleImpl \n" + " pop {pc} \n" + " MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory" + ); + } + + #endif /* if ( configUSE_TIMERS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TIMERS == 1 ) + + BaseType_t MPU_xTimerGenericCommandFromTaskEntry( const xTimerGenericCommandFromTaskParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xTimerGenericCommandFromTaskEntry( const xTimerGenericCommandFromTaskParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTimerGenericCommandFromTaskImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTimerGenericCommandFromTask_Unpriv \n" + " MPU_xTimerGenericCommandFromTask_Priv: \n" + " push {lr} \n" + " blx MPU_xTimerGenericCommandFromTaskImpl \n" + " pop {pc} \n" + " MPU_xTimerGenericCommandFromTask_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTimerGenericCommandFromTask ) : "memory" + ); + } + + #endif /* if ( configUSE_TIMERS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TIMERS == 1 ) + + const char * MPU_pcTimerGetName( TimerHandle_t xTimer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + const char * MPU_pcTimerGetName( TimerHandle_t xTimer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_pcTimerGetNameImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_pcTimerGetName_Unpriv \n" + " MPU_pcTimerGetName_Priv: \n" + " push {lr} \n" + " blx MPU_pcTimerGetNameImpl \n" + " pop {pc} \n" + " MPU_pcTimerGetName_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory" + ); + } + + #endif /* if ( configUSE_TIMERS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TIMERS == 1 ) + + void MPU_vTimerSetReloadMode( TimerHandle_t xTimer, + const BaseType_t uxAutoReload ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void MPU_vTimerSetReloadMode( TimerHandle_t xTimer, + const BaseType_t uxAutoReload ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_vTimerSetReloadModeImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_vTimerSetReloadMode_Unpriv \n" + " MPU_vTimerSetReloadMode_Priv: \n" + " push {lr} \n" + " blx MPU_vTimerSetReloadModeImpl \n" + " pop {pc} \n" + " MPU_vTimerSetReloadMode_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory" + ); + } + + #endif /* if ( configUSE_TIMERS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TIMERS == 1 ) + + BaseType_t MPU_xTimerGetReloadMode( TimerHandle_t xTimer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xTimerGetReloadMode( TimerHandle_t xTimer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTimerGetReloadModeImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTimerGetReloadMode_Unpriv \n" + " MPU_xTimerGetReloadMode_Priv: \n" + " push {lr} \n" + " blx MPU_xTimerGetReloadModeImpl \n" + " pop {pc} \n" + " MPU_xTimerGetReloadMode_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory" + ); + } + + #endif /* if ( configUSE_TIMERS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TIMERS == 1 ) + + UBaseType_t MPU_uxTimerGetReloadMode( TimerHandle_t xTimer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + UBaseType_t MPU_uxTimerGetReloadMode( TimerHandle_t xTimer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_uxTimerGetReloadModeImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_uxTimerGetReloadMode_Unpriv \n" + " MPU_uxTimerGetReloadMode_Priv: \n" + " push {lr} \n" + " blx MPU_uxTimerGetReloadModeImpl \n" + " pop {pc} \n" + " MPU_uxTimerGetReloadMode_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory" + ); + } + + #endif /* if ( configUSE_TIMERS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TIMERS == 1 ) + + TickType_t MPU_xTimerGetPeriod( TimerHandle_t xTimer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + TickType_t MPU_xTimerGetPeriod( TimerHandle_t xTimer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTimerGetPeriodImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTimerGetPeriod_Unpriv \n" + " MPU_xTimerGetPeriod_Priv: \n" + " push {lr} \n" + " blx MPU_xTimerGetPeriodImpl \n" + " pop {pc} \n" + " MPU_xTimerGetPeriod_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory" + ); + } + + #endif /* if ( configUSE_TIMERS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TIMERS == 1 ) + + TickType_t MPU_xTimerGetExpiryTime( TimerHandle_t xTimer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + TickType_t MPU_xTimerGetExpiryTime( TimerHandle_t xTimer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xTimerGetExpiryTimeImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xTimerGetExpiryTime_Unpriv \n" + " MPU_xTimerGetExpiryTime_Priv: \n" + " push {lr} \n" + " blx MPU_xTimerGetExpiryTimeImpl \n" + " pop {pc} \n" + " MPU_xTimerGetExpiryTime_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory" + ); + } + + #endif /* if ( configUSE_TIMERS == 1 ) */ +/*-----------------------------------------------------------*/ + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " push {lr} \n" + " blx MPU_xEventGroupWaitBitsImpl \n" + " pop {pc} \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " push {lr} \n" + " blx MPU_xEventGroupClearBitsImpl \n" + " pop {pc} \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " push {lr} \n" + " blx MPU_xEventGroupSetBitsImpl \n" + " pop {pc} \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " push {lr} \n" + " blx MPU_xEventGroupSyncImpl \n" + " pop {pc} \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + #if ( configUSE_TRACE_FACILITY == 1 ) + + UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_uxEventGroupGetNumberImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_uxEventGroupGetNumber_Unpriv \n" + " MPU_uxEventGroupGetNumber_Priv: \n" + " push {lr} \n" + " blx MPU_uxEventGroupGetNumberImpl \n" + " pop {pc} \n" + " MPU_uxEventGroupGetNumber_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory" + ); + } + + #endif /*( configUSE_TRACE_FACILITY == 1 )*/ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TRACE_FACILITY == 1 ) + + void MPU_vEventGroupSetNumber( void * xEventGroup, + UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + void MPU_vEventGroupSetNumber( void * xEventGroup, + UBaseType_t uxEventGroupNumber ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_vEventGroupSetNumberImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_vEventGroupSetNumber_Unpriv \n" + " MPU_vEventGroupSetNumber_Priv: \n" + " push {lr} \n" + " blx MPU_vEventGroupSetNumberImpl \n" + " pop {pc} \n" + " MPU_vEventGroupSetNumber_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory" + ); + } + + #endif /*( configUSE_TRACE_FACILITY == 1 )*/ +/*-----------------------------------------------------------*/ + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " push {lr} \n" + " blx MPU_xStreamBufferSendImpl \n" + " pop {pc} \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " push {lr} \n" + " blx MPU_xStreamBufferReceiveImpl \n" + " pop {pc} \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " push {lr} \n" + " blx MPU_xStreamBufferIsFullImpl \n" + " pop {pc} \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " push {lr} \n" + " blx MPU_xStreamBufferIsEmptyImpl \n" + " pop {pc} \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " push {lr} \n" + " blx MPU_xStreamBufferSpacesAvailableImpl \n" + " pop {pc} \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " push {lr} \n" + " blx MPU_xStreamBufferBytesAvailableImpl \n" + " pop {pc} \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " push {lr} \n" + " blx MPU_xStreamBufferSetTriggerLevelImpl \n" + " pop {pc} \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " push {lr} \n" + " blx MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " pop {pc} \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } +/*-----------------------------------------------------------*/ + +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/GCC/ARM_CM0/port.c b/portable/GCC/ARM_CM0/port.c index 41b14fa3b..4ee1d9494 100644 --- a/portable/GCC/ARM_CM0/port.c +++ b/portable/GCC/ARM_CM0/port.c @@ -26,54 +26,195 @@ * */ -/*----------------------------------------------------------- -* Implementation of functions defined in portable.h for the ARM CM0 port. -*----------------------------------------------------------*/ +/* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE prevents task.h from redefining + * all the API functions to use the MPU wrappers. That should only be done when + * task.h is included from an application file. */ +#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE /* Scheduler includes. */ #include "FreeRTOS.h" #include "task.h" -/* Prototype of all Interrupt Service Routines (ISRs). */ +/* MPU includes. */ +#include "mpu_wrappers.h" +#include "mpu_syscall_numbers.h" + +/* Portasm includes. */ +#include "portasm.h" + +#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE + +/*-----------------------------------------------------------*/ + +/** + * @brief Prototype of all Interrupt Service Routines (ISRs). + */ typedef void ( * portISR_t )( void ); -/* Constants required to manipulate the NVIC. */ +/*-----------------------------------------------------------*/ + +/** + * @brief Constants required to manipulate the NVIC. + */ #define portNVIC_SYSTICK_CTRL_REG ( *( ( volatile uint32_t * ) 0xe000e010 ) ) #define portNVIC_SYSTICK_LOAD_REG ( *( ( volatile uint32_t * ) 0xe000e014 ) ) #define portNVIC_SYSTICK_CURRENT_VALUE_REG ( *( ( volatile uint32_t * ) 0xe000e018 ) ) -#define portNVIC_INT_CTRL_REG ( *( ( volatile uint32_t * ) 0xe000ed04 ) ) #define portNVIC_SHPR3_REG ( *( ( volatile uint32_t * ) 0xe000ed20 ) ) -#define portNVIC_SYSTICK_CLK_BIT ( 1UL << 2UL ) -#define portNVIC_SYSTICK_INT_BIT ( 1UL << 1UL ) +#define portNVIC_SHPR2_REG ( *( ( volatile uint32_t * ) 0xe000ed1c ) ) #define portNVIC_SYSTICK_ENABLE_BIT ( 1UL << 0UL ) +#define portNVIC_SYSTICK_INT_BIT ( 1UL << 1UL ) +#define portNVIC_SYSTICK_CLK_BIT ( 1UL << 2UL ) #define portNVIC_SYSTICK_COUNT_FLAG_BIT ( 1UL << 16UL ) -#define portNVIC_PENDSVSET_BIT ( 1UL << 28UL ) -#define portNVIC_PEND_SYSTICK_SET_BIT ( 1UL << 26UL ) #define portNVIC_PEND_SYSTICK_CLEAR_BIT ( 1UL << 25UL ) +#define portNVIC_PEND_SYSTICK_SET_BIT ( 1UL << 26UL ) #define portMIN_INTERRUPT_PRIORITY ( 255UL ) #define portNVIC_PENDSV_PRI ( portMIN_INTERRUPT_PRIORITY << 16UL ) #define portNVIC_SYSTICK_PRI ( portMIN_INTERRUPT_PRIORITY << 24UL ) -/* Constants used to check the installation of the FreeRTOS interrupt handlers. */ +/*-----------------------------------------------------------*/ + +/** + * @brief Constants required to manipulate the SCB. + */ #define portSCB_VTOR_REG ( *( ( portISR_t ** ) 0xe000ed08 ) ) -#define portVECTOR_INDEX_PENDSV ( 14 ) +#define portSCB_SYS_HANDLER_CTRL_STATE_REG ( *( ( volatile uint32_t * ) 0xe000ed24 ) ) +#define portSCB_MEM_FAULT_ENABLE_BIT ( 1UL << 16UL ) -/* Constants required to set up the initial stack. */ -#define portINITIAL_XPSR ( 0x01000000 ) +/*-----------------------------------------------------------*/ -/* The systick is a 24-bit counter. */ -#define portMAX_24_BIT_NUMBER ( 0xffffffUL ) +/** + * @brief Constants used to check the installation of the FreeRTOS interrupt handlers. + */ +#define portVECTOR_INDEX_SVC ( 11 ) +#define portVECTOR_INDEX_PENDSV ( 14 ) -/* A fiddle factor to estimate the number of SysTick counts that would have - * occurred while the SysTick counter is stopped during tickless idle - * calculations. */ -#ifndef portMISSED_COUNTS_FACTOR - #define portMISSED_COUNTS_FACTOR ( 94UL ) -#endif +/*-----------------------------------------------------------*/ -/* Let the user override the default SysTick clock rate. If defined by the +/** + * @brief Constants used during system call enter and exit. + */ +#define portPSR_STACK_PADDING_MASK ( 1UL << 9UL ) +#define portEXC_RETURN_STACK_FRAME_TYPE_MASK ( 1UL << 4UL ) + +/*-----------------------------------------------------------*/ + +/** + * @brief Offsets in the stack to the parameters when inside the SVC handler. + */ +#define portOFFSET_TO_LR ( 5 ) +#define portOFFSET_TO_PC ( 6 ) +#define portOFFSET_TO_PSR ( 7 ) + +/*-----------------------------------------------------------*/ + +/** + * @brief Constants required to manipulate the MPU. + */ +#define portMPU_TYPE_REG ( *( ( volatile uint32_t * ) 0xe000ed90 ) ) +#define portMPU_CTRL_REG ( *( ( volatile uint32_t * ) 0xe000ed94 ) ) + +#define portMPU_RBAR_REG ( *( ( volatile uint32_t * ) 0xe000ed9c ) ) +#define portMPU_RASR_REG ( *( ( volatile uint32_t * ) 0xe000eda0 ) ) + +/* MPU Region Attribute and Size Register (RASR) bitmasks. */ +#define portMPU_RASR_AP_BITMASK ( 0x7UL << 24UL ) +#define portMPU_RASR_S_C_B_BITMASK ( 0x7UL ) +#define portMPU_RASR_S_C_B_LOCATION ( 16UL ) +#define portMPU_RASR_SIZE_BITMASK ( 0x1FUL << 1UL ) +#define portMPU_RASR_REGION_ENABLE_BITMASK ( 0x1UL ) + +/* MPU Region Base Address Register (RBAR) bitmasks. */ +#define portMPU_RBAR_ADDRESS_BITMASK ( 0xFFFFFF00UL ) +#define portMPU_RBAR_REGION_NUMBER_VALID_BITMASK ( 0x1UL << 4UL ) +#define portMPU_RBAR_REGION_NUMBER_BITMASK ( 0x0000000FUL ) + +/* MPU Control Register (MPU_CTRL) bitmasks. */ +#define portMPU_CTRL_ENABLE_BITMASK ( 0x1UL ) +#define portMPU_CTRL_PRIV_BACKGROUND_ENABLE_BITMASK ( 0x1UL << 2UL ) /* PRIVDEFENA bit. */ + +/* Expected value of the portMPU_TYPE register. */ +#define portEXPECTED_MPU_TYPE_VALUE ( 0x8UL << 8UL ) /* 8 DREGION unified. */ + +/* Extract first address of the MPU region as encoded in the + * RBAR (Region Base Address Register) value. */ +#define portEXTRACT_FIRST_ADDRESS_FROM_RBAR( rbar ) \ + ( ( rbar ) & portMPU_RBAR_ADDRESS_BITMASK ) + +/* Extract size of the MPU region as encoded in the + * RASR (Region Attribute and Size Register) value. */ +#define portEXTRACT_REGION_SIZE_FROM_RASR( rasr ) \ + ( 1 << ( ( ( ( rasr ) & portMPU_RASR_SIZE_BITMASK ) >> 1 )+ 1 ) ) + +/* Does addr lies within [start, end] address range? */ +#define portIS_ADDRESS_WITHIN_RANGE( addr, start, end ) \ + ( ( ( addr ) >= ( start ) ) && ( ( addr ) <= ( end ) ) ) + +/* Is the access request satisfied by the available permissions? */ +#define portIS_AUTHORIZED( accessRequest, permissions ) \ + ( ( ( permissions ) & ( accessRequest ) ) == accessRequest ) + +/* Max value that fits in a uint32_t type. */ +#define portUINT32_MAX ( ~( ( uint32_t ) 0 ) ) + +/* Check if adding a and b will result in overflow. */ +#define portADD_UINT32_WILL_OVERFLOW( a, b ) ( ( a ) > ( portUINT32_MAX - ( b ) ) ) + +/*-----------------------------------------------------------*/ + +/** + * @brief The maximum 24-bit number. + * + * It is needed because the systick is a 24-bit counter. + */ +#define portMAX_24_BIT_NUMBER ( 0xffffffUL ) + +/** + * @brief A fiddle factor to estimate the number of SysTick counts that would + * have occurred while the SysTick counter is stopped during tickless idle + * calculations. + */ +#define portMISSED_COUNTS_FACTOR ( 94UL ) + +/*-----------------------------------------------------------*/ + +/** + * @brief Constants required to set up the initial stack. + */ +#define portINITIAL_XPSR ( 0x01000000 ) + +/** + * @brief Initial EXC_RETURN value. + * + * FF FF FF FD + * 1111 1111 1111 1111 1111 1111 1111 1101 + * + * Bit[3] - 1 --> Return to the Thread mode. + * Bit[2] - 1 --> Restore registers from the process stack. + * Bit[1] - 0 --> Reserved, 0. + * Bit[0] - 0 --> Reserved, 1. + */ +#define portINITIAL_EXC_RETURN ( 0xfffffffdUL ) + +/** + * @brief CONTROL register privileged bit mask. + * + * Bit[0] in CONTROL register tells the privilege: + * Bit[0] = 0 ==> The task is privileged. + * Bit[0] = 1 ==> The task is not privileged. + */ +#define portCONTROL_PRIVILEGED_MASK ( 1UL << 0UL ) + +/** + * @brief Initial CONTROL register values. + */ +#define portINITIAL_CONTROL_UNPRIVILEGED ( 0x3 ) +#define portINITIAL_CONTROL_PRIVILEGED ( 0x2 ) + +/** + * @brief Let the user override the default SysTick clock rate. If defined by the * user, this symbol must equal the SysTick clock rate when the CLK bit is 0 in the - * configuration register. */ + * configuration register. + */ #ifndef configSYSTICK_CLOCK_HZ #define configSYSTICK_CLOCK_HZ ( configCPU_CLOCK_HZ ) /* Ensure the SysTick is clocked at the same frequency as the core. */ @@ -83,381 +224,169 @@ typedef void ( * portISR_t )( void ); #define portNVIC_SYSTICK_CLK_BIT_CONFIG ( 0 ) #endif -/* Let the user override the pre-loading of the initial LR with the address of - * prvTaskExitError() in case it messes up unwinding of the stack in the - * debugger. */ +/** + * @brief Let the user override the pre-loading of the initial LR with the + * address of prvTaskExitError() in case it messes up unwinding of the stack + * in the debugger. + */ #ifdef configTASK_RETURN_ADDRESS #define portTASK_RETURN_ADDRESS configTASK_RETURN_ADDRESS #else #define portTASK_RETURN_ADDRESS prvTaskExitError #endif -/* - * Setup the timer to generate the tick interrupts. The implementation in this - * file is weak to allow application writers to change the timer used to - * generate the tick interrupt. +/** + * @brief If portPRELOAD_REGISTERS then registers will be given an initial value + * when a task is created. This helps in debugging at the cost of code size. */ -void vPortSetupTimerInterrupt( void ); +#define portPRELOAD_REGISTERS 1 -/* - * Exception handlers. - */ -void xPortPendSVHandler( void ) __attribute__( ( naked ) ); -void xPortSysTickHandler( void ); -void vPortSVCHandler( void ); +/*-----------------------------------------------------------*/ -/* - * Start first task is a separate function so it can be tested in isolation. - */ -static void vPortStartFirstTask( void ) __attribute__( ( naked ) ); - -/* - * Used to catch tasks that attempt to return from their implementing function. +/** + * @brief Used to catch tasks that attempt to return from their implementing + * function. */ static void prvTaskExitError( void ); -/*-----------------------------------------------------------*/ +#if ( configENABLE_MPU == 1 ) -/* Each task maintains its own interrupt status in the critical nesting - * variable. */ -static UBaseType_t uxCriticalNesting = 0xaaaaaaaa; + /** + * @brief Setup the Memory Protection Unit (MPU). + */ + static void prvSetupMPU( void ) PRIVILEGED_FUNCTION; -/*-----------------------------------------------------------*/ +#endif /* configENABLE_MPU */ -/* - * The number of SysTick increments that make up one tick period. +/** + * @brief Setup the timer to generate the tick interrupts. + * + * The implementation in this file is weak to allow application writers to + * change the timer used to generate the tick interrupt. */ -#if ( configUSE_TICKLESS_IDLE == 1 ) - static uint32_t ulTimerCountsForOneTick = 0; -#endif /* configUSE_TICKLESS_IDLE */ +void vPortSetupTimerInterrupt( void ) PRIVILEGED_FUNCTION; -/* - * The maximum number of tick periods that can be suppressed is limited by the - * 24 bit resolution of the SysTick timer. +/** + * @brief Checks whether the current execution context is interrupt. + * + * @return pdTRUE if the current execution context is interrupt, pdFALSE + * otherwise. */ -#if ( configUSE_TICKLESS_IDLE == 1 ) - static uint32_t xMaximumPossibleSuppressedTicks = 0; -#endif /* configUSE_TICKLESS_IDLE */ +BaseType_t xPortIsInsideInterrupt( void ); -/* - * Compensate for the CPU cycles that pass while the SysTick is stopped (low - * power functionality only. +/** + * @brief Yield the processor. */ -#if ( configUSE_TICKLESS_IDLE == 1 ) - static uint32_t ulStoppedTimerCompensation = 0; -#endif /* configUSE_TICKLESS_IDLE */ +void vPortYield( void ) PRIVILEGED_FUNCTION; -/*-----------------------------------------------------------*/ - -/* - * See header file for description. +/** + * @brief Enter critical section. */ -StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, - TaskFunction_t pxCode, - void * pvParameters ) -{ - /* Simulate the stack frame as it would be created by a context switch - * interrupt. */ - pxTopOfStack--; /* Offset added to account for the way the MCU uses the stack on entry/exit of interrupts. */ - *pxTopOfStack = portINITIAL_XPSR; /* xPSR */ - pxTopOfStack--; - *pxTopOfStack = ( StackType_t ) pxCode; /* PC */ - pxTopOfStack--; - *pxTopOfStack = ( StackType_t ) portTASK_RETURN_ADDRESS; /* LR */ - pxTopOfStack -= 5; /* R12, R3, R2 and R1. */ - *pxTopOfStack = ( StackType_t ) pvParameters; /* R0 */ - pxTopOfStack -= 8; /* R11..R4. */ +void vPortEnterCritical( void ) PRIVILEGED_FUNCTION; - return pxTopOfStack; -} -/*-----------------------------------------------------------*/ +/** + * @brief Exit from critical section. + */ +void vPortExitCritical( void ) PRIVILEGED_FUNCTION; -static void prvTaskExitError( void ) -{ - volatile uint32_t ulDummy = 0UL; +/** + * @brief SysTick handler. + */ +void SysTick_Handler( void ) PRIVILEGED_FUNCTION; - /* A function that implements a task must not exit or attempt to return to - * its caller as there is nothing to return to. If a task wants to exit it - * should instead call vTaskDelete( NULL ). +/** + * @brief C part of SVC handler. + */ +portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIVILEGED_FUNCTION; + +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + + /** + * @brief Sets up the system call stack so that upon returning from + * SVC, the system call stack is used. * - * Artificially force an assert() to be triggered if configASSERT() is - * defined, then stop here so application writers can catch the error. */ - configASSERT( uxCriticalNesting == ~0UL ); - portDISABLE_INTERRUPTS(); + * @param pulTaskStack The current SP when the SVC was raised. + * @param ulLR The value of Link Register (EXC_RETURN) in the SVC handler. + * @param ucSystemCallNumber The system call number of the system call. + */ + void vSystemCallEnter( uint32_t * pulTaskStack, + uint32_t ulLR, + uint8_t ucSystemCallNumber ) PRIVILEGED_FUNCTION; - while( ulDummy == 0 ) - { - /* This file calls prvTaskExitError() after the scheduler has been - * started to remove a compiler warning about the function being defined - * but never called. ulDummy is used purely to quieten other warnings - * about code appearing after this function is called - making ulDummy - * volatile makes the compiler think the function could return and - * therefore not output an 'unreachable code' warning for code that appears - * after it. */ - } -} -/*-----------------------------------------------------------*/ +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ -void vPortSVCHandler( void ) -{ - /* This function is no longer used, but retained for backward - * compatibility. */ -} -/*-----------------------------------------------------------*/ +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) -void vPortStartFirstTask( void ) -{ - /* Don't reset the MSP stack as is done on CM3/4 devices. The vector table - * in some CM0 devices cannot be modified and thus may not hold the - * application's initial MSP value. */ - __asm volatile ( - " .syntax unified \n" - " ldr r2, pxCurrentTCBConst2 \n" /* Obtain location of pxCurrentTCB. */ - " ldr r3, [r2] \n" - " ldr r0, [r3] \n" /* The first item in pxCurrentTCB is the task top of stack. */ - " adds r0, #32 \n" /* Discard everything up to r0. */ - " msr psp, r0 \n" /* This is now the new top of stack to use in the task. */ - " movs r0, #2 \n" /* Switch to the psp stack. */ - " msr CONTROL, r0 \n" - " isb \n" - " pop {r0-r5} \n" /* Pop the registers that are saved automatically. */ - " mov lr, r5 \n" /* lr is now in r5. */ - " pop {r3} \n" /* Return address is now in r3. */ - " pop {r2} \n" /* Pop and discard XPSR. */ - " cpsie i \n" /* The first task has its context and interrupts can be enabled. */ - " bx r3 \n" /* Finally, jump to the user defined task code. */ - " \n" - " .align 4 \n" - "pxCurrentTCBConst2: .word pxCurrentTCB " - ); -} -/*-----------------------------------------------------------*/ + /** + * @brief Raise SVC for exiting from a system call. + */ + void vRequestSystemCallExit( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION; -/* - * See header file for description. - */ -BaseType_t xPortStartScheduler( void ) -{ - /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: - * 1. Direct Routing - Install the function xPortPendSVHandler for PendSV - * interrupt. - * 2. Indirect Routing - Install separate handler for PendSV interrupt and - * route program control from that handler to xPortPendSVHandler function. +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ + +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + + /** + * @brief Sets up the task stack so that upon returning from + * SVC, the task stack is used again. * - * Applications that use Indirect Routing must set - * configCHECK_HANDLER_INSTALLATION to 0 in their FreeRTOSConfig.h. Direct - * routing, which is validated here when configCHECK_HANDLER_INSTALLATION - * is 1, should be preferred when possible. */ - #if ( configCHECK_HANDLER_INSTALLATION == 1 ) - { - /* Point pxVectorTable to the interrupt vector table. Systems without - * a VTOR register provide the value zero in the VTOR register and - * the vector table itself is located at the address 0x00000000. */ - const portISR_t * const pxVectorTable = portSCB_VTOR_REG; + * @param pulSystemCallStack The current SP when the SVC was raised. + * @param ulLR The value of Link Register (EXC_RETURN) in the SVC handler. + */ + void vSystemCallExit( uint32_t * pulSystemCallStack, + uint32_t ulLR ) PRIVILEGED_FUNCTION; - /* Validate that the application has correctly installed the FreeRTOS - * handler for PendSV interrupt. We do not check the installation of the - * SysTick handler because the application may choose to drive the RTOS - * tick using a timer other than the SysTick timer by overriding the - * weak function vPortSetupTimerInterrupt(). - * - * Assertion failures here indicate incorrect installation of the - * FreeRTOS handler. For help installing the FreeRTOS handler, see - * https://www.FreeRTOS.org/FAQHelp.html. - * - * Systems with a configurable address for the interrupt vector table - * can also encounter assertion failures or even system faults here if - * VTOR is not set correctly to point to the application's vector table. */ - configASSERT( pxVectorTable[ portVECTOR_INDEX_PENDSV ] == xPortPendSVHandler ); - } - #endif /* configCHECK_HANDLER_INSTALLATION */ +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ - /* Make PendSV and SysTick the lowest priority interrupts. */ - portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI; - portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI; +#if ( configENABLE_MPU == 1 ) - /* Start the timer that generates the tick ISR. Interrupts are disabled - * here already. */ - vPortSetupTimerInterrupt(); + /** + * @brief Checks whether or not the calling task is privileged. + * + * @return pdTRUE if the calling task is privileged, pdFALSE otherwise. + */ + BaseType_t xPortIsTaskPrivileged( void ) PRIVILEGED_FUNCTION; - /* Initialise the critical nesting count ready for the first task. */ - uxCriticalNesting = 0; +#endif /* configENABLE_MPU == 1 */ - /* Start the first task. */ - vPortStartFirstTask(); - - /* Should never get here as the tasks will now be executing! Call the task - * exit error function to prevent compiler warnings about a static function - * not being called in the case that the application writer overrides this - * functionality by defining configTASK_RETURN_ADDRESS. Call - * vTaskSwitchContext() so link time optimisation does not remove the - * symbol. */ - vTaskSwitchContext(); - prvTaskExitError(); - - /* Should not get here! */ - return 0; -} /*-----------------------------------------------------------*/ -void vPortEndScheduler( void ) -{ - /* Not implemented in ports where there is nothing to return to. - * Artificially force an assert. */ - configASSERT( uxCriticalNesting == 1000UL ); -} -/*-----------------------------------------------------------*/ +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) -void vPortYield( void ) -{ - /* Set a PendSV to request a context switch. */ - portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; + /** + * @brief This variable is set to pdTRUE when the scheduler is started. + */ + PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; - /* Barriers are normally not required but do ensure the code is completely - * within the specified behaviour for the architecture. */ - __asm volatile ( "dsb" ::: "memory" ); - __asm volatile ( "isb" ); -} -/*-----------------------------------------------------------*/ +#endif -void vPortEnterCritical( void ) -{ - portDISABLE_INTERRUPTS(); - uxCriticalNesting++; - __asm volatile ( "dsb" ::: "memory" ); - __asm volatile ( "isb" ); -} -/*-----------------------------------------------------------*/ - -void vPortExitCritical( void ) -{ - configASSERT( uxCriticalNesting ); - uxCriticalNesting--; - - if( uxCriticalNesting == 0 ) - { - portENABLE_INTERRUPTS(); - } -} -/*-----------------------------------------------------------*/ - -uint32_t ulSetInterruptMaskFromISR( void ) -{ - __asm volatile ( - " mrs r0, PRIMASK \n" - " cpsid i \n" - " bx lr " - ::: "memory" - ); -} -/*-----------------------------------------------------------*/ - -void vClearInterruptMaskFromISR( __attribute__( ( unused ) ) uint32_t ulMask ) -{ - __asm volatile ( - " msr PRIMASK, r0 \n" - " bx lr " - ::: "memory" - ); -} -/*-----------------------------------------------------------*/ - -void xPortPendSVHandler( void ) -{ - /* This is a naked function. */ - - __asm volatile - ( - " .syntax unified \n" - " mrs r0, psp \n" - " \n" - " ldr r3, pxCurrentTCBConst \n" /* Get the location of the current TCB. */ - " ldr r2, [r3] \n" - " \n" - " subs r0, r0, #32 \n" /* Make space for the remaining low registers. */ - " str r0, [r2] \n" /* Save the new top of stack. */ - " stmia r0!, {r4-r7} \n" /* Store the low registers that are not saved automatically. */ - " mov r4, r8 \n" /* Store the high registers. */ - " mov r5, r9 \n" - " mov r6, r10 \n" - " mov r7, r11 \n" - " stmia r0!, {r4-r7} \n" - " \n" - " push {r3, r14} \n" - " cpsid i \n" - " bl vTaskSwitchContext \n" - " cpsie i \n" - " pop {r2, r3} \n" /* lr goes in r3. r2 now holds tcb pointer. */ - " \n" - " ldr r1, [r2] \n" - " ldr r0, [r1] \n" /* The first item in pxCurrentTCB is the task top of stack. */ - " adds r0, r0, #16 \n" /* Move to the high registers. */ - " ldmia r0!, {r4-r7} \n" /* Pop the high registers. */ - " mov r8, r4 \n" - " mov r9, r5 \n" - " mov r10, r6 \n" - " mov r11, r7 \n" - " \n" - " msr psp, r0 \n" /* Remember the new top of stack for the task. */ - " \n" - " subs r0, r0, #32 \n" /* Go back for the low registers that are not automatically restored. */ - " ldmia r0!, {r4-r7} \n" /* Pop low registers. */ - " \n" - " bx r3 \n" - " \n" - " .align 4 \n" - "pxCurrentTCBConst: .word pxCurrentTCB " - ); -} -/*-----------------------------------------------------------*/ - -void xPortSysTickHandler( void ) -{ - uint32_t ulPreviousMask; - - ulPreviousMask = portSET_INTERRUPT_MASK_FROM_ISR(); - traceISR_ENTER(); - { - /* Increment the RTOS tick. */ - if( xTaskIncrementTick() != pdFALSE ) - { - traceISR_EXIT_TO_SCHEDULER(); - /* Pend a context switch. */ - portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; - } - else - { - traceISR_EXIT(); - } - } - portCLEAR_INTERRUPT_MASK_FROM_ISR( ulPreviousMask ); -} -/*-----------------------------------------------------------*/ - -/* - * Setup the systick timer to generate the tick interrupts at the required - * frequency. +/** + * @brief Each task maintains its own interrupt status in the critical nesting + * variable. */ -__attribute__( ( weak ) ) void vPortSetupTimerInterrupt( void ) -{ - /* Calculate the constants required to configure the tick interrupt. */ - #if ( configUSE_TICKLESS_IDLE == 1 ) - { - ulTimerCountsForOneTick = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ ); - xMaximumPossibleSuppressedTicks = portMAX_24_BIT_NUMBER / ulTimerCountsForOneTick; - ulStoppedTimerCompensation = portMISSED_COUNTS_FACTOR / ( configCPU_CLOCK_HZ / configSYSTICK_CLOCK_HZ ); - } - #endif /* configUSE_TICKLESS_IDLE */ +PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; - /* Stop and reset the SysTick. */ - portNVIC_SYSTICK_CTRL_REG = 0UL; - portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL; +#if ( configUSE_TICKLESS_IDLE == 1 ) + + /** + * @brief The number of SysTick increments that make up one tick period. + */ + PRIVILEGED_DATA static uint32_t ulTimerCountsForOneTick = 0; + + /** + * @brief The maximum number of tick periods that can be suppressed is + * limited by the 24 bit resolution of the SysTick timer. + */ + PRIVILEGED_DATA static uint32_t xMaximumPossibleSuppressedTicks = 0; + + /** + * @brief Compensate for the CPU cycles that pass while the SysTick is + * stopped (low power functionality only). + */ + PRIVILEGED_DATA static uint32_t ulStoppedTimerCompensation = 0; + +#endif /* configUSE_TICKLESS_IDLE */ - /* Configure SysTick to interrupt at the requested rate. */ - portNVIC_SYSTICK_LOAD_REG = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL; - portNVIC_SYSTICK_CTRL_REG = ( portNVIC_SYSTICK_CLK_BIT_CONFIG | portNVIC_SYSTICK_INT_BIT | portNVIC_SYSTICK_ENABLE_BIT ); -} /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) @@ -679,3 +608,1058 @@ __attribute__( ( weak ) ) void vPortSetupTimerInterrupt( void ) } #endif /* configUSE_TICKLESS_IDLE */ + +/*-----------------------------------------------------------*/ + +__attribute__( ( weak ) ) void vPortSetupTimerInterrupt( void ) /* PRIVILEGED_FUNCTION */ +{ + /* Calculate the constants required to configure the tick interrupt. */ + #if ( configUSE_TICKLESS_IDLE == 1 ) + { + ulTimerCountsForOneTick = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ ); + xMaximumPossibleSuppressedTicks = portMAX_24_BIT_NUMBER / ulTimerCountsForOneTick; + ulStoppedTimerCompensation = portMISSED_COUNTS_FACTOR / ( configCPU_CLOCK_HZ / configSYSTICK_CLOCK_HZ ); + } + #endif /* configUSE_TICKLESS_IDLE */ + + /* Stop and reset SysTick. + * + * QEMU versions older than 7.0.0 contain a bug which causes an error if we + * enable SysTick without first selecting a valid clock source. We trigger + * the bug if we change clock sources from a clock with a zero clock period + * to one with a nonzero clock period and enable Systick at the same time. + * So we configure the CLKSOURCE bit here, prior to setting the ENABLE bit. + * This workaround avoids the bug in QEMU versions older than 7.0.0. */ + portNVIC_SYSTICK_CTRL_REG = portNVIC_SYSTICK_CLK_BIT_CONFIG; + portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL; + + /* Configure SysTick to interrupt at the requested rate. */ + portNVIC_SYSTICK_LOAD_REG = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL; + portNVIC_SYSTICK_CTRL_REG = portNVIC_SYSTICK_CLK_BIT_CONFIG | portNVIC_SYSTICK_INT_BIT | portNVIC_SYSTICK_ENABLE_BIT; +} + +/*-----------------------------------------------------------*/ + +static void prvTaskExitError( void ) +{ + volatile uint32_t ulDummy = 0UL; + + /* A function that implements a task must not exit or attempt to return to + * its caller as there is nothing to return to. If a task wants to exit it + * should instead call vTaskDelete( NULL ). Artificially force an assert() + * to be triggered if configASSERT() is defined, then stop here so + * application writers can catch the error. */ + configASSERT( ulCriticalNesting == ~0UL ); + portDISABLE_INTERRUPTS(); + + while( ulDummy == 0 ) + { + /* This file calls prvTaskExitError() after the scheduler has been + * started to remove a compiler warning about the function being + * defined but never called. ulDummy is used purely to quieten other + * warnings about code appearing after this function is called - making + * ulDummy volatile makes the compiler think the function could return + * and therefore not output an 'unreachable code' warning for code that + * appears after it. */ + } +} + +/*-----------------------------------------------------------*/ + +#if ( configENABLE_MPU == 1 ) + + static uint32_t prvGetMPURegionSizeSetting( uint32_t ulActualSizeInBytes ) + { + uint32_t ulRegionSize, ulReturnValue = 7UL; + + /* 256 is the smallest region size, 31 is the largest valid value for + * ulReturnValue. */ + for( ulRegionSize = 256UL; ulReturnValue < 31UL; ( ulRegionSize <<= 1UL ) ) + { + if( ulActualSizeInBytes <= ulRegionSize ) + { + break; + } + else + { + ulReturnValue++; + } + } + + /* Shift the code by one before returning so it can be written directly + * into the the correct bit position of the attribute register. */ + return( ulReturnValue << 1UL ); + } + +#endif /* configENABLE_MPU */ + +/*-----------------------------------------------------------*/ + +#if ( configENABLE_MPU == 1 ) + + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ + { + #if defined( __ARMCC_VERSION ) + + /* Declaration when these variable are defined in code instead of being + * exported from linker scripts. */ + extern uint32_t * __privileged_functions_start__; + extern uint32_t * __privileged_functions_end__; + extern uint32_t * __FLASH_segment_start__; + extern uint32_t * __FLASH_segment_end__; + extern uint32_t * __privileged_sram_start__; + extern uint32_t * __privileged_sram_end__; + + #else /* if defined( __ARMCC_VERSION ) */ + + /* Declaration when these variable are exported from linker scripts. */ + extern uint32_t __privileged_functions_start__[]; + extern uint32_t __privileged_functions_end__[]; + extern uint32_t __FLASH_segment_start__[]; + extern uint32_t __FLASH_segment_end__[]; + extern uint32_t __privileged_sram_start__[]; + extern uint32_t __privileged_sram_end__[]; + + #endif /* defined( __ARMCC_VERSION ) */ + + /* Ensure that the MPU is present. */ + configASSERT( portMPU_TYPE_REG == portEXPECTED_MPU_TYPE_VALUE ); + + /* Check that the MPU is present. */ + if( portMPU_TYPE_REG == portEXPECTED_MPU_TYPE_VALUE ) + { + /* Setup privileged flash as Read Only so that privileged tasks can + * read it but not modify. */ + portMPU_RBAR_REG = ( ( ( uint32_t ) __privileged_functions_start__ ) | /* Base address. */ + ( portMPU_RBAR_REGION_NUMBER_VALID_BITMASK ) | + ( portPRIVILEGED_FLASH_REGION ) ); + + portMPU_RASR_REG = ( ( portMPU_REGION_PRIV_RO_UNPRIV_NA ) | + ( ( configS_C_B_FLASH & portMPU_RASR_S_C_B_BITMASK ) << portMPU_RASR_S_C_B_LOCATION ) | + ( prvGetMPURegionSizeSetting( ( uint32_t ) __privileged_functions_end__ - ( uint32_t ) __privileged_functions_start__ ) ) | + ( portMPU_RASR_REGION_ENABLE_BITMASK ) ); + + /* Setup unprivileged flash as Read Only by both privileged and + * unprivileged tasks. All tasks can read it but no-one can modify. */ + portMPU_RBAR_REG = ( ( ( uint32_t ) __FLASH_segment_start__ ) | /* Base address. */ + ( portMPU_RBAR_REGION_NUMBER_VALID_BITMASK ) | + ( portUNPRIVILEGED_FLASH_REGION ) ); + + portMPU_RASR_REG = ( ( portMPU_REGION_PRIV_RO_UNPRIV_RO ) | + ( ( configS_C_B_FLASH & portMPU_RASR_S_C_B_BITMASK ) << portMPU_RASR_S_C_B_LOCATION ) | + ( prvGetMPURegionSizeSetting( ( uint32_t ) __FLASH_segment_end__ - ( uint32_t ) __FLASH_segment_start__ ) ) | + ( portMPU_RASR_REGION_ENABLE_BITMASK ) ); + + /* Setup RAM containing kernel data for privileged access only. */ + portMPU_RBAR_REG = ( ( uint32_t ) __privileged_sram_start__ ) | /* Base address. */ + ( portMPU_RBAR_REGION_NUMBER_VALID_BITMASK ) | + ( portPRIVILEGED_RAM_REGION ); + + portMPU_RASR_REG = ( ( portMPU_REGION_PRIV_RW_UNPRIV_NA ) | + ( portMPU_REGION_EXECUTE_NEVER ) | + ( ( configS_C_B_SRAM & portMPU_RASR_S_C_B_BITMASK ) << portMPU_RASR_S_C_B_LOCATION ) | + prvGetMPURegionSizeSetting( ( uint32_t ) __privileged_sram_end__ - ( uint32_t ) __privileged_sram_start__ ) | + ( portMPU_RASR_REGION_ENABLE_BITMASK ) ); + + /* Enable MPU with privileged background access i.e. unmapped + * regions have privileged access. */ + portMPU_CTRL_REG |= ( portMPU_CTRL_PRIV_BACKGROUND_ENABLE_BITMASK | + portMPU_CTRL_ENABLE_BITMASK ); + } + } + +#endif /* configENABLE_MPU */ + +/*-----------------------------------------------------------*/ + +void vPortYield( void ) /* PRIVILEGED_FUNCTION */ +{ + /* Set a PendSV to request a context switch. */ + portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; + + /* Barriers are normally not required but do ensure the code is + * completely within the specified behaviour for the architecture. */ + __asm volatile ( "dsb" ::: "memory" ); + __asm volatile ( "isb" ); +} + +/*-----------------------------------------------------------*/ + +void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */ +{ + portDISABLE_INTERRUPTS(); + ulCriticalNesting++; + + /* Barriers are normally not required but do ensure the code is + * completely within the specified behaviour for the architecture. */ + __asm volatile ( "dsb" ::: "memory" ); + __asm volatile ( "isb" ); +} + +/*-----------------------------------------------------------*/ + +void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */ +{ + configASSERT( ulCriticalNesting ); + ulCriticalNesting--; + + if( ulCriticalNesting == 0 ) + { + portENABLE_INTERRUPTS(); + } +} + +/*-----------------------------------------------------------*/ + +void SysTick_Handler( void ) /* PRIVILEGED_FUNCTION */ +{ + uint32_t ulPreviousMask; + + ulPreviousMask = portSET_INTERRUPT_MASK_FROM_ISR(); + + traceISR_ENTER(); + { + /* Increment the RTOS tick. */ + if( xTaskIncrementTick() != pdFALSE ) + { + traceISR_EXIT_TO_SCHEDULER(); + /* Pend a context switch. */ + portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; + } + else + { + traceISR_EXIT(); + } + } + + portCLEAR_INTERRUPT_MASK_FROM_ISR( ulPreviousMask ); +} + +/*-----------------------------------------------------------*/ + +void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTION portDONT_DISCARD */ +{ + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 1 ) ) + + #if defined( __ARMCC_VERSION ) + + /* Declaration when these variable are defined in code instead of being + * exported from linker scripts. */ + extern uint32_t * __syscalls_flash_start__; + extern uint32_t * __syscalls_flash_end__; + + #else + + /* Declaration when these variable are exported from linker scripts. */ + extern uint32_t __syscalls_flash_start__[]; + extern uint32_t __syscalls_flash_end__[]; + + #endif /* defined( __ARMCC_VERSION ) */ + + #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 1 ) */ + + uint32_t ulPC; + uint8_t ucSVCNumber; + + /* Register are stored on the stack in the following order - R0, R1, R2, R3, + * R12, LR, PC, xPSR. */ + ulPC = pulCallerStackAddress[ portOFFSET_TO_PC ]; + ucSVCNumber = ( ( uint8_t * ) ulPC )[ -2 ]; + + switch( ucSVCNumber ) + { + case portSVC_START_SCHEDULER: + /* Setup the context of the first task so that the first task starts + * executing. */ + vRestoreContextOfFirstTask(); + break; + + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 1 ) ) + + case portSVC_RAISE_PRIVILEGE: + /* Only raise the privilege, if the svc was raised from any of + * the system calls. */ + if( ( ulPC >= ( uint32_t ) __syscalls_flash_start__ ) && + ( ulPC <= ( uint32_t ) __syscalls_flash_end__ ) ) + { + vRaisePrivilege(); + } + break; + + #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 1 ) */ + + #if ( configENABLE_MPU == 1 ) + + case portSVC_YIELD: + vPortYield(); + break; + + #endif /* configENABLE_MPU == 1 */ + + default: + /* Incorrect SVC call. */ + configASSERT( pdFALSE ); + } +} + +/*-----------------------------------------------------------*/ + +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + + void vSystemCallEnter( uint32_t * pulTaskStack, + uint32_t ulLR, + uint8_t ucSystemCallNumber ) /* PRIVILEGED_FUNCTION */ + { + extern TaskHandle_t pxCurrentTCB; + extern UBaseType_t uxSystemCallImplementations[ NUM_SYSTEM_CALLS ]; + xMPU_SETTINGS * pxMpuSettings; + uint32_t * pulSystemCallStack; + uint32_t ulSystemCallLocation, i; + const uint32_t ulStackFrameSize = 8; + + #if defined( __ARMCC_VERSION ) + + /* Declaration when these variable are defined in code instead of being + * exported from linker scripts. */ + extern uint32_t * __syscalls_flash_start__; + extern uint32_t * __syscalls_flash_end__; + + #else + + /* Declaration when these variable are exported from linker scripts. */ + extern uint32_t __syscalls_flash_start__[]; + extern uint32_t __syscalls_flash_end__[]; + + #endif /* #if defined( __ARMCC_VERSION ) */ + + ulSystemCallLocation = pulTaskStack[ portOFFSET_TO_PC ]; + pxMpuSettings = xTaskGetMPUSettings( pxCurrentTCB ); + + /* Checks: + * 1. SVC is raised from the system call section (i.e. application is + * not raising SVC directly). + * 2. pxMpuSettings->xSystemCallStackInfo.pulTaskStack must be NULL as + * it is non-NULL only during the execution of a system call (i.e. + * between system call enter and exit). + * 3. System call is not for a kernel API disabled by the configuration + * in FreeRTOSConfig.h. + * 4. We do not need to check that ucSystemCallNumber is within range + * because the assembly SVC handler checks that before calling + * this function. + */ + if( ( ulSystemCallLocation >= ( uint32_t ) __syscalls_flash_start__ ) && + ( ulSystemCallLocation <= ( uint32_t ) __syscalls_flash_end__ ) && + ( pxMpuSettings->xSystemCallStackInfo.pulTaskStack == NULL ) && + ( uxSystemCallImplementations[ ucSystemCallNumber ] != ( UBaseType_t ) 0 ) ) + { + pulSystemCallStack = pxMpuSettings->xSystemCallStackInfo.pulSystemCallStack; + + /* Make space on the system call stack for the stack frame. */ + pulSystemCallStack = pulSystemCallStack - ulStackFrameSize; + + /* Copy the stack frame. */ + for( i = 0; i < ulStackFrameSize; i++ ) + { + pulSystemCallStack[ i ] = pulTaskStack[ i ]; + } + + /* Store the value of the Link Register before the SVC was raised. + * It contains the address of the caller of the System Call entry + * point (i.e. the caller of the MPU_). We need to restore it + * when we exit from the system call. */ + pxMpuSettings->xSystemCallStackInfo.ulLinkRegisterAtSystemCallEntry = pulTaskStack[ portOFFSET_TO_LR ]; + + /* Use the pulSystemCallStack in thread mode. */ + __asm volatile ( "msr psp, %0" : : "r" ( pulSystemCallStack ) ); + + /* Start executing the system call upon returning from this handler. */ + pulSystemCallStack[ portOFFSET_TO_PC ] = uxSystemCallImplementations[ ucSystemCallNumber ]; + + /* Raise a request to exit from the system call upon finishing the + * system call. */ + pulSystemCallStack[ portOFFSET_TO_LR ] = ( uint32_t ) vRequestSystemCallExit; + + /* Remember the location where we should copy the stack frame when we exit from + * the system call. */ + pxMpuSettings->xSystemCallStackInfo.pulTaskStack = pulTaskStack + ulStackFrameSize; + + /* Record if the hardware used padding to force the stack pointer + * to be double word aligned. */ + if( ( pulTaskStack[ portOFFSET_TO_PSR ] & portPSR_STACK_PADDING_MASK ) == portPSR_STACK_PADDING_MASK ) + { + pxMpuSettings->ulTaskFlags |= portSTACK_FRAME_HAS_PADDING_FLAG; + } + else + { + pxMpuSettings->ulTaskFlags &= ( ~portSTACK_FRAME_HAS_PADDING_FLAG ); + } + + /* We ensure in pxPortInitialiseStack that the system call stack is + * double word aligned and therefore, there is no need of padding. + * Clear the bit[9] of stacked xPSR. */ + pulSystemCallStack[ portOFFSET_TO_PSR ] &= ( ~portPSR_STACK_PADDING_MASK ); + + /* Raise the privilege for the duration of the system call. */ + __asm volatile + ( + " .syntax unified \n" + " mrs r0, control \n" /* Obtain current control value. */ + " movs r1, #1 \n" /* r1 = 1. */ + " bics r0, r1 \n" /* Clear nPRIV bit. */ + " msr control, r0 \n" /* Write back new control value. */ + ::: "r0", "r1", "memory" + ); + } + } + +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ + +/*-----------------------------------------------------------*/ + +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + + void vRequestSystemCallExit( void ) /* __attribute__( ( naked ) ) PRIVILEGED_FUNCTION */ + { + __asm volatile ( "svc %0 \n" ::"i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory" ); + } + +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ + +/*-----------------------------------------------------------*/ + +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + + void vSystemCallExit( uint32_t * pulSystemCallStack, + uint32_t ulLR ) /* PRIVILEGED_FUNCTION */ + { + extern TaskHandle_t pxCurrentTCB; + xMPU_SETTINGS * pxMpuSettings; + uint32_t * pulTaskStack; + uint32_t ulSystemCallLocation, i; + const uint32_t ulStackFrameSize = 8; + + #if defined( __ARMCC_VERSION ) + + /* Declaration when these variable are defined in code instead of being + * exported from linker scripts. */ + extern uint32_t * __privileged_functions_start__; + extern uint32_t * __privileged_functions_end__; + + #else + + /* Declaration when these variable are exported from linker scripts. */ + extern uint32_t __privileged_functions_start__[]; + extern uint32_t __privileged_functions_end__[]; + + #endif /* #if defined( __ARMCC_VERSION ) */ + + ulSystemCallLocation = pulSystemCallStack[ portOFFSET_TO_PC ]; + pxMpuSettings = xTaskGetMPUSettings( pxCurrentTCB ); + + /* Checks: + * 1. SVC is raised from the privileged code (i.e. application is not + * raising SVC directly). This SVC is only raised from + * vRequestSystemCallExit which is in the privileged code section. + * 2. pxMpuSettings->xSystemCallStackInfo.pulTaskStack must not be NULL - + * this means that we previously entered a system call and the + * application is not attempting to exit without entering a system + * call. + */ + if( ( ulSystemCallLocation >= ( uint32_t ) __privileged_functions_start__ ) && + ( ulSystemCallLocation <= ( uint32_t ) __privileged_functions_end__ ) && + ( pxMpuSettings->xSystemCallStackInfo.pulTaskStack != NULL ) ) + { + pulTaskStack = pxMpuSettings->xSystemCallStackInfo.pulTaskStack; + + /* Make space on the task stack for the stack frame. */ + pulTaskStack = pulTaskStack - ulStackFrameSize; + + /* Copy the stack frame. */ + for( i = 0; i < ulStackFrameSize; i++ ) + { + pulTaskStack[ i ] = pulSystemCallStack[ i ]; + } + + /* Use the pulTaskStack in thread mode. */ + __asm volatile ( "msr psp, %0" : : "r" ( pulTaskStack ) ); + + /* Return to the caller of the System Call entry point (i.e. the + * caller of the MPU_). */ + pulTaskStack[ portOFFSET_TO_PC ] = pxMpuSettings->xSystemCallStackInfo.ulLinkRegisterAtSystemCallEntry; + + /* Ensure that LR has a valid value.*/ + pulTaskStack[ portOFFSET_TO_LR ] = pxMpuSettings->xSystemCallStackInfo.ulLinkRegisterAtSystemCallEntry; + + /* If the hardware used padding to force the stack pointer + * to be double word aligned, set the stacked xPSR bit[9], + * otherwise clear it. */ + if( ( pxMpuSettings->ulTaskFlags & portSTACK_FRAME_HAS_PADDING_FLAG ) == portSTACK_FRAME_HAS_PADDING_FLAG ) + { + pulTaskStack[ portOFFSET_TO_PSR ] |= portPSR_STACK_PADDING_MASK; + } + else + { + pulTaskStack[ portOFFSET_TO_PSR ] &= ( ~portPSR_STACK_PADDING_MASK ); + } + + /* This is not NULL only for the duration of the system call. */ + pxMpuSettings->xSystemCallStackInfo.pulTaskStack = NULL; + + /* Drop the privilege before returning to the thread mode. */ + __asm volatile + ( + " .syntax unified \n" + " mrs r0, control \n" /* Obtain current control value. */ + " movs r1, #1 \n" /* r1 = 1. */ + " orrs r0, r1 \n" /* Set nPRIV bit. */ + " msr control, r0 \n" /* Write back new control value. */ + ::: "r0", "r1", "memory" + ); + } + } + +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ + +/*-----------------------------------------------------------*/ + +#if ( configENABLE_MPU == 1 ) + + BaseType_t xPortIsTaskPrivileged( void ) /* PRIVILEGED_FUNCTION */ + { + BaseType_t xTaskIsPrivileged = pdFALSE; + const xMPU_SETTINGS * xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */ + + if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) + { + xTaskIsPrivileged = pdTRUE; + } + + return xTaskIsPrivileged; + } + +#endif /* configENABLE_MPU == 1 */ + +/*-----------------------------------------------------------*/ + +#if ( configENABLE_MPU == 1 ) + + StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, + TaskFunction_t pxCode, + void * pvParameters, + BaseType_t xRunPrivileged, + xMPU_SETTINGS * xMPUSettings ) /* PRIVILEGED_FUNCTION */ + { + xMPUSettings->ulContext[ 0 ] = 0x04040404; /* r4. */ + xMPUSettings->ulContext[ 1 ] = 0x05050505; /* r5. */ + xMPUSettings->ulContext[ 2 ] = 0x06060606; /* r6. */ + xMPUSettings->ulContext[ 3 ] = 0x07070707; /* r7. */ + xMPUSettings->ulContext[ 4 ] = 0x08080808; /* r8. */ + xMPUSettings->ulContext[ 5 ] = 0x09090909; /* r9. */ + xMPUSettings->ulContext[ 6 ] = 0x10101010; /* r10. */ + xMPUSettings->ulContext[ 7 ] = 0x11111111; /* r11. */ + + xMPUSettings->ulContext[ 8 ] = ( uint32_t ) pvParameters; /* r0. */ + xMPUSettings->ulContext[ 9 ] = 0x01010101; /* r1. */ + xMPUSettings->ulContext[ 10 ] = 0x02020202; /* r2. */ + xMPUSettings->ulContext[ 11 ] = 0x03030303; /* r3. */ + xMPUSettings->ulContext[ 12 ] = 0x12121212; /* r12. */ + xMPUSettings->ulContext[ 13 ] = ( uint32_t ) portTASK_RETURN_ADDRESS; /* LR. */ + xMPUSettings->ulContext[ 14 ] = ( uint32_t ) pxCode; /* PC. */ + xMPUSettings->ulContext[ 15 ] = portINITIAL_XPSR; /* xPSR. */ + + xMPUSettings->ulContext[ 16 ] = ( uint32_t ) ( pxTopOfStack - 8 ); /* PSP with the hardware saved stack. */ + if( xRunPrivileged == pdTRUE ) + { + xMPUSettings->ulTaskFlags |= portTASK_IS_PRIVILEGED_FLAG; + xMPUSettings->ulContext[ 17 ] = ( uint32_t ) portINITIAL_CONTROL_PRIVILEGED; /* CONTROL. */ + } + else + { + xMPUSettings->ulTaskFlags &= ( ~portTASK_IS_PRIVILEGED_FLAG ); + xMPUSettings->ulContext[ 17 ] = ( uint32_t ) portINITIAL_CONTROL_UNPRIVILEGED; /* CONTROL. */ + } + xMPUSettings->ulContext[ 18 ] = portINITIAL_EXC_RETURN; /* LR (EXC_RETURN). */ + + #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) + { + /* Ensure that the system call stack is double word aligned. */ + xMPUSettings->xSystemCallStackInfo.pulSystemCallStack = &( xMPUSettings->xSystemCallStackInfo.ulSystemCallStackBuffer[ configSYSTEM_CALL_STACK_SIZE - 1 ] ); + xMPUSettings->xSystemCallStackInfo.pulSystemCallStack = ( uint32_t * ) ( ( uint32_t ) ( xMPUSettings->xSystemCallStackInfo.pulSystemCallStack ) & + ( uint32_t ) ( ~( portBYTE_ALIGNMENT_MASK ) ) ); + + /* This is not NULL only for the duration of a system call. */ + xMPUSettings->xSystemCallStackInfo.pulTaskStack = NULL; + } + #endif /* configUSE_MPU_WRAPPERS_V1 == 0 */ + + return &( xMPUSettings->ulContext[ 19 ] ); + } + +#else /* configENABLE_MPU */ + + StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack, + TaskFunction_t pxCode, + void * pvParameters ) /* PRIVILEGED_FUNCTION */ + { + /* Simulate the stack frame as it would be created by a context switch + * interrupt. */ + #if ( portPRELOAD_REGISTERS == 0 ) + { + pxTopOfStack--; /* Offset added to account for the way the MCU uses the stack on entry/exit of interrupts. */ + *pxTopOfStack = portINITIAL_XPSR; /* xPSR. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) pxCode; /* PC. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) portTASK_RETURN_ADDRESS; /* LR. */ + pxTopOfStack -= 5; /* R12, R3, R2 and R1. */ + *pxTopOfStack = ( StackType_t ) pvParameters; /* R0. */ + pxTopOfStack -= 9; /* R11..R4, EXC_RETURN. */ + *pxTopOfStack = portINITIAL_EXC_RETURN; + } + #else /* portPRELOAD_REGISTERS */ + { + pxTopOfStack--; /* Offset added to account for the way the MCU uses the stack on entry/exit of interrupts. */ + *pxTopOfStack = portINITIAL_XPSR; /* xPSR. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) pxCode; /* PC. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) portTASK_RETURN_ADDRESS; /* LR. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x12121212UL; /* R12. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x03030303UL; /* R3. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x02020202UL; /* R2. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x01010101UL; /* R1. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) pvParameters; /* R0. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x11111111UL; /* R11. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x10101010UL; /* R10. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x09090909UL; /* R09. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x08080808UL; /* R08. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x07070707UL; /* R07. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x06060606UL; /* R06. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x05050505UL; /* R05. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x04040404UL; /* R04. */ + pxTopOfStack--; + *pxTopOfStack = portINITIAL_EXC_RETURN; /* EXC_RETURN. */ + } + #endif /* portPRELOAD_REGISTERS */ + + return pxTopOfStack; + } + +#endif /* configENABLE_MPU */ + +/*-----------------------------------------------------------*/ + +BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ +{ + /* An application can install FreeRTOS interrupt handlers in one of the + * folllowing ways: + * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler + * for SVCall and PendSV interrupts respectively. + * 2. Indirect Routing - Install separate handlers for SVCall and PendSV + * interrupts and route program control from those handlers to + * SVC_Handler and PendSV_Handler functions. + * + * Applications that use Indirect Routing must set + * configCHECK_HANDLER_INSTALLATION to 0 in their FreeRTOSConfig.h. Direct + * routing, which is validated here when configCHECK_HANDLER_INSTALLATION + * is 1, should be preferred when possible. */ + #if ( configCHECK_HANDLER_INSTALLATION == 1 ) + { + const portISR_t * const pxVectorTable = portSCB_VTOR_REG; + + /* Validate that the application has correctly installed the FreeRTOS + * handlers for SVCall and PendSV interrupts. We do not check the + * installation of the SysTick handler because the application may + * choose to drive the RTOS tick using a timer other than the SysTick + * timer by overriding the weak function vPortSetupTimerInterrupt(). + * + * Assertion failures here indicate incorrect installation of the + * FreeRTOS handlers. For help installing the FreeRTOS handlers, see + * https://www.FreeRTOS.org/FAQHelp.html. + * + * Systems with a configurable address for the interrupt vector table + * can also encounter assertion failures or even system faults here if + * VTOR is not set correctly to point to the application's vector table. */ + configASSERT( pxVectorTable[ portVECTOR_INDEX_SVC ] == SVC_Handler ); + configASSERT( pxVectorTable[ portVECTOR_INDEX_PENDSV ] == PendSV_Handler ); + } + #endif /* configCHECK_HANDLER_INSTALLATION */ + + /* Make PendSV and SysTick the lowest priority interrupts, and make SVCall + * the highest priority. */ + portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI; + portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI; + portNVIC_SHPR2_REG = 0; + + #if ( configENABLE_MPU == 1 ) + { + /* Setup the Memory Protection Unit (MPU). */ + prvSetupMPU(); + } + #endif /* configENABLE_MPU */ + + /* Start the timer that generates the tick ISR. Interrupts are disabled + * here already. */ + vPortSetupTimerInterrupt(); + + /* Initialize the critical nesting count ready for the first task. */ + ulCriticalNesting = 0; + + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + { + xSchedulerRunning = pdTRUE; + } + #endif + + /* Start the first task. */ + vStartFirstTask(); + + /* Should never get here as the tasks will now be executing. Call the task + * exit error function to prevent compiler warnings about a static function + * not being called in the case that the application writer overrides this + * functionality by defining configTASK_RETURN_ADDRESS. Call + * vTaskSwitchContext() so link time optimization does not remove the + * symbol. */ + vTaskSwitchContext(); + prvTaskExitError(); + + /* Should not get here. */ + return 0; +} + +/*-----------------------------------------------------------*/ + +void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ +{ + /* Not implemented in ports where there is nothing to return to. + * Artificially force an assert. */ + configASSERT( ulCriticalNesting == 1000UL ); +} + +/*-----------------------------------------------------------*/ + +#if ( configENABLE_MPU == 1 ) + + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, + const struct xMEMORY_REGION * const xRegions, + StackType_t * pxBottomOfStack, + configSTACK_DEPTH_TYPE uxStackDepth ) + { + #if defined( __ARMCC_VERSION ) + + /* Declaration when these variable are defined in code instead of being + * exported from linker scripts. */ + extern uint32_t * __SRAM_segment_start__; + extern uint32_t * __SRAM_segment_end__; + extern uint32_t * __privileged_sram_start__; + extern uint32_t * __privileged_sram_end__; + + #else + /* Declaration when these variable are exported from linker scripts. */ + extern uint32_t __SRAM_segment_start__[]; + extern uint32_t __SRAM_segment_end__[]; + extern uint32_t __privileged_sram_start__[]; + extern uint32_t __privileged_sram_end__[]; + + #endif /* defined( __ARMCC_VERSION ) */ + + int32_t lIndex; + uint32_t ul; + + if( xRegions == NULL ) + { + /* No MPU regions are specified so allow access to all RAM. */ + xMPUSettings->xRegionsSettings[ 0 ].ulRBAR = + ( ( ( uint32_t ) __SRAM_segment_start__ ) | /* Base address. */ + ( portMPU_RBAR_REGION_NUMBER_VALID_BITMASK ) | + ( portSTACK_REGION ) ); /* Region number. */ + + xMPUSettings->xRegionsSettings[ 0 ].ulRASR = + ( ( portMPU_REGION_PRIV_RW_UNPRIV_RW ) | + ( portMPU_REGION_EXECUTE_NEVER ) | + ( ( configS_C_B_SRAM & portMPU_RASR_S_C_B_BITMASK ) << portMPU_RASR_S_C_B_LOCATION ) | + ( prvGetMPURegionSizeSetting( ( uint32_t ) __SRAM_segment_end__ - ( uint32_t ) __SRAM_segment_start__ ) ) | + ( portMPU_RASR_REGION_ENABLE_BITMASK ) ); + + + /* Invalidate user configurable regions. */ + for( ul = 1UL; ul <= portNUM_CONFIGURABLE_REGIONS; ul++ ) + { + xMPUSettings->xRegionsSettings[ ul ].ulRBAR = ( ( ul - 1UL ) | portMPU_RBAR_REGION_NUMBER_VALID_BITMASK ); + xMPUSettings->xRegionsSettings[ ul ].ulRASR = 0UL; + } + } + else + { + /* This function is called automatically when the task is created - in + * which case the stack region parameters will be valid. At all other + * times the stack parameters will not be valid and it is assumed that the + * stack region has already been configured. */ + if( uxStackDepth > 0 ) + { + /* Define the region that allows access to the stack. */ + xMPUSettings->xRegionsSettings[ 0 ].ulRBAR = + ( ( ( uint32_t ) pxBottomOfStack ) | + ( portMPU_RBAR_REGION_NUMBER_VALID_BITMASK ) | + ( portSTACK_REGION ) ); /* Region number. */ + + xMPUSettings->xRegionsSettings[ 0 ].ulRASR = + ( ( portMPU_REGION_PRIV_RW_UNPRIV_RW ) | + ( portMPU_REGION_EXECUTE_NEVER ) | + ( prvGetMPURegionSizeSetting( uxStackDepth * ( uint32_t ) sizeof( StackType_t ) ) ) | + ( ( configS_C_B_SRAM & portMPU_RASR_S_C_B_BITMASK ) << portMPU_RASR_S_C_B_LOCATION ) | + ( portMPU_RASR_REGION_ENABLE_BITMASK ) ); + } + + lIndex = 0; + + for( ul = 1UL; ul <= portNUM_CONFIGURABLE_REGIONS; ul++ ) + { + if( ( xRegions[ lIndex ] ).ulLengthInBytes > 0UL ) + { + /* Translate the generic region definition contained in + * xRegions into the CM0+ specific MPU settings that are then + * stored in xMPUSettings. */ + xMPUSettings->xRegionsSettings[ ul ].ulRBAR = + ( ( uint32_t ) xRegions[ lIndex ].pvBaseAddress ) | + ( portMPU_RBAR_REGION_NUMBER_VALID_BITMASK ) | + ( ul - 1UL ); /* Region number. */ + + xMPUSettings->xRegionsSettings[ ul ].ulRASR = + ( prvGetMPURegionSizeSetting( xRegions[ lIndex ].ulLengthInBytes ) ) | + ( xRegions[ lIndex ].ulParameters ) | + ( portMPU_RASR_REGION_ENABLE_BITMASK ); + } + else + { + /* Invalidate the region. */ + xMPUSettings->xRegionsSettings[ ul ].ulRBAR = ( ( ul - 1UL ) | portMPU_RBAR_REGION_NUMBER_VALID_BITMASK ); + xMPUSettings->xRegionsSettings[ ul ].ulRASR = 0UL; + } + + lIndex++; + } + } +} + +#endif /* configENABLE_MPU */ + +/*-----------------------------------------------------------*/ + +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, + uint32_t ulBufferLength, + uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ + + { + uint32_t i, ulBufferStartAddress, ulBufferEndAddress; + uint32_t ulRegionStart, ulRegionSize, ulRegionEnd; + uint32_t ulMPURegionAccessPermissions; + BaseType_t xAccessGranted = pdFALSE; + const xMPU_SETTINGS * xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */ + + if( xSchedulerRunning == pdFALSE ) + { + /* Grant access to all the kernel objects before the scheduler + * is started. It is necessary because there is no task running + * yet and therefore, we cannot use the permissions of any + * task. */ + xAccessGranted = pdTRUE; + } + else if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) + { + xAccessGranted = pdTRUE; + } + else + { + if( portADD_UINT32_WILL_OVERFLOW( ( ( uint32_t ) pvBuffer ), ( ulBufferLength - 1UL ) ) == pdFALSE ) + { + ulBufferStartAddress = ( uint32_t ) pvBuffer; + ulBufferEndAddress = ( ( ( uint32_t ) pvBuffer ) + ulBufferLength - 1UL ); + + for( i = 0; i < portTOTAL_NUM_REGIONS; i++ ) + { + /* Is the MPU region enabled? */ + if( ( xTaskMpuSettings->xRegionsSettings[ i ].ulRASR & + portMPU_RASR_REGION_ENABLE_BITMASK ) == portMPU_RASR_REGION_ENABLE_BITMASK ) + { + ulRegionStart = portEXTRACT_FIRST_ADDRESS_FROM_RBAR( xTaskMpuSettings->xRegionsSettings[ i ].ulRBAR ); + ulRegionSize = portEXTRACT_REGION_SIZE_FROM_RASR( xTaskMpuSettings->xRegionsSettings[ i ].ulRASR ); + ulRegionEnd = ulRegionStart + ulRegionSize; + + if( portIS_ADDRESS_WITHIN_RANGE( ulBufferStartAddress, + ulRegionStart, + ulRegionEnd ) && + portIS_ADDRESS_WITHIN_RANGE( ulBufferEndAddress, + ulRegionStart, + ulRegionEnd ) ) + { + ulMPURegionAccessPermissions = xTaskMpuSettings->xRegionsSettings[ i ].ulRASR & + portMPU_RASR_AP_BITMASK; + + if( ulAccessRequested == tskMPU_READ_PERMISSION ) /* RO. */ + { + if( ( ulMPURegionAccessPermissions == portMPU_REGION_PRIV_RW_UNPRIV_RO ) || + ( ulMPURegionAccessPermissions == portMPU_REGION_PRIV_RO_UNPRIV_RO ) || + ( ulMPURegionAccessPermissions == portMPU_REGION_PRIV_RW_UNPRIV_RW ) ) + { + xAccessGranted = pdTRUE; + break; + } + } + else if( ( ulAccessRequested & tskMPU_WRITE_PERMISSION ) != 0UL ) /* W or RW. */ + { + if( ulMPURegionAccessPermissions == portMPU_REGION_PRIV_RW_UNPRIV_RW ) + { + xAccessGranted = pdTRUE; + break; + } + } + } + } + } + } + } + + return xAccessGranted; + } + +#endif /* #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ + +/*-----------------------------------------------------------*/ + +BaseType_t xPortIsInsideInterrupt( void ) +{ + uint32_t ulCurrentInterrupt; + BaseType_t xReturn; + + /* Obtain the number of the currently executing interrupt. Interrupt Program + * Status Register (IPSR) holds the exception number of the currently-executing + * exception or zero for Thread mode.*/ + __asm volatile ( "mrs %0, ipsr" : "=r" ( ulCurrentInterrupt )::"memory" ); + + if( ulCurrentInterrupt == 0 ) + { + xReturn = pdFALSE; + } + else + { + xReturn = pdTRUE; + } + + return xReturn; +} + +/*-----------------------------------------------------------*/ + +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + + void vPortGrantAccessToKernelObject( TaskHandle_t xInternalTaskHandle, + int32_t lInternalIndexOfKernelObject ) /* PRIVILEGED_FUNCTION */ + { + uint32_t ulAccessControlListEntryIndex, ulAccessControlListEntryBit; + xMPU_SETTINGS * xTaskMpuSettings; + + ulAccessControlListEntryIndex = ( ( uint32_t ) lInternalIndexOfKernelObject / portACL_ENTRY_SIZE_BITS ); + ulAccessControlListEntryBit = ( ( uint32_t ) lInternalIndexOfKernelObject % portACL_ENTRY_SIZE_BITS ); + + xTaskMpuSettings = xTaskGetMPUSettings( xInternalTaskHandle ); + + xTaskMpuSettings->ulAccessControlList[ ulAccessControlListEntryIndex ] |= ( 1U << ulAccessControlListEntryBit ); + } + +#endif /* #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) */ + +/*-----------------------------------------------------------*/ + +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + + void vPortRevokeAccessToKernelObject( TaskHandle_t xInternalTaskHandle, + int32_t lInternalIndexOfKernelObject ) /* PRIVILEGED_FUNCTION */ + { + uint32_t ulAccessControlListEntryIndex, ulAccessControlListEntryBit; + xMPU_SETTINGS * xTaskMpuSettings; + + ulAccessControlListEntryIndex = ( ( uint32_t ) lInternalIndexOfKernelObject / portACL_ENTRY_SIZE_BITS ); + ulAccessControlListEntryBit = ( ( uint32_t ) lInternalIndexOfKernelObject % portACL_ENTRY_SIZE_BITS ); + + xTaskMpuSettings = xTaskGetMPUSettings( xInternalTaskHandle ); + + xTaskMpuSettings->ulAccessControlList[ ulAccessControlListEntryIndex ] &= ~( 1U << ulAccessControlListEntryBit ); + } + +#endif /* #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) */ + +/*-----------------------------------------------------------*/ + +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + + #if ( configENABLE_ACCESS_CONTROL_LIST == 1 ) + + BaseType_t xPortIsAuthorizedToAccessKernelObject( int32_t lInternalIndexOfKernelObject ) /* PRIVILEGED_FUNCTION */ + { + uint32_t ulAccessControlListEntryIndex, ulAccessControlListEntryBit; + BaseType_t xAccessGranted = pdFALSE; + const xMPU_SETTINGS * xTaskMpuSettings; + + if( xSchedulerRunning == pdFALSE ) + { + /* Grant access to all the kernel objects before the scheduler + * is started. It is necessary because there is no task running + * yet and therefore, we cannot use the permissions of any + * task. */ + xAccessGranted = pdTRUE; + } + else + { + xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */ + + ulAccessControlListEntryIndex = ( ( uint32_t ) lInternalIndexOfKernelObject / portACL_ENTRY_SIZE_BITS ); + ulAccessControlListEntryBit = ( ( uint32_t ) lInternalIndexOfKernelObject % portACL_ENTRY_SIZE_BITS ); + + if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) + { + xAccessGranted = pdTRUE; + } + else + { + if( ( xTaskMpuSettings->ulAccessControlList[ ulAccessControlListEntryIndex ] & ( 1U << ulAccessControlListEntryBit ) ) != 0 ) + { + xAccessGranted = pdTRUE; + } + } + } + + return xAccessGranted; + } + + #else /* #if ( configENABLE_ACCESS_CONTROL_LIST == 1 ) */ + + BaseType_t xPortIsAuthorizedToAccessKernelObject( int32_t lInternalIndexOfKernelObject ) /* PRIVILEGED_FUNCTION */ + { + ( void ) lInternalIndexOfKernelObject; + + /* If Access Control List feature is not used, all the tasks have + * access to all the kernel objects. */ + return pdTRUE; + } + + #endif /* #if ( configENABLE_ACCESS_CONTROL_LIST == 1 ) */ + +#endif /* #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ + +/*-----------------------------------------------------------*/ diff --git a/portable/GCC/ARM_CM0/portasm.c b/portable/GCC/ARM_CM0/portasm.c new file mode 100644 index 000000000..be1500ef0 --- /dev/null +++ b/portable/GCC/ARM_CM0/portasm.c @@ -0,0 +1,523 @@ +/* + * FreeRTOS Kernel + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +/* Standard includes. */ +#include + +/* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE ensures that PRIVILEGED_FUNCTION + * is defined correctly and privileged functions are placed in correct sections. */ +#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE + +/* Portasm includes. */ +#include "portasm.h" + +/* System call numbers includes. */ +#include "mpu_syscall_numbers.h" + +/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE is needed to be defined only for the + * header files. */ +#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE + +#if ( configENABLE_MPU == 1 ) + + void vRestoreContextOfFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */ + { + __asm volatile + ( + " .extern pxCurrentTCB \n" + " .syntax unified \n" + " \n" + " program_mpu_first_task: \n" + " \n" + " ldr r3, =pxCurrentTCB \n" /* r3 = &pxCurrentTCB. */ + " ldr r0, [r3] \n" /* r0 = pxCurrentTCB.*/ + " adds r0, #4 \n" /* r0 = Second item in the TCB which is xMPUSettings. */ + " \n" + " dmb \n" /* Complete outstanding transfers before disabling MPU. */ + " ldr r1, =0xe000ed94 \n" /* r1 = 0xe000ed94 [Location of MPU_CTRL]. */ + " ldr r2, [r1] \n" /* Read the value of MPU_CTRL. */ + " movs r3, #1 \n" /* r3 = 1. */ + " bics r2, r3 \n" /* r2 = r2 & ~r3 i.e. Clear the bit 0 in r2. */ + " str r2, [r1] \n" /* Disable MPU. */ + " \n" + " ldr r1, =0xe000ed9c \n" /* r1 = 0xe000ed9c [Location of RBAR]. */ + " ldr r2, =0xe000eda0 \n" /* r2 = 0xe000eda0 [Location of RASR]. */ + " \n" + " ldmia r0!, {r3-r4} \n" /* Read first set of RBAR/RASR registers from TCB. */ + " str r3, [r1] \n" /* Program RBAR. */ + " str r4, [r2] \n" /* Program RASR. */ + " \n" + " ldmia r0!, {r3-r4} \n" /* Read second set of RBAR/RASR registers from TCB. */ + " str r3, [r1] \n" /* Program RBAR. */ + " str r4, [r2] \n" /* Program RASR. */ + " \n" + " ldmia r0!, {r3-r4} \n" /* Read third set of RBAR/RASR registers from TCB. */ + " str r3, [r1] \n" /* Program RBAR. */ + " str r4, [r2] \n" /* Program RASR. */ + " \n" + " ldmia r0!, {r3-r4} \n" /* Read fourth set of RBAR/RASR registers from TCB. */ + " str r3, [r1] \n" /* Program RBAR. */ + " str r4, [r2] \n" /* Program RASR. */ + " \n" + " ldmia r0!, {r3-r4} \n" /* Read fifth set of RBAR/RASR registers from TCB. */ + " str r3, [r1] \n" /* Program RBAR. */ + " str r4, [r2] \n" /* Program RASR. */ + " \n" + " ldr r1, =0xe000ed94 \n" /* r1 = 0xe000ed94 [Location of MPU_CTRL]. */ + " ldr r2, [r1] \n" /* Read the value of MPU_CTRL. */ + " movs r3, #1 \n" /* r3 = 1. */ + " orrs r2, r3 \n" /* r2 = r2 | r3 i.e. Set the bit 0 in r2. */ + " str r2, [r1] \n" /* Enable MPU. */ + " dsb \n" /* Force memory writes before continuing. */ + " \n" + " restore_context_first_task: \n" + " ldr r2, =pxCurrentTCB \n" /* r2 = &pxCurrentTCB. */ + " ldr r0, [r2] \n" /* r0 = pxCurrentTCB.*/ + " ldr r1, [r0] \n" /* r1 = Location of saved context in TCB. */ + " \n" + " restore_special_regs_first_task: \n" + " subs r1, #12 \n" + " ldmia r1!, {r2-r4} \n" /* r2 = original PSP, r3 = CONTROL, r4 = LR. */ + " subs r1, #12 \n" + " msr psp, r2 \n" + " msr control, r3 \n" + " mov lr, r4 \n" + " \n" + " restore_general_regs_first_task: \n" + " subs r1, #32 \n" + " ldmia r1!, {r4-r7} \n" /* r4-r7 contain half of the hardware saved context. */ + " stmia r2!, {r4-r7} \n" /* Copy half of the the hardware saved context on the task stack. */ + " ldmia r1!, {r4-r7} \n" /* r4-r7 contain rest half of the hardware saved context. */ + " stmia r2!, {r4-r7} \n" /* Copy rest half of the the hardware saved context on the task stack. */ + " subs r1, #48 \n" + " ldmia r1!, {r4-r7} \n" /* Restore r8-r11. */ + " mov r8, r4 \n" /* r8 = r4. */ + " mov r9, r5 \n" /* r9 = r5. */ + " mov r10, r6 \n" /* r10 = r6. */ + " mov r11, r7 \n" /* r11 = r7. */ + " subs r1, #32 \n" + " ldmia r1!, {r4-r7} \n" /* Restore r4-r7. */ + " subs r1, #16 \n" + " \n" + " restore_context_done_first_task: \n" + " str r1, [r0] \n" /* Save the location where the context should be saved next as the first member of TCB. */ + " bx lr \n" + " \n" + " .align 4 \n" + ::"i" ( portSVC_START_SCHEDULER ) : "memory" + ); + } + +#else /* configENABLE_MPU */ + + void vRestoreContextOfFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */ + { + __asm volatile + ( + " .extern pxCurrentTCB \n" + " .syntax unified \n" + " \n" + " ldr r2, =pxCurrentTCB \n" /* r2 = &pxCurrentTCB. */ + " ldr r1, [r2] \n" /* r1 = pxCurrentTCB.*/ + " ldr r0, [r1] \n" /* Read top of stack from TCB - The first item in pxCurrentTCB is the task top of stack. */ + " \n" + " ldm r0!, {r2} \n" /* Read from stack - r2 = EXC_RETURN. */ + " movs r1, #2 \n" /* r1 = 2. */ + " msr CONTROL, r1 \n" /* Switch to use PSP in the thread mode. */ + " adds r0, #32 \n" /* Discard everything up to r0. */ + " msr psp, r0 \n" /* This is now the new top of stack to use in the task. */ + " isb \n" + " bx r2 \n" /* Finally, branch to EXC_RETURN. */ + " \n" + " .align 4 \n" + ); + } + +#endif /* configENABLE_MPU */ + +/*-----------------------------------------------------------*/ + +BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */ +{ + __asm volatile + ( + " .syntax unified \n" + " \n" + " mrs r0, control \n" /* r0 = CONTROL. */ + " movs r1, #1 \n" /* r1 = 1. */ + " tst r0, r1 \n" /* Perform r0 & r1 (bitwise AND) and update the conditions flag. */ + " beq running_privileged \n" /* If the result of previous AND operation was 0, branch. */ + " movs r0, #0 \n" /* CONTROL[0]!=0. Return false to indicate that the processor is not privileged. */ + " bx lr \n" /* Return. */ + " running_privileged: \n" + " movs r0, #1 \n" /* CONTROL[0]==0. Return true to indicate that the processor is privileged. */ + " bx lr \n" /* Return. */ + " \n" + " .align 4 \n" + ::: "r0", "r1", "memory" + ); +} + +/*-----------------------------------------------------------*/ + +void vRaisePrivilege( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */ +{ + __asm volatile + ( + " .syntax unified \n" + " \n" + " mrs r0, control \n" /* Read the CONTROL register. */ + " movs r1, #1 \n" /* r1 = 1. */ + " bics r0, r1 \n" /* Clear the bit 0. */ + " msr control, r0 \n" /* Write back the new CONTROL value. */ + " bx lr \n" /* Return to the caller. */ + ::: "r0", "r1", "memory" + ); +} + +/*-----------------------------------------------------------*/ + +void vResetPrivilege( void ) /* __attribute__ (( naked )) */ +{ + __asm volatile + ( + " .syntax unified \n" + " \n" + " mrs r0, control \n" /* r0 = CONTROL. */ + " movs r1, #1 \n" /* r1 = 1. */ + " orrs r0, r1 \n" /* r0 = r0 | r1. */ + " msr control, r0 \n" /* CONTROL = r0. */ + " bx lr \n" /* Return to the caller. */ + ::: "r0", "r1", "memory" + ); +} + +/*-----------------------------------------------------------*/ + +void vStartFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */ +{ + /* Don't reset the MSP stack as is done on CM3/4 devices. The reason is that + * the Vector Table Offset Register (VTOR) is optional in CM0+ architecture + * and therefore, may not be available on all the devices. */ + __asm volatile + ( + " .syntax unified \n" + " cpsie i \n" /* Globally enable interrupts. */ + " dsb \n" + " isb \n" + " svc %0 \n" /* System call to start the first task. */ + " nop \n" + " \n" + " .align 4 \n" + ::"i" ( portSVC_START_SCHEDULER ) : "memory" + ); +} + +/*-----------------------------------------------------------*/ + +uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */ +{ + __asm volatile + ( + " .syntax unified \n" + " \n" + " mrs r0, PRIMASK \n" + " cpsid i \n" + " bx lr \n" + ::: "memory" + ); +} + +/*-----------------------------------------------------------*/ + +void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */ +{ + __asm volatile + ( + " .syntax unified \n" + " \n" + " msr PRIMASK, r0 \n" + " bx lr \n" + ::: "memory" + ); +} + +/*-----------------------------------------------------------*/ + +#if ( configENABLE_MPU == 1 ) + + void PendSV_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */ + { + __asm volatile + ( + " .extern pxCurrentTCB \n" + " .syntax unified \n" + " \n" + " ldr r2, =pxCurrentTCB \n" /* r2 = &( pxCurrentTCB ). */ + " ldr r0, [r2] \n" /* r0 = pxCurrentTCB. */ + " ldr r1, [r0] \n" /* r1 = Location in TCB where the context should be saved. */ + " mrs r2, psp \n" /* r2 = PSP. */ + " \n" + " save_general_regs: \n" + " stmia r1!, {r4-r7} \n" /* Store r4-r7. */ + " mov r4, r8 \n" /* r4 = r8. */ + " mov r5, r9 \n" /* r5 = r9. */ + " mov r6, r10 \n" /* r6 = r10. */ + " mov r7, r11 \n" /* r7 = r11. */ + " stmia r1!, {r4-r7} \n" /* Store r8-r11. */ + " ldmia r2!, {r4-r7} \n" /* Copy half of the hardware saved context into r4-r7. */ + " stmia r1!, {r4-r7} \n" /* Store the hardware saved context. */ + " ldmia r2!, {r4-r7} \n" /* Copy rest half of the hardware saved context into r4-r7. */ + " stmia r1!, {r4-r7} \n" /* Store the hardware saved context. */ + " \n" + " save_special_regs: \n" + " mrs r2, psp \n" /* r2 = PSP. */ + " mrs r3, control \n" /* r3 = CONTROL. */ + " mov r4, lr \n" /* r4 = LR. */ + " stmia r1!, {r2-r4} \n" /* Store original PSP (after hardware has saved context), CONTROL and LR. */ + " str r1, [r0] \n" /* Save the location from where the context should be restored as the first member of TCB. */ + " \n" + " select_next_task: \n" + " cpsid i \n" + " bl vTaskSwitchContext \n" + " cpsie i \n" + " \n" + " program_mpu: \n" + " \n" + " ldr r2, =pxCurrentTCB \n" /* r2 = &( pxCurrentTCB ). */ + " ldr r0, [r2] \n" /* r0 = pxCurrentTCB. */ + " adds r0, #4 \n" /* r0 = Second item in the TCB which is xMPUSettings. */ + " \n" + " dmb \n" /* Complete outstanding transfers before disabling MPU. */ + " ldr r1, =0xe000ed94 \n" /* r1 = 0xe000ed94 [Location of MPU_CTRL]. */ + " ldr r2, [r1] \n" /* Read the value of MPU_CTRL. */ + " movs r3, #1 \n" /* r3 = 1. */ + " bics r2, r3 \n" /* r2 = r2 & ~r3 i.e. Clear the bit 0 in r2. */ + " str r2, [r1] \n" /* Disable MPU */ + " \n" + " ldr r1, =0xe000ed9c \n" /* r1 = 0xe000ed9c [Location of RBAR]. */ + " ldr r2, =0xe000eda0 \n" /* r2 = 0xe000eda0 [Location of RASR]. */ + " \n" + " ldmia r0!, {r3-r4} \n" /* Read first set of RBAR/RASR registers from TCB. */ + " str r3, [r1] \n" /* Program RBAR. */ + " str r4, [r2] \n" /* Program RASR. */ + " \n" + " ldmia r0!, {r3-r4} \n" /* Read second set of RBAR/RASR registers from TCB. */ + " str r3, [r1] \n" /* Program RBAR. */ + " str r4, [r2] \n" /* Program RASR. */ + " \n" + " ldmia r0!, {r3-r4} \n" /* Read third set of RBAR/RASR registers from TCB. */ + " str r3, [r1] \n" /* Program RBAR. */ + " str r4, [r2] \n" /* Program RASR. */ + " \n" + " ldmia r0!, {r3-r4} \n" /* Read fourth set of RBAR/RASR registers from TCB. */ + " str r3, [r1] \n" /* Program RBAR. */ + " str r4, [r2] \n" /* Program RASR. */ + " \n" + " ldmia r0!, {r3-r4} \n" /* Read fifth set of RBAR/RASR registers from TCB. */ + " str r3, [r1] \n" /* Program RBAR. */ + " str r4, [r2] \n" /* Program RASR. */ + " \n" + " ldr r1, =0xe000ed94 \n" /* r1 = 0xe000ed94 [Location of MPU_CTRL]. */ + " ldr r2, [r1] \n" /* Read the value of MPU_CTRL. */ + " movs r3, #1 \n" /* r3 = 1. */ + " orrs r2, r3 \n" /* r2 = r2 | r3 i.e. Set the bit 0 in r2. */ + " str r2, [r1] \n" /* Enable MPU. */ + " dsb \n" /* Force memory writes before continuing. */ + " \n" + " restore_context: \n" + " ldr r2, =pxCurrentTCB \n" /* r2 = &pxCurrentTCB. */ + " ldr r0, [r2] \n" /* r0 = pxCurrentTCB.*/ + " ldr r1, [r0] \n" /* r1 = Location of saved context in TCB. */ + " \n" + " restore_special_regs: \n" + " subs r1, #12 \n" + " ldmia r1!, {r2-r4} \n" /* r2 = original PSP, r3 = CONTROL, r4 = LR. */ + " subs r1, #12 \n" + " msr psp, r2 \n" + " msr control, r3 \n" + " mov lr, r4 \n" + " \n" + " restore_general_regs: \n" + " subs r1, #32 \n" + " ldmia r1!, {r4-r7} \n" /* r4-r7 contain half of the hardware saved context. */ + " stmia r2!, {r4-r7} \n" /* Copy half of the the hardware saved context on the task stack. */ + " ldmia r1!, {r4-r7} \n" /* r4-r7 contain rest half of the hardware saved context. */ + " stmia r2!, {r4-r7} \n" /* Copy rest half of the the hardware saved context on the task stack. */ + " subs r1, #48 \n" + " ldmia r1!, {r4-r7} \n" /* Restore r8-r11. */ + " mov r8, r4 \n" /* r8 = r4. */ + " mov r9, r5 \n" /* r9 = r5. */ + " mov r10, r6 \n" /* r10 = r6. */ + " mov r11, r7 \n" /* r11 = r7. */ + " subs r1, #32 \n" + " ldmia r1!, {r4-r7} \n" /* Restore r4-r7. */ + " subs r1, #16 \n" + " \n" + " restore_context_done: \n" + " str r1, [r0] \n" /* Save the location where the context should be saved next as the first member of TCB. */ + " bx lr \n" + " \n" + " .align 4 \n" + ); + } + +#else /* configENABLE_MPU */ + + void PendSV_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */ + { + __asm volatile + ( + " .extern pxCurrentTCB \n" + " .syntax unified \n" + " \n" + " mrs r0, psp \n" /* Read PSP in r0. */ + " ldr r2, =pxCurrentTCB \n" /* r2 = &( pxCurrentTCB ). */ + " ldr r1, [r2] \n" /* r1 = pxCurrentTCB. */ + " subs r0, r0, #36 \n" /* Make space for LR and the remaining registers on the stack. */ + " str r0, [r1] \n" /* Save the new top of stack in TCB. */ + " \n" + " mov r3, lr \n" /* r3 = LR/EXC_RETURN. */ + " stmia r0!, {r3-r7} \n" /* Store on the stack - LR and low registers that are not automatically saved. */ + " mov r4, r8 \n" /* r4 = r8. */ + " mov r5, r9 \n" /* r5 = r9. */ + " mov r6, r10 \n" /* r6 = r10. */ + " mov r7, r11 \n" /* r7 = r11. */ + " stmia r0!, {r4-r7} \n" /* Store the high registers that are not saved automatically. */ + " \n" + " cpsid i \n" + " bl vTaskSwitchContext \n" + " cpsie i \n" + " \n" + " ldr r2, =pxCurrentTCB \n" /* r2 = &( pxCurrentTCB ). */ + " ldr r1, [r2] \n" /* r1 = pxCurrentTCB. */ + " ldr r0, [r1] \n" /* The first item in pxCurrentTCB is the task top of stack. r0 now points to the top of stack. */ + " \n" + " adds r0, r0, #20 \n" /* Move to the high registers. */ + " ldmia r0!, {r4-r7} \n" /* Restore the high registers that are not automatically restored. */ + " mov r8, r4 \n" /* r8 = r4. */ + " mov r9, r5 \n" /* r9 = r5. */ + " mov r10, r6 \n" /* r10 = r6. */ + " mov r11, r7 \n" /* r11 = r7. */ + " msr psp, r0 \n" /* Remember the new top of stack for the task. */ + " subs r0, r0, #36 \n" /* Move to the starting of the saved context. */ + " ldmia r0!, {r3-r7} \n" /* Read from stack - r3 = LR and r4-r7 restored. */ + " bx r3 \n" + " \n" + " .align 4 \n" + ); + } + +#endif /* configENABLE_MPU */ + +/*-----------------------------------------------------------*/ + +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + + void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern vPortSVCHandler_C \n" + " .extern vSystemCallEnter \n" + " .extern vSystemCallExit \n" + " .extern pxCurrentTCB \n" + " \n" + " movs r0, #4 \n" + " mov r1, lr \n" + " tst r0, r1 \n" + " beq stack_on_msp \n" + " \n" + " stack_on_psp: \n" + " mrs r0, psp \n" + " b route_svc \n" + " \n" + " stack_on_msp: \n" + " mrs r0, msp \n" + " b route_svc \n" + " \n" + " route_svc: \n" + " ldr r3, [r0, #24] \n" + " subs r3, #2 \n" + " ldrb r2, [r3, #0] \n" + " ldr r3, =%0 \n" + " cmp r2, r3 \n" + " blt system_call_enter \n" + " ldr r3, =%1 \n" + " cmp r2, r3 \n" + " beq system_call_exit \n" + " b vPortSVCHandler_C \n" + " \n" + " system_call_enter: \n" + " push {lr} \n" + " bl vSystemCallEnter \n" + " pop {pc} \n" + " \n" + " system_call_exit: \n" + " push {lr} \n" + " bl vSystemCallExit \n" + " pop {pc} \n" + " \n" + " .align 4 \n" + " \n" + : /* No outputs. */ + : "i" ( NUM_SYSTEM_CALLS ), "i" ( portSVC_SYSTEM_CALL_EXIT ) + : "r0", "r1", "r2", "r3", "memory" + ); + } + +#else /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ + + void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern vPortSVCHandler_C \n" + " \n" + " movs r0, #4 \n" + " mov r1, lr \n" + " tst r0, r1 \n" + " beq stacking_used_msp \n" + " \n" + " stacking_used_psp: \n" + " mrs r0, psp \n" + " b vPortSVCHandler_C \n" + " \n" + " stacking_used_msp: \n" + " mrs r0, msp \n" + " b vPortSVCHandler_C \n" + " \n" + " .align 4 \n" + ); + } + +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ + +/*-----------------------------------------------------------*/ diff --git a/portable/GCC/ARM_CM0/portasm.h b/portable/GCC/ARM_CM0/portasm.h new file mode 100644 index 000000000..77e87b132 --- /dev/null +++ b/portable/GCC/ARM_CM0/portasm.h @@ -0,0 +1,99 @@ +/* + * FreeRTOS Kernel + * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + +#ifndef __PORT_ASM_H__ +#define __PORT_ASM_H__ + +/* Scheduler includes. */ +#include "FreeRTOS.h" + +/* MPU wrappers includes. */ +#include "mpu_wrappers.h" + +/** + * @brief Restore the context of the first task so that the first task starts + * executing. + */ +void vRestoreContextOfFirstTask( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION; + +/** + * @brief Checks whether or not the processor is privileged. + * + * @return 1 if the processor is already privileged, 0 otherwise. + */ +BaseType_t xIsPrivileged( void ) __attribute__( ( naked ) ); + +/** + * @brief Raises the privilege level by clearing the bit 0 of the CONTROL + * register. + * + * @note This is a privileged function and should only be called from the kenrel + * code. + * + * Bit 0 of the CONTROL register defines the privilege level of Thread Mode. + * Bit[0] = 0 --> The processor is running privileged + * Bit[0] = 1 --> The processor is running unprivileged. + */ +void vRaisePrivilege( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION; + +/** + * @brief Lowers the privilege level by setting the bit 0 of the CONTROL + * register. + * + * Bit 0 of the CONTROL register defines the privilege level of Thread Mode. + * Bit[0] = 0 --> The processor is running privileged + * Bit[0] = 1 --> The processor is running unprivileged. + */ +void vResetPrivilege( void ) __attribute__( ( naked ) ); + +/** + * @brief Starts the first task. + */ +void vStartFirstTask( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION; + +/** + * @brief Disables interrupts. + */ +uint32_t ulSetInterruptMask( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION; + +/** + * @brief Enables interrupts. + */ +void vClearInterruptMask( uint32_t ulMask ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION; + +/** + * @brief PendSV Exception handler. + */ +void PendSV_Handler( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION; + +/** + * @brief SVC Handler. + */ +void SVC_Handler( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION; + +#endif /* __PORT_ASM_H__ */ diff --git a/portable/GCC/ARM_CM0/portmacro.h b/portable/GCC/ARM_CM0/portmacro.h index 6331020bd..5acb2dcd2 100644 --- a/portable/GCC/ARM_CM0/portmacro.h +++ b/portable/GCC/ARM_CM0/portmacro.h @@ -26,7 +26,6 @@ * */ - #ifndef PORTMACRO_H #define PORTMACRO_H @@ -36,17 +35,25 @@ #endif /* *INDENT-ON* */ -/*----------------------------------------------------------- +/*------------------------------------------------------------------------------ * Port specific definitions. * - * The settings in this file configure FreeRTOS correctly for the - * given hardware and compiler. + * The settings in this file configure FreeRTOS correctly for the given hardware + * and compiler. * * These settings should not be altered. - *----------------------------------------------------------- + *------------------------------------------------------------------------------ */ -/* Type definitions. */ +#ifndef configENABLE_MPU + #error configENABLE_MPU must be defined in FreeRTOSConfig.h. Set configENABLE_MPU to 1 to enable the MPU or 0 to disable the MPU. +#endif /* configENABLE_MPU */ + +/*-----------------------------------------------------------*/ + +/** + * @brief Type definitions. + */ #define portCHAR char #define portFLOAT float #define portDOUBLE double @@ -60,33 +67,223 @@ typedef long BaseType_t; typedef unsigned long UBaseType_t; #if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS ) - typedef uint16_t TickType_t; - #define portMAX_DELAY ( TickType_t ) 0xffff + typedef uint16_t TickType_t; + #define portMAX_DELAY ( TickType_t ) 0xffff #elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS ) - typedef uint32_t TickType_t; - #define portMAX_DELAY ( TickType_t ) 0xffffffffUL + typedef uint32_t TickType_t; + #define portMAX_DELAY ( TickType_t ) 0xffffffffUL -/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do - * not need to be guarded with a critical section. */ + /* 32-bit tick type on a 32-bit architecture, so reads of the tick count do + * not need to be guarded with a critical section. */ #define portTICK_TYPE_IS_ATOMIC 1 #else #error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width. #endif /*-----------------------------------------------------------*/ -/* Architecture specifics. */ -#define portSTACK_GROWTH ( -1 ) -#define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ ) -#define portBYTE_ALIGNMENT 8 -#define portDONT_DISCARD __attribute__( ( used ) ) +/** + * Architecture specifics. + */ +#define portARCH_NAME "Cortex-M0+" +#define portSTACK_GROWTH ( -1 ) +#define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ ) +#define portBYTE_ALIGNMENT 8 +#define portNOP() +#define portINLINE __inline +#ifndef portFORCE_INLINE + #define portFORCE_INLINE inline __attribute__( ( always_inline ) ) +#endif +#define portDONT_DISCARD __attribute__( ( used ) ) /*-----------------------------------------------------------*/ +/** + * @brief Extern declarations. + */ +extern BaseType_t xPortIsInsideInterrupt( void ); + +extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */; + +extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */; +extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */; + +extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */; +extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */; + +#if ( configENABLE_MPU == 1 ) + extern BaseType_t xIsPrivileged( void ) /* __attribute__ (( naked )) */; + extern void vResetPrivilege( void ) /* __attribute__ (( naked )) */; +#endif /* configENABLE_MPU */ +/*-----------------------------------------------------------*/ + +/** + * @brief MPU specific constants. + */ +#if ( configENABLE_MPU == 1 ) + #define portUSING_MPU_WRAPPERS 1 + #define portPRIVILEGE_BIT ( 0x80000000UL ) +#else + #define portPRIVILEGE_BIT ( 0x0UL ) +#endif /* configENABLE_MPU */ + +/* Shareable (S), Cacheable (C) and Bufferable (B) bits for flash region. */ +#ifndef configS_C_B_FLASH + #define configS_C_B_FLASH ( 0x07UL ) +#endif + +/* Shareable (S), Cacheable (C) and Bufferable (B) bits for RAM region. */ +#ifndef configS_C_B_SRAM + #define configS_C_B_SRAM ( 0x07UL ) +#endif + +/* MPU regions. */ +#define portPRIVILEGED_RAM_REGION ( 7UL ) +#define portPRIVILEGED_FLASH_REGION ( 6UL ) +#define portUNPRIVILEGED_FLASH_REGION ( 5UL ) +#define portSTACK_REGION ( 4UL ) +#define portFIRST_CONFIGURABLE_REGION ( 0UL ) +#define portLAST_CONFIGURABLE_REGION ( 3UL ) +#define portNUM_CONFIGURABLE_REGIONS ( 4UL ) +#define portTOTAL_NUM_REGIONS ( portNUM_CONFIGURABLE_REGIONS + 1UL ) /* Plus one to make space for the stack region. */ + +/* MPU region sizes. This information is encoded in the SIZE bits of the MPU + * Region Attribute and Size Register (RASR). */ +#define portMPU_REGION_SIZE_256B ( 0x07UL << 1UL ) +#define portMPU_REGION_SIZE_512B ( 0x08UL << 1UL ) +#define portMPU_REGION_SIZE_1KB ( 0x09UL << 1UL ) +#define portMPU_REGION_SIZE_2KB ( 0x0AUL << 1UL ) +#define portMPU_REGION_SIZE_4KB ( 0x0BUL << 1UL ) +#define portMPU_REGION_SIZE_8KB ( 0x0CUL << 1UL ) +#define portMPU_REGION_SIZE_16KB ( 0x0DUL << 1UL ) +#define portMPU_REGION_SIZE_32KB ( 0x0EUL << 1UL ) +#define portMPU_REGION_SIZE_64KB ( 0x0FUL << 1UL ) +#define portMPU_REGION_SIZE_128KB ( 0x10UL << 1UL ) +#define portMPU_REGION_SIZE_256KB ( 0x11UL << 1UL ) +#define portMPU_REGION_SIZE_512KB ( 0x12UL << 1UL ) +#define portMPU_REGION_SIZE_1MB ( 0x13UL << 1UL ) +#define portMPU_REGION_SIZE_2MB ( 0x14UL << 1UL ) +#define portMPU_REGION_SIZE_4MB ( 0x15UL << 1UL ) +#define portMPU_REGION_SIZE_8MB ( 0x16UL << 1UL ) +#define portMPU_REGION_SIZE_16MB ( 0x17UL << 1UL ) +#define portMPU_REGION_SIZE_32MB ( 0x18UL << 1UL ) +#define portMPU_REGION_SIZE_64MB ( 0x19UL << 1UL ) +#define portMPU_REGION_SIZE_128MB ( 0x1AUL << 1UL ) +#define portMPU_REGION_SIZE_256MB ( 0x1BUL << 1UL ) +#define portMPU_REGION_SIZE_512MB ( 0x1CUL << 1UL ) +#define portMPU_REGION_SIZE_1GB ( 0x1DUL << 1UL ) +#define portMPU_REGION_SIZE_2GB ( 0x1EUL << 1UL ) +#define portMPU_REGION_SIZE_4GB ( 0x1FUL << 1UL ) + +/* MPU memory types. This information is encoded in the S ( Shareable), C + * (Cacheable) and B (Bufferable) bits of the MPU Region Attribute and Size + * Register (RASR). */ +#define portMPU_REGION_STRONGLY_ORDERED_SHAREABLE ( 0x0UL << 16UL ) /* S=NA, C=0, B=0. */ +#define portMPU_REGION_DEVICE_SHAREABLE ( 0x1UL << 16UL ) /* S=NA, C=0, B=1. */ +#define portMPU_REGION_NORMAL_OIWTNOWA_NONSHARED ( 0x2UL << 16UL ) /* S=0, C=1, B=0. */ +#define portMPU_REGION_NORMAL_OIWTNOWA_SHARED ( 0x6UL << 16UL ) /* S=1, C=1, B=0. */ +#define portMPU_REGION_NORMAL_OIWBNOWA_NONSHARED ( 0x3UL << 16UL ) /* S=0, C=1, B=1.*/ +#define portMPU_REGION_NORMAL_OIWBNOWA_SHARED ( 0x7UL << 16UL ) /* S=1, C=1, B=1.*/ + +/* MPU access permissions. This information is encoded in the AP and XN bits of + * the MPU Region Attribute and Size Register (RASR). */ +#define portMPU_REGION_PRIV_NA_UNPRIV_NA ( 0x0UL << 24UL ) +#define portMPU_REGION_PRIV_RW_UNPRIV_NA ( 0x1UL << 24UL ) +#define portMPU_REGION_PRIV_RW_UNPRIV_RO ( 0x2UL << 24UL ) +#define portMPU_REGION_PRIV_RW_UNPRIV_RW ( 0x3UL << 24UL ) +#define portMPU_REGION_PRIV_RO_UNPRIV_NA ( 0x5UL << 24UL ) +#define portMPU_REGION_PRIV_RO_UNPRIV_RO ( 0x6UL << 24UL ) +#define portMPU_REGION_EXECUTE_NEVER ( 0x1UL << 28UL ) + +#if ( configENABLE_MPU == 1 ) + + /** + * @brief Settings to define an MPU region. + */ + typedef struct MPURegionSettings + { + uint32_t ulRBAR; /**< MPU Region Base Address Register (RBAR) for the region. */ + uint32_t ulRASR; /**< MPU Region Attribute and Size Register (RASR) for the region. */ + } MPURegionSettings_t; + + #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) + + #ifndef configSYSTEM_CALL_STACK_SIZE + #error configSYSTEM_CALL_STACK_SIZE must be defined to the desired size of the system call stack in words for using MPU wrappers v2. + #endif + + /** + * @brief System call stack. + */ + typedef struct SYSTEM_CALL_STACK_INFO + { + uint32_t ulSystemCallStackBuffer[ configSYSTEM_CALL_STACK_SIZE ]; + uint32_t * pulSystemCallStack; + uint32_t * pulTaskStack; + uint32_t ulLinkRegisterAtSystemCallEntry; + } xSYSTEM_CALL_STACK_INFO; + + #endif /* configUSE_MPU_WRAPPERS_V1 == 0 */ + + /** + * @brief MPU settings as stored in the TCB. + */ + + /* + * +----------+-----------------+---------------+-----+ + * | r4-r11 | r0-r3, r12, LR, | PSP, CONTROL | | + * | | PC, xPSR | EXC_RETURN | | + * +----------+-----------------+---------------+-----+ + * + * <---------><----------------><---------------><----> + * 8 8 3 1 + */ + #define CONTEXT_SIZE 20 + + /* Flags used for xMPU_SETTINGS.ulTaskFlags member. */ + #define portSTACK_FRAME_HAS_PADDING_FLAG ( 1UL << 0UL ) + #define portTASK_IS_PRIVILEGED_FLAG ( 1UL << 1UL ) + + /* Size of an Access Control List (ACL) entry in bits. */ + #define portACL_ENTRY_SIZE_BITS ( 32U ) + + typedef struct MPU_SETTINGS + { + MPURegionSettings_t xRegionsSettings[ portTOTAL_NUM_REGIONS ]; /**< Settings for 4 per task regions. */ + uint32_t ulContext[ CONTEXT_SIZE ]; + uint32_t ulTaskFlags; + + #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) + xSYSTEM_CALL_STACK_INFO xSystemCallStackInfo; + #if ( configENABLE_ACCESS_CONTROL_LIST == 1 ) + uint32_t ulAccessControlList[ ( configPROTECTED_KERNEL_OBJECT_POOL_SIZE / portACL_ENTRY_SIZE_BITS ) + 1 ]; + #endif + #endif + } xMPU_SETTINGS; + +#endif /* configENABLE_MPU == 1 */ +/*-----------------------------------------------------------*/ + +/** + * @brief SVC numbers. + */ +#define portSVC_START_SCHEDULER 100 +#define portSVC_RAISE_PRIVILEGE 101 +#define portSVC_SYSTEM_CALL_EXIT 102 +#define portSVC_YIELD 103 +/*-----------------------------------------------------------*/ + +/** + * @brief Scheduler utilities. + */ +#if ( configENABLE_MPU == 1 ) + #define portYIELD() __asm volatile ( "svc %0" ::"i" ( portSVC_YIELD ) : "memory" ) + #define portYIELD_WITHIN_API() vPortYield() +#else + #define portYIELD() vPortYield() + #define portYIELD_WITHIN_API() vPortYield() +#endif -/* Scheduler utilities. */ -extern void vPortYield( void ); #define portNVIC_INT_CTRL_REG ( *( ( volatile uint32_t * ) 0xe000ed04 ) ) #define portNVIC_PENDSVSET_BIT ( 1UL << 28UL ) -#define portYIELD() vPortYield() #define portEND_SWITCHING_ISR( xSwitchRequired ) \ do \ { \ @@ -103,66 +300,84 @@ extern void vPortYield( void ); #define portYIELD_FROM_ISR( x ) portEND_SWITCHING_ISR( x ) /*-----------------------------------------------------------*/ - -/* Critical section management. */ -extern void vPortEnterCritical( void ); -extern void vPortExitCritical( void ); -extern uint32_t ulSetInterruptMaskFromISR( void ) __attribute__( ( naked ) ); -extern void vClearInterruptMaskFromISR( uint32_t ulMask ) __attribute__( ( naked ) ); - -#define portSET_INTERRUPT_MASK_FROM_ISR() ulSetInterruptMaskFromISR() -#define portCLEAR_INTERRUPT_MASK_FROM_ISR( x ) vClearInterruptMaskFromISR( x ) -#define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" ) -#define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" ) -#define portENTER_CRITICAL() vPortEnterCritical() -#define portEXIT_CRITICAL() vPortExitCritical() - +/** + * @brief Critical section management. + */ +#define portSET_INTERRUPT_MASK_FROM_ISR() ulSetInterruptMask() +#define portCLEAR_INTERRUPT_MASK_FROM_ISR( x ) vClearInterruptMask( x ) +#define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" ) +#define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" ) +#define portENTER_CRITICAL() vPortEnterCritical() +#define portEXIT_CRITICAL() vPortExitCritical() /*-----------------------------------------------------------*/ -/* Tickless idle/low power functionality. */ +/** + * @brief Tickless idle/low power functionality. + */ #ifndef portSUPPRESS_TICKS_AND_SLEEP extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ); #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) vPortSuppressTicksAndSleep( xExpectedIdleTime ) #endif /*-----------------------------------------------------------*/ -/* Task function macros as described on the FreeRTOS.org WEB site. */ +/** + * @brief Task function macros as described on the FreeRTOS.org website. + */ #define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void * pvParameters ) #define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void * pvParameters ) - -#define portNOP() - -#define portMEMORY_BARRIER() __asm volatile ( "" ::: "memory" ) - - -#define portINLINE __inline - -#ifndef portFORCE_INLINE - #define portFORCE_INLINE inline __attribute__( ( always_inline ) ) -#endif - /*-----------------------------------------------------------*/ -portFORCE_INLINE static BaseType_t xPortIsInsideInterrupt( void ) -{ - uint32_t ulCurrentInterrupt; - BaseType_t xReturn; +#if ( configENABLE_MPU == 1 ) - /* Obtain the number of the currently executing interrupt. */ - __asm volatile ( "mrs %0, ipsr" : "=r" ( ulCurrentInterrupt )::"memory" ); + /** + * @brief Checks whether or not the processor is privileged. + * + * @return 1 if the processor is already privileged, 0 otherwise. + */ + #define portIS_PRIVILEGED() xIsPrivileged() - if( ulCurrentInterrupt == 0 ) - { - xReturn = pdFALSE; - } - else - { - xReturn = pdTRUE; - } + /** + * @brief Raise an SVC request to raise privilege. + * + * The SVC handler checks that the SVC was raised from a system call and only + * then it raises the privilege. If this is called from any other place, + * the privilege is not raised. + */ + #define portRAISE_PRIVILEGE() __asm volatile ( "svc %0 \n" ::"i" ( portSVC_RAISE_PRIVILEGE ) : "memory" ); - return xReturn; -} + /** + * @brief Lowers the privilege level by setting the bit 0 of the CONTROL + * register. + */ + #define portRESET_PRIVILEGE() vResetPrivilege() +#else + + #define portIS_PRIVILEGED() + #define portRAISE_PRIVILEGE() + #define portRESET_PRIVILEGE() + +#endif /* configENABLE_MPU */ +/*-----------------------------------------------------------*/ + +#if ( configENABLE_MPU == 1 ) + + extern BaseType_t xPortIsTaskPrivileged( void ); + + /** + * @brief Checks whether or not the calling task is privileged. + * + * @return pdTRUE if the calling task is privileged, pdFALSE otherwise. + */ + #define portIS_TASK_PRIVILEGED() xPortIsTaskPrivileged() + +#endif /* configENABLE_MPU == 1 */ +/*-----------------------------------------------------------*/ + +/** + * @brief Barriers. + */ +#define portMEMORY_BARRIER() __asm volatile ( "" ::: "memory" ) /*-----------------------------------------------------------*/ /* *INDENT-OFF* */ From a455b86bd3713707d9b762539c63fb798f2205a0 Mon Sep 17 00:00:00 2001 From: Soren Ptak Date: Tue, 26 Mar 2024 22:07:11 -0700 Subject: [PATCH 26/38] Add removed unprivileged access check to ARM_CRx_MPU xPortIsAuthorizedToAccessBuffer() (#1016) * Add in a removed check for if a task is attempting to read a variable from a location it has write access to in xPortIsAuthorizedToAccessBuffer. * Add in a portDONT_DISCARD symbol as well. --- portable/GCC/ARM_CRx_MPU/port.c | 4 +++- portable/GCC/ARM_CRx_MPU/portmacro.h | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/portable/GCC/ARM_CRx_MPU/port.c b/portable/GCC/ARM_CRx_MPU/port.c index bef3a7854..e4904e58d 100644 --- a/portable/GCC/ARM_CRx_MPU/port.c +++ b/portable/GCC/ARM_CRx_MPU/port.c @@ -598,7 +598,9 @@ static BaseType_t prvMPURegionAuthorizesBuffer( const xMPU_REGION_REGISTERS * xT if( ulAccessRequested == tskMPU_READ_PERMISSION ) /* RO. */ { if( ( ulMPURegionAccessPermissions == portMPU_REGION_PRIV_RW_USER_RO ) || - ( ulMPURegionAccessPermissions == portMPU_REGION_PRIV_RO_USER_RO ) ) + ( ulMPURegionAccessPermissions == portMPU_REGION_PRIV_RO_USER_RO ) || + ( ulMPURegionAccessPermissions == portMPU_REGION_PRIV_RW_USER_RW ) ) + { xAccessGranted = pdTRUE; } diff --git a/portable/GCC/ARM_CRx_MPU/portmacro.h b/portable/GCC/ARM_CRx_MPU/portmacro.h index 4ca649f6e..7e80f093e 100644 --- a/portable/GCC/ARM_CRx_MPU/portmacro.h +++ b/portable/GCC/ARM_CRx_MPU/portmacro.h @@ -221,6 +221,13 @@ typedef uint32_t TickType_t; */ #define portMEMORY_BARRIER() __asm volatile( "" ::: "memory" ) +/** + * @brief Ensure a symbol isn't removed from the compilation unit. + * + * @ingroup Port Interface Specifications + */ +#define portDONT_DISCARD __attribute__( ( used ) ) + /** * @brief Defines if the tick count can be accessed atomically. * From 39dbff72045bec24965df5c784a1cd84d41ce387 Mon Sep 17 00:00:00 2001 From: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> Date: Wed, 27 Mar 2024 14:05:20 +0530 Subject: [PATCH 27/38] Allow xPortIsAuthorizedToAccessBuffer() API call only from mpu_wrappers_v2 (#992) * Add support to call xPortxPortIsAuthorizedToAccessBuffer function only when using latest MPU wrappers * Fix build issue in ARM CM3 MPU port * Code review suggestions Signed-off-by: Gaurav Aggarwal --------- Signed-off-by: Gaurav Aggarwal Co-authored-by: Soren Ptak Co-authored-by: Gaurav Aggarwal Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com> --- portable/ARMv8M/non_secure/port.c | 24 ++++-- portable/GCC/ARM_CM23/non_secure/port.c | 24 ++++-- portable/GCC/ARM_CM23_NTZ/non_secure/port.c | 24 ++++-- portable/GCC/ARM_CM33/non_secure/port.c | 24 ++++-- portable/GCC/ARM_CM33_NTZ/non_secure/port.c | 24 ++++-- portable/GCC/ARM_CM35P/non_secure/port.c | 24 ++++-- portable/GCC/ARM_CM35P_NTZ/non_secure/port.c | 24 ++++-- portable/GCC/ARM_CM3_MPU/port.c | 84 ++++++++++--------- portable/GCC/ARM_CM4_MPU/port.c | 84 ++++++++++--------- portable/GCC/ARM_CM55/non_secure/port.c | 24 ++++-- portable/GCC/ARM_CM55_NTZ/non_secure/port.c | 24 ++++-- portable/GCC/ARM_CM85/non_secure/port.c | 24 ++++-- portable/GCC/ARM_CM85_NTZ/non_secure/port.c | 24 ++++-- portable/IAR/ARM_CM23/non_secure/port.c | 24 ++++-- portable/IAR/ARM_CM23_NTZ/non_secure/port.c | 24 ++++-- portable/IAR/ARM_CM33/non_secure/port.c | 24 ++++-- portable/IAR/ARM_CM33_NTZ/non_secure/port.c | 24 ++++-- portable/IAR/ARM_CM35P/non_secure/port.c | 24 ++++-- portable/IAR/ARM_CM35P_NTZ/non_secure/port.c | 24 ++++-- portable/IAR/ARM_CM4F_MPU/port.c | 84 ++++++++++--------- portable/IAR/ARM_CM55/non_secure/port.c | 24 ++++-- portable/IAR/ARM_CM55_NTZ/non_secure/port.c | 24 ++++-- portable/IAR/ARM_CM85/non_secure/port.c | 24 ++++-- portable/IAR/ARM_CM85_NTZ/non_secure/port.c | 24 ++++-- portable/RVDS/ARM_CM4_MPU/port.c | 86 ++++++++++---------- 25 files changed, 555 insertions(+), 287 deletions(-) diff --git a/portable/ARMv8M/non_secure/port.c b/portable/ARMv8M/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/ARMv8M/non_secure/port.c +++ b/portable/ARMv8M/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/GCC/ARM_CM23/non_secure/port.c b/portable/GCC/ARM_CM23/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/GCC/ARM_CM23/non_secure/port.c +++ b/portable/GCC/ARM_CM23/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/GCC/ARM_CM23_NTZ/non_secure/port.c b/portable/GCC/ARM_CM23_NTZ/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/GCC/ARM_CM23_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM23_NTZ/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/GCC/ARM_CM33/non_secure/port.c b/portable/GCC/ARM_CM33/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/GCC/ARM_CM33/non_secure/port.c +++ b/portable/GCC/ARM_CM33/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/GCC/ARM_CM33_NTZ/non_secure/port.c b/portable/GCC/ARM_CM33_NTZ/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/GCC/ARM_CM33_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM33_NTZ/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/GCC/ARM_CM35P/non_secure/port.c b/portable/GCC/ARM_CM35P/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/GCC/ARM_CM35P/non_secure/port.c +++ b/portable/GCC/ARM_CM35P/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c b/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/GCC/ARM_CM3_MPU/port.c b/portable/GCC/ARM_CM3_MPU/port.c index fd7640017..872882d77 100644 --- a/portable/GCC/ARM_CM3_MPU/port.c +++ b/portable/GCC/ARM_CM3_MPU/port.c @@ -264,14 +264,14 @@ BaseType_t xPortIsTaskPrivileged( void ) PRIVILEGED_FUNCTION; * switches can only occur when uxCriticalNesting is zero. */ static UBaseType_t uxCriticalNesting = 0xaaaaaaaa; -#if ( ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( configUSE_MPU_WRAPPERS_V1 == 0 ) /* * This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /* * Used by the portASSERT_IF_INTERRUPT_PRIORITY_INVALID() macro to ensure @@ -878,11 +878,11 @@ BaseType_t xPortStartScheduler( void ) /* Initialise the critical nesting count ready for the first task. */ uxCriticalNesting = 0; - #if ( ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /* Start the first task. */ __asm volatile ( @@ -1371,53 +1371,57 @@ void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, } /*-----------------------------------------------------------*/ -BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, - uint32_t ulBufferLength, - uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ +#if ( configUSE_MPU_WRAPPERS_V1 == 0 ) -{ - uint32_t i, ulBufferStartAddress, ulBufferEndAddress; - BaseType_t xAccessGranted = pdFALSE; - const xMPU_SETTINGS * xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */ + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, + uint32_t ulBufferLength, + uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ - if( xSchedulerRunning == pdFALSE ) { - /* Grant access to all the kernel objects before the scheduler - * is started. It is necessary because there is no task running - * yet and therefore, we cannot use the permissions of any - * task. */ - xAccessGranted = pdTRUE; - } - else if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) - { - xAccessGranted = pdTRUE; - } - else - { - if( portADD_UINT32_WILL_OVERFLOW( ( ( uint32_t ) pvBuffer ), ( ulBufferLength - 1UL ) ) == pdFALSE ) + uint32_t i, ulBufferStartAddress, ulBufferEndAddress; + BaseType_t xAccessGranted = pdFALSE; + const xMPU_SETTINGS * xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */ + + if( xSchedulerRunning == pdFALSE ) { - ulBufferStartAddress = ( uint32_t ) pvBuffer; - ulBufferEndAddress = ( ( ( uint32_t ) pvBuffer ) + ulBufferLength - 1UL ); - - for( i = 0; i < portTOTAL_NUM_REGIONS_IN_TCB; i++ ) + /* Grant access to all the kernel objects before the scheduler + * is started. It is necessary because there is no task running + * yet and therefore, we cannot use the permissions of any + * task. */ + xAccessGranted = pdTRUE; + } + else if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) + { + xAccessGranted = pdTRUE; + } + else + { + if( portADD_UINT32_WILL_OVERFLOW( ( ( uint32_t ) pvBuffer ), ( ulBufferLength - 1UL ) ) == pdFALSE ) { - if( portIS_ADDRESS_WITHIN_RANGE( ulBufferStartAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && - portIS_ADDRESS_WITHIN_RANGE( ulBufferEndAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && - portIS_AUTHORIZED( ulAccessRequested, xTaskMpuSettings->xRegionSettings[ i ].ulRegionPermissions ) ) + ulBufferStartAddress = ( uint32_t ) pvBuffer; + ulBufferEndAddress = ( ( ( uint32_t ) pvBuffer ) + ulBufferLength - 1UL ); + + for( i = 0; i < portTOTAL_NUM_REGIONS_IN_TCB; i++ ) { - xAccessGranted = pdTRUE; - break; + if( portIS_ADDRESS_WITHIN_RANGE( ulBufferStartAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && + portIS_ADDRESS_WITHIN_RANGE( ulBufferEndAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && + portIS_AUTHORIZED( ulAccessRequested, xTaskMpuSettings->xRegionSettings[ i ].ulRegionPermissions ) ) + { + xAccessGranted = pdTRUE; + break; + } } } } + + return xAccessGranted; } - return xAccessGranted; -} +#endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ #if ( configASSERT_DEFINED == 1 ) diff --git a/portable/GCC/ARM_CM4_MPU/port.c b/portable/GCC/ARM_CM4_MPU/port.c index 04ed7aa0e..210165544 100644 --- a/portable/GCC/ARM_CM4_MPU/port.c +++ b/portable/GCC/ARM_CM4_MPU/port.c @@ -289,14 +289,14 @@ BaseType_t xPortIsTaskPrivileged( void ) PRIVILEGED_FUNCTION; * switches can only occur when uxCriticalNesting is zero. */ static UBaseType_t uxCriticalNesting = 0xaaaaaaaa; -#if ( ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( configUSE_MPU_WRAPPERS_V1 == 0 ) /* * This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /* * Used by the portASSERT_IF_INTERRUPT_PRIORITY_INVALID() macro to ensure @@ -963,11 +963,11 @@ BaseType_t xPortStartScheduler( void ) /* Initialise the critical nesting count ready for the first task. */ uxCriticalNesting = 0; - #if ( ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /* Ensure the VFP is enabled - it should be anyway. */ vPortEnableVFP(); @@ -1514,53 +1514,57 @@ void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, } /*-----------------------------------------------------------*/ -BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, - uint32_t ulBufferLength, - uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ +#if ( configUSE_MPU_WRAPPERS_V1 == 0 ) -{ - uint32_t i, ulBufferStartAddress, ulBufferEndAddress; - BaseType_t xAccessGranted = pdFALSE; - const xMPU_SETTINGS * xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */ + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, + uint32_t ulBufferLength, + uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ - if( xSchedulerRunning == pdFALSE ) { - /* Grant access to all the kernel objects before the scheduler - * is started. It is necessary because there is no task running - * yet and therefore, we cannot use the permissions of any - * task. */ - xAccessGranted = pdTRUE; - } - else if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) - { - xAccessGranted = pdTRUE; - } - else - { - if( portADD_UINT32_WILL_OVERFLOW( ( ( uint32_t ) pvBuffer ), ( ulBufferLength - 1UL ) ) == pdFALSE ) + uint32_t i, ulBufferStartAddress, ulBufferEndAddress; + BaseType_t xAccessGranted = pdFALSE; + const xMPU_SETTINGS * xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */ + + if( xSchedulerRunning == pdFALSE ) { - ulBufferStartAddress = ( uint32_t ) pvBuffer; - ulBufferEndAddress = ( ( ( uint32_t ) pvBuffer ) + ulBufferLength - 1UL ); - - for( i = 0; i < portTOTAL_NUM_REGIONS_IN_TCB; i++ ) + /* Grant access to all the kernel objects before the scheduler + * is started. It is necessary because there is no task running + * yet and therefore, we cannot use the permissions of any + * task. */ + xAccessGranted = pdTRUE; + } + else if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) + { + xAccessGranted = pdTRUE; + } + else + { + if( portADD_UINT32_WILL_OVERFLOW( ( ( uint32_t ) pvBuffer ), ( ulBufferLength - 1UL ) ) == pdFALSE ) { - if( portIS_ADDRESS_WITHIN_RANGE( ulBufferStartAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && - portIS_ADDRESS_WITHIN_RANGE( ulBufferEndAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && - portIS_AUTHORIZED( ulAccessRequested, xTaskMpuSettings->xRegionSettings[ i ].ulRegionPermissions ) ) + ulBufferStartAddress = ( uint32_t ) pvBuffer; + ulBufferEndAddress = ( ( ( uint32_t ) pvBuffer ) + ulBufferLength - 1UL ); + + for( i = 0; i < portTOTAL_NUM_REGIONS_IN_TCB; i++ ) { - xAccessGranted = pdTRUE; - break; + if( portIS_ADDRESS_WITHIN_RANGE( ulBufferStartAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && + portIS_ADDRESS_WITHIN_RANGE( ulBufferEndAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && + portIS_AUTHORIZED( ulAccessRequested, xTaskMpuSettings->xRegionSettings[ i ].ulRegionPermissions ) ) + { + xAccessGranted = pdTRUE; + break; + } } } } + + return xAccessGranted; } - return xAccessGranted; -} +#endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ #if ( configASSERT_DEFINED == 1 ) diff --git a/portable/GCC/ARM_CM55/non_secure/port.c b/portable/GCC/ARM_CM55/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/GCC/ARM_CM55/non_secure/port.c +++ b/portable/GCC/ARM_CM55/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/GCC/ARM_CM55_NTZ/non_secure/port.c b/portable/GCC/ARM_CM55_NTZ/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/GCC/ARM_CM55_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM55_NTZ/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/GCC/ARM_CM85/non_secure/port.c b/portable/GCC/ARM_CM85/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/GCC/ARM_CM85/non_secure/port.c +++ b/portable/GCC/ARM_CM85/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/GCC/ARM_CM85_NTZ/non_secure/port.c b/portable/GCC/ARM_CM85_NTZ/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/GCC/ARM_CM85_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM85_NTZ/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/IAR/ARM_CM23/non_secure/port.c b/portable/IAR/ARM_CM23/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/IAR/ARM_CM23/non_secure/port.c +++ b/portable/IAR/ARM_CM23/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/IAR/ARM_CM23_NTZ/non_secure/port.c b/portable/IAR/ARM_CM23_NTZ/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/IAR/ARM_CM23_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM23_NTZ/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/IAR/ARM_CM33/non_secure/port.c b/portable/IAR/ARM_CM33/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/IAR/ARM_CM33/non_secure/port.c +++ b/portable/IAR/ARM_CM33/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/IAR/ARM_CM33_NTZ/non_secure/port.c b/portable/IAR/ARM_CM33_NTZ/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/IAR/ARM_CM33_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM33_NTZ/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/IAR/ARM_CM35P/non_secure/port.c b/portable/IAR/ARM_CM35P/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/IAR/ARM_CM35P/non_secure/port.c +++ b/portable/IAR/ARM_CM35P/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c b/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/IAR/ARM_CM4F_MPU/port.c b/portable/IAR/ARM_CM4F_MPU/port.c index 622af0f1e..f5772c1d8 100644 --- a/portable/IAR/ARM_CM4F_MPU/port.c +++ b/portable/IAR/ARM_CM4F_MPU/port.c @@ -300,14 +300,14 @@ extern void xPortPendSVHandler( void ) PRIVILEGED_FUNCTION; * variable. */ static UBaseType_t uxCriticalNesting = 0xaaaaaaaa; -#if ( ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( configUSE_MPU_WRAPPERS_V1 == 0 ) /* * This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /* * Used by the portASSERT_IF_INTERRUPT_PRIORITY_INVALID() macro to ensure @@ -858,11 +858,11 @@ BaseType_t xPortStartScheduler( void ) /* Initialise the critical nesting count ready for the first task. */ uxCriticalNesting = 0; - #if ( ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /* Ensure the VFP is enabled - it should be anyway. */ vPortEnableVFP(); @@ -1244,53 +1244,57 @@ void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, } /*-----------------------------------------------------------*/ -BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, - uint32_t ulBufferLength, - uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ +#if ( configUSE_MPU_WRAPPERS_V1 == 0 ) -{ - uint32_t i, ulBufferStartAddress, ulBufferEndAddress; - BaseType_t xAccessGranted = pdFALSE; - const xMPU_SETTINGS * xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */ + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, + uint32_t ulBufferLength, + uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ - if( xSchedulerRunning == pdFALSE ) { - /* Grant access to all the kernel objects before the scheduler - * is started. It is necessary because there is no task running - * yet and therefore, we cannot use the permissions of any - * task. */ - xAccessGranted = pdTRUE; - } - else if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) - { - xAccessGranted = pdTRUE; - } - else - { - if( portADD_UINT32_WILL_OVERFLOW( ( ( uint32_t ) pvBuffer ), ( ulBufferLength - 1UL ) ) == pdFALSE ) + uint32_t i, ulBufferStartAddress, ulBufferEndAddress; + BaseType_t xAccessGranted = pdFALSE; + const xMPU_SETTINGS * xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */ + + if( xSchedulerRunning == pdFALSE ) { - ulBufferStartAddress = ( uint32_t ) pvBuffer; - ulBufferEndAddress = ( ( ( uint32_t ) pvBuffer ) + ulBufferLength - 1UL ); - - for( i = 0; i < portTOTAL_NUM_REGIONS_IN_TCB; i++ ) + /* Grant access to all the kernel objects before the scheduler + * is started. It is necessary because there is no task running + * yet and therefore, we cannot use the permissions of any + * task. */ + xAccessGranted = pdTRUE; + } + else if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) + { + xAccessGranted = pdTRUE; + } + else + { + if( portADD_UINT32_WILL_OVERFLOW( ( ( uint32_t ) pvBuffer ), ( ulBufferLength - 1UL ) ) == pdFALSE ) { - if( portIS_ADDRESS_WITHIN_RANGE( ulBufferStartAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && - portIS_ADDRESS_WITHIN_RANGE( ulBufferEndAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && - portIS_AUTHORIZED( ulAccessRequested, xTaskMpuSettings->xRegionSettings[ i ].ulRegionPermissions ) ) + ulBufferStartAddress = ( uint32_t ) pvBuffer; + ulBufferEndAddress = ( ( ( uint32_t ) pvBuffer ) + ulBufferLength - 1UL ); + + for( i = 0; i < portTOTAL_NUM_REGIONS_IN_TCB; i++ ) { - xAccessGranted = pdTRUE; - break; + if( portIS_ADDRESS_WITHIN_RANGE( ulBufferStartAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && + portIS_ADDRESS_WITHIN_RANGE( ulBufferEndAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && + portIS_AUTHORIZED( ulAccessRequested, xTaskMpuSettings->xRegionSettings[ i ].ulRegionPermissions ) ) + { + xAccessGranted = pdTRUE; + break; + } } } } + + return xAccessGranted; } - return xAccessGranted; -} +#endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ diff --git a/portable/IAR/ARM_CM55/non_secure/port.c b/portable/IAR/ARM_CM55/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/IAR/ARM_CM55/non_secure/port.c +++ b/portable/IAR/ARM_CM55/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/IAR/ARM_CM55_NTZ/non_secure/port.c b/portable/IAR/ARM_CM55_NTZ/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/IAR/ARM_CM55_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM55_NTZ/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/IAR/ARM_CM85/non_secure/port.c b/portable/IAR/ARM_CM85/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/IAR/ARM_CM85/non_secure/port.c +++ b/portable/IAR/ARM_CM85/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/IAR/ARM_CM85_NTZ/non_secure/port.c b/portable/IAR/ARM_CM85_NTZ/non_secure/port.c index 7171a72bf..329de05d7 100644 --- a/portable/IAR/ARM_CM85_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM85_NTZ/non_secure/port.c @@ -496,14 +496,14 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV #endif /* configENABLE_MPU == 1 */ /*-----------------------------------------------------------*/ -#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) /** * @brief This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /** * @brief Each task maintains its own interrupt status in the critical nesting @@ -555,6 +555,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; /*-----------------------------------------------------------*/ #if ( configUSE_TICKLESS_IDLE == 1 ) + __attribute__( ( weak ) ) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) { uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements, ulSysTickDecrementsLeft; @@ -770,6 +771,7 @@ PRIVILEGED_DATA static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL; __asm volatile ( "cpsie i" ::: "memory" ); } } + #endif /* configUSE_TICKLESS_IDLE */ /*-----------------------------------------------------------*/ @@ -827,6 +829,7 @@ static void prvTaskExitError( void ) /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static uint32_t prvGetRegionAccessPermissions( uint32_t ulRBARValue ) /* PRIVILEGED_FUNCTION */ { uint32_t ulAccessPermissions = 0; @@ -843,10 +846,12 @@ static void prvTaskExitError( void ) return ulAccessPermissions; } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */ { #if defined( __ARMCC_VERSION ) @@ -935,10 +940,12 @@ static void prvTaskExitError( void ) portMPU_CTRL_REG |= ( portMPU_PRIV_BACKGROUND_ENABLE_BIT | portMPU_ENABLE_BIT ); } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ #if ( configENABLE_FPU == 1 ) + static void prvSetupFPU( void ) /* PRIVILEGED_FUNCTION */ { #if ( configENABLE_TRUSTZONE == 1 ) @@ -960,6 +967,7 @@ static void prvTaskExitError( void ) * LSPEN = 1 ==> Enable lazy context save of FP state. */ *( portFPCCR ) |= ( portFPCCR_ASPEN_MASK | portFPCCR_LSPEN_MASK ); } + #endif /* configENABLE_FPU */ /*-----------------------------------------------------------*/ @@ -1740,11 +1748,11 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ /* Initialize the critical nesting count ready for the first task. */ ulCriticalNesting = 0; - #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */ /* Start the first task. */ vStartFirstTask(); @@ -1772,6 +1780,7 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ /*-----------------------------------------------------------*/ #if ( configENABLE_MPU == 1 ) + void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, const struct xMEMORY_REGION * const xRegions, StackType_t * pxBottomOfStack, @@ -1893,10 +1902,12 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ lIndex++; } } + #endif /* configENABLE_MPU */ /*-----------------------------------------------------------*/ -#if ( configENABLE_MPU == 1 ) +#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, uint32_t ulBufferLength, uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ @@ -1949,7 +1960,8 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */ return xAccessGranted; } -#endif /* configENABLE_MPU */ + +#endif /* #if ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ BaseType_t xPortIsInsideInterrupt( void ) diff --git a/portable/RVDS/ARM_CM4_MPU/port.c b/portable/RVDS/ARM_CM4_MPU/port.c index af4bf5e33..37d13e8b8 100644 --- a/portable/RVDS/ARM_CM4_MPU/port.c +++ b/portable/RVDS/ARM_CM4_MPU/port.c @@ -149,14 +149,14 @@ typedef void ( * portISR_t )( void ); * switches can only occur when uxCriticalNesting is zero. */ PRIVILEGED_DATA static UBaseType_t uxCriticalNesting = 0xaaaaaaaa; -#if ( ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) +#if ( configUSE_MPU_WRAPPERS_V1 == 0 ) /* * This variable is set to pdTRUE when the scheduler is started. */ PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE; -#endif +#endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /* * Setup the timer to generate the tick interrupts. @@ -963,11 +963,11 @@ BaseType_t xPortStartScheduler( void ) /* Initialise the critical nesting count ready for the first task. */ uxCriticalNesting = 0; - #if ( ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) + #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) { xSchedulerRunning = pdTRUE; } - #endif + #endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /* Ensure the VFP is enabled - it should be anyway. */ vPortEnableVFP(); @@ -1499,54 +1499,58 @@ void vPortStoreTaskMPUSettings( xMPU_SETTINGS * xMPUSettings, } /*-----------------------------------------------------------*/ -BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, - uint32_t ulBufferLength, - uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ +#if ( configUSE_MPU_WRAPPERS_V1 == 0 ) -{ - uint32_t i, ulBufferStartAddress, ulBufferEndAddress; - BaseType_t xAccessGranted = pdFALSE; - const xMPU_SETTINGS * xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */ + BaseType_t xPortIsAuthorizedToAccessBuffer( const void * pvBuffer, + uint32_t ulBufferLength, + uint32_t ulAccessRequested ) /* PRIVILEGED_FUNCTION */ + + { + uint32_t i, ulBufferStartAddress, ulBufferEndAddress; + BaseType_t xAccessGranted = pdFALSE; + const xMPU_SETTINGS * xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */ - if( xSchedulerRunning == pdFALSE ) - { - /* Grant access to all the kernel objects before the scheduler - * is started. It is necessary because there is no task running - * yet and therefore, we cannot use the permissions of any - * task. */ - xAccessGranted = pdTRUE; - } - else if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) - { - xAccessGranted = pdTRUE; - } - else - { - if( portADD_UINT32_WILL_OVERFLOW( ( ( uint32_t ) pvBuffer ), ( ulBufferLength - 1UL ) ) == pdFALSE ) + if( xSchedulerRunning == pdFALSE ) { - ulBufferStartAddress = ( uint32_t ) pvBuffer; - ulBufferEndAddress = ( ( ( uint32_t ) pvBuffer ) + ulBufferLength - 1UL ); - - for( i = 0; i < portTOTAL_NUM_REGIONS_IN_TCB; i++ ) + /* Grant access to all the kernel objects before the scheduler + * is started. It is necessary because there is no task running + * yet and therefore, we cannot use the permissions of any + * task. */ + xAccessGranted = pdTRUE; + } + else if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG ) + { + xAccessGranted = pdTRUE; + } + else + { + if( portADD_UINT32_WILL_OVERFLOW( ( ( uint32_t ) pvBuffer ), ( ulBufferLength - 1UL ) ) == pdFALSE ) { - if( portIS_ADDRESS_WITHIN_RANGE( ulBufferStartAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && - portIS_ADDRESS_WITHIN_RANGE( ulBufferEndAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, - xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && - portIS_AUTHORIZED( ulAccessRequested, xTaskMpuSettings->xRegionSettings[ i ].ulRegionPermissions ) ) + ulBufferStartAddress = ( uint32_t ) pvBuffer; + ulBufferEndAddress = ( ( ( uint32_t ) pvBuffer ) + ulBufferLength - 1UL ); + + for( i = 0; i < portTOTAL_NUM_REGIONS_IN_TCB; i++ ) { - xAccessGranted = pdTRUE; - break; + if( portIS_ADDRESS_WITHIN_RANGE( ulBufferStartAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && + portIS_ADDRESS_WITHIN_RANGE( ulBufferEndAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionStartAddress, + xTaskMpuSettings->xRegionSettings[ i ].ulRegionEndAddress ) && + portIS_AUTHORIZED( ulAccessRequested, xTaskMpuSettings->xRegionSettings[ i ].ulRegionPermissions ) ) + { + xAccessGranted = pdTRUE; + break; + } } } } + + return xAccessGranted; } - return xAccessGranted; -} +#endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ /*-----------------------------------------------------------*/ __asm uint32_t prvPortGetIPSR( void ) From e8289dfee6e00660b5ad028e9f931ffb76c95840 Mon Sep 17 00:00:00 2001 From: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> Date: Wed, 27 Mar 2024 14:49:47 +0530 Subject: [PATCH 28/38] Add config option for event groups and stream buffers (#994) * Add configUSE_EVENT_GROUPS in source files * Add configUSE_EVENT_GROUPS macro in MPU wrapper files * Add configUSE_EVENT_GROUPS macro in MPU port files for GCC and RVDS compilers * Fix Formatting * Add configUSE_STREAM_BUFFERS in source files * Add configUSE_STREAM_BUFFERS macro in MPU wrapper files * Add configUSE_STREAM_BUFFERS macro in MPU port files for GCC and RVDS compilers * Update FreeRTOS.h post latest commit * Update the ARM_CRx_MPU Port to account for the new configuration changes * Formatting suggestions Signed-off-by: Gaurav Aggarwal * Code review suggestions --------- Signed-off-by: Gaurav Aggarwal Co-authored-by: joshzarr Co-authored-by: Gaurav Aggarwal Co-authored-by: Soren Ptak Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com> --- event_groups.c | 1399 +++++++++-------- include/FreeRTOS.h | 8 + include/event_groups.h | 30 + include/message_buffer.h | 72 +- include/stream_buffer.h | 84 +- .../GCC/ARM_CM23/mpu_wrappers_v2_asm.c | 632 ++++---- .../GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c | 632 ++++---- .../GCC/ARM_CM33/mpu_wrappers_v2_asm.c | 609 +++---- .../GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c | 608 +++---- portable/Common/mpu_wrappers.c | 632 ++++---- portable/Common/mpu_wrappers_v2.c | 943 ++++++----- .../ARM_CM23/non_secure/mpu_wrappers_v2_asm.c | 632 ++++---- .../non_secure/mpu_wrappers_v2_asm.c | 632 ++++---- .../ARM_CM33/non_secure/mpu_wrappers_v2_asm.c | 608 +++---- .../non_secure/mpu_wrappers_v2_asm.c | 608 +++---- .../non_secure/mpu_wrappers_v2_asm.c | 609 +++---- .../non_secure/mpu_wrappers_v2_asm.c | 608 +++---- .../GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c | 620 ++++---- .../GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c | 620 ++++---- .../ARM_CM55/non_secure/mpu_wrappers_v2_asm.c | 609 +++---- .../non_secure/mpu_wrappers_v2_asm.c | 608 +++---- .../ARM_CM85/non_secure/mpu_wrappers_v2_asm.c | 609 +++---- .../non_secure/mpu_wrappers_v2_asm.c | 608 +++---- .../GCC/ARM_CRx_MPU/mpu_wrappers_v2_asm.S | 189 +-- .../RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c | 56 +- stream_buffer.c | 114 +- 26 files changed, 7266 insertions(+), 6113 deletions(-) diff --git a/event_groups.c b/event_groups.c index 2118f0474..1c0b48760 100644 --- a/event_groups.c +++ b/event_groups.c @@ -30,7 +30,7 @@ #include /* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE prevents task.h from redefining - * all the API functions to use the MPU wrappers. That should only be done when + * all the API functions to use the MPU wrappers. That should only be done when * task.h is included from an application file. */ #define MPU_WRAPPERS_INCLUDED_FROM_API_FILE @@ -45,19 +45,25 @@ * correct privileged Vs unprivileged linkage and placement. */ #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE -typedef struct EventGroupDef_t -{ - EventBits_t uxEventBits; - List_t xTasksWaitingForBits; /**< List of tasks waiting for a bit to be set. */ +/* This entire source file will be skipped if the application is not configured + * to include event groups functionality. This #if is closed at the very bottom + * of this file. If you want to include event groups then ensure + * configUSE_EVENT_GROUPS is set to 1 in FreeRTOSConfig.h. */ +#if ( configUSE_EVENT_GROUPS == 1 ) - #if ( configUSE_TRACE_FACILITY == 1 ) - UBaseType_t uxEventGroupNumber; - #endif + typedef struct EventGroupDef_t + { + EventBits_t uxEventBits; + List_t xTasksWaitingForBits; /**< List of tasks waiting for a bit to be set. */ - #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) - uint8_t ucStaticallyAllocated; /**< Set to pdTRUE if the event group is statically allocated to ensure no attempt is made to free the memory. */ - #endif -} EventGroup_t; + #if ( configUSE_TRACE_FACILITY == 1 ) + UBaseType_t uxEventGroupNumber; + #endif + + #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) ) + uint8_t ucStaticallyAllocated; /**< Set to pdTRUE if the event group is statically allocated to ensure no attempt is made to free the memory. */ + #endif + } EventGroup_t; /*-----------------------------------------------------------*/ @@ -69,363 +75,207 @@ typedef struct EventGroupDef_t * wait condition is met if any of the bits set in uxBitsToWait for are also set * in uxCurrentEventBits. */ -static BaseType_t prvTestWaitCondition( const EventBits_t uxCurrentEventBits, - const EventBits_t uxBitsToWaitFor, - const BaseType_t xWaitForAllBits ) PRIVILEGED_FUNCTION; + static BaseType_t prvTestWaitCondition( const EventBits_t uxCurrentEventBits, + const EventBits_t uxBitsToWaitFor, + const BaseType_t xWaitForAllBits ) PRIVILEGED_FUNCTION; /*-----------------------------------------------------------*/ -#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) - EventGroupHandle_t xEventGroupCreateStatic( StaticEventGroup_t * pxEventGroupBuffer ) - { - EventGroup_t * pxEventBits; - - traceENTER_xEventGroupCreateStatic( pxEventGroupBuffer ); - - /* A StaticEventGroup_t object must be provided. */ - configASSERT( pxEventGroupBuffer ); - - #if ( configASSERT_DEFINED == 1 ) + EventGroupHandle_t xEventGroupCreateStatic( StaticEventGroup_t * pxEventGroupBuffer ) { - /* Sanity check that the size of the structure used to declare a - * variable of type StaticEventGroup_t equals the size of the real - * event group structure. */ - volatile size_t xSize = sizeof( StaticEventGroup_t ); - configASSERT( xSize == sizeof( EventGroup_t ) ); - } - #endif /* configASSERT_DEFINED */ + EventGroup_t * pxEventBits; - /* The user has provided a statically allocated event group - use it. */ - /* MISRA Ref 11.3.1 [Misaligned access] */ - /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-113 */ - /* coverity[misra_c_2012_rule_11_3_violation] */ - pxEventBits = ( EventGroup_t * ) pxEventGroupBuffer; + traceENTER_xEventGroupCreateStatic( pxEventGroupBuffer ); - if( pxEventBits != NULL ) - { - pxEventBits->uxEventBits = 0; - vListInitialise( &( pxEventBits->xTasksWaitingForBits ) ); + /* A StaticEventGroup_t object must be provided. */ + configASSERT( pxEventGroupBuffer ); - #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + #if ( configASSERT_DEFINED == 1 ) { - /* Both static and dynamic allocation can be used, so note that - * this event group was created statically in case the event group - * is later deleted. */ - pxEventBits->ucStaticallyAllocated = pdTRUE; + /* Sanity check that the size of the structure used to declare a + * variable of type StaticEventGroup_t equals the size of the real + * event group structure. */ + volatile size_t xSize = sizeof( StaticEventGroup_t ); + configASSERT( xSize == sizeof( EventGroup_t ) ); } - #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ + #endif /* configASSERT_DEFINED */ - traceEVENT_GROUP_CREATE( pxEventBits ); - } - else - { - /* xEventGroupCreateStatic should only ever be called with - * pxEventGroupBuffer pointing to a pre-allocated (compile time - * allocated) StaticEventGroup_t variable. */ - traceEVENT_GROUP_CREATE_FAILED(); - } + /* The user has provided a statically allocated event group - use it. */ + /* MISRA Ref 11.3.1 [Misaligned access] */ + /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-113 */ + /* coverity[misra_c_2012_rule_11_3_violation] */ + pxEventBits = ( EventGroup_t * ) pxEventGroupBuffer; - traceRETURN_xEventGroupCreateStatic( pxEventBits ); - - return pxEventBits; - } - -#endif /* configSUPPORT_STATIC_ALLOCATION */ -/*-----------------------------------------------------------*/ - -#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) - - EventGroupHandle_t xEventGroupCreate( void ) - { - EventGroup_t * pxEventBits; - - traceENTER_xEventGroupCreate(); - - /* MISRA Ref 11.5.1 [Malloc memory assignment] */ - /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ - /* coverity[misra_c_2012_rule_11_5_violation] */ - pxEventBits = ( EventGroup_t * ) pvPortMalloc( sizeof( EventGroup_t ) ); - - if( pxEventBits != NULL ) - { - pxEventBits->uxEventBits = 0; - vListInitialise( &( pxEventBits->xTasksWaitingForBits ) ); - - #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + if( pxEventBits != NULL ) { - /* Both static and dynamic allocation can be used, so note this - * event group was allocated statically in case the event group is - * later deleted. */ - pxEventBits->ucStaticallyAllocated = pdFALSE; - } - #endif /* configSUPPORT_STATIC_ALLOCATION */ + pxEventBits->uxEventBits = 0; + vListInitialise( &( pxEventBits->xTasksWaitingForBits ) ); - traceEVENT_GROUP_CREATE( pxEventBits ); - } - else - { - traceEVENT_GROUP_CREATE_FAILED(); - } + #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + { + /* Both static and dynamic allocation can be used, so note that + * this event group was created statically in case the event group + * is later deleted. */ + pxEventBits->ucStaticallyAllocated = pdTRUE; + } + #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ - traceRETURN_xEventGroupCreate( pxEventBits ); - - return pxEventBits; - } - -#endif /* configSUPPORT_DYNAMIC_ALLOCATION */ -/*-----------------------------------------------------------*/ - -EventBits_t xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) -{ - EventBits_t uxOriginalBitValue, uxReturn; - EventGroup_t * pxEventBits = xEventGroup; - BaseType_t xAlreadyYielded; - BaseType_t xTimeoutOccurred = pdFALSE; - - traceENTER_xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait ); - - configASSERT( ( uxBitsToWaitFor & eventEVENT_BITS_CONTROL_BYTES ) == 0 ); - configASSERT( uxBitsToWaitFor != 0 ); - #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) - { - configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ); - } - #endif - - vTaskSuspendAll(); - { - uxOriginalBitValue = pxEventBits->uxEventBits; - - ( void ) xEventGroupSetBits( xEventGroup, uxBitsToSet ); - - if( ( ( uxOriginalBitValue | uxBitsToSet ) & uxBitsToWaitFor ) == uxBitsToWaitFor ) - { - /* All the rendezvous bits are now set - no need to block. */ - uxReturn = ( uxOriginalBitValue | uxBitsToSet ); - - /* Rendezvous always clear the bits. They will have been cleared - * already unless this is the only task in the rendezvous. */ - pxEventBits->uxEventBits &= ~uxBitsToWaitFor; - - xTicksToWait = 0; - } - else - { - if( xTicksToWait != ( TickType_t ) 0 ) - { - traceEVENT_GROUP_SYNC_BLOCK( xEventGroup, uxBitsToSet, uxBitsToWaitFor ); - - /* Store the bits that the calling task is waiting for in the - * task's event list item so the kernel knows when a match is - * found. Then enter the blocked state. */ - vTaskPlaceOnUnorderedEventList( &( pxEventBits->xTasksWaitingForBits ), ( uxBitsToWaitFor | eventCLEAR_EVENTS_ON_EXIT_BIT | eventWAIT_FOR_ALL_BITS ), xTicksToWait ); - - /* This assignment is obsolete as uxReturn will get set after - * the task unblocks, but some compilers mistakenly generate a - * warning about uxReturn being returned without being set if the - * assignment is omitted. */ - uxReturn = 0; + traceEVENT_GROUP_CREATE( pxEventBits ); } else { - /* The rendezvous bits were not set, but no block time was - * specified - just return the current event bit value. */ - uxReturn = pxEventBits->uxEventBits; - xTimeoutOccurred = pdTRUE; + /* xEventGroupCreateStatic should only ever be called with + * pxEventGroupBuffer pointing to a pre-allocated (compile time + * allocated) StaticEventGroup_t variable. */ + traceEVENT_GROUP_CREATE_FAILED(); } - } - } - xAlreadyYielded = xTaskResumeAll(); - if( xTicksToWait != ( TickType_t ) 0 ) - { - if( xAlreadyYielded == pdFALSE ) - { - taskYIELD_WITHIN_API(); - } - else - { - mtCOVERAGE_TEST_MARKER(); + traceRETURN_xEventGroupCreateStatic( pxEventBits ); + + return pxEventBits; } - /* The task blocked to wait for its required bits to be set - at this - * point either the required bits were set or the block time expired. If - * the required bits were set they will have been stored in the task's - * event list item, and they should now be retrieved then cleared. */ - uxReturn = uxTaskResetEventItemValue(); + #endif /* configSUPPORT_STATIC_ALLOCATION */ +/*-----------------------------------------------------------*/ - if( ( uxReturn & eventUNBLOCKED_DUE_TO_BIT_SET ) == ( EventBits_t ) 0 ) + #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + + EventGroupHandle_t xEventGroupCreate( void ) { - /* The task timed out, just return the current event bit value. */ - taskENTER_CRITICAL(); + EventGroup_t * pxEventBits; + + traceENTER_xEventGroupCreate(); + + /* MISRA Ref 11.5.1 [Malloc memory assignment] */ + /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ + /* coverity[misra_c_2012_rule_11_5_violation] */ + pxEventBits = ( EventGroup_t * ) pvPortMalloc( sizeof( EventGroup_t ) ); + + if( pxEventBits != NULL ) { - uxReturn = pxEventBits->uxEventBits; + pxEventBits->uxEventBits = 0; + vListInitialise( &( pxEventBits->xTasksWaitingForBits ) ); - /* Although the task got here because it timed out before the - * bits it was waiting for were set, it is possible that since it - * unblocked another task has set the bits. If this is the case - * then it needs to clear the bits before exiting. */ - if( ( uxReturn & uxBitsToWaitFor ) == uxBitsToWaitFor ) + #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) { - pxEventBits->uxEventBits &= ~uxBitsToWaitFor; + /* Both static and dynamic allocation can be used, so note this + * event group was allocated statically in case the event group is + * later deleted. */ + pxEventBits->ucStaticallyAllocated = pdFALSE; + } + #endif /* configSUPPORT_STATIC_ALLOCATION */ + + traceEVENT_GROUP_CREATE( pxEventBits ); + } + else + { + traceEVENT_GROUP_CREATE_FAILED(); + } + + traceRETURN_xEventGroupCreate( pxEventBits ); + + return pxEventBits; + } + + #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ +/*-----------------------------------------------------------*/ + + EventBits_t xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) + { + EventBits_t uxOriginalBitValue, uxReturn; + EventGroup_t * pxEventBits = xEventGroup; + BaseType_t xAlreadyYielded; + BaseType_t xTimeoutOccurred = pdFALSE; + + traceENTER_xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait ); + + configASSERT( ( uxBitsToWaitFor & eventEVENT_BITS_CONTROL_BYTES ) == 0 ); + configASSERT( uxBitsToWaitFor != 0 ); + #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) + { + configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ); + } + #endif + + vTaskSuspendAll(); + { + uxOriginalBitValue = pxEventBits->uxEventBits; + + ( void ) xEventGroupSetBits( xEventGroup, uxBitsToSet ); + + if( ( ( uxOriginalBitValue | uxBitsToSet ) & uxBitsToWaitFor ) == uxBitsToWaitFor ) + { + /* All the rendezvous bits are now set - no need to block. */ + uxReturn = ( uxOriginalBitValue | uxBitsToSet ); + + /* Rendezvous always clear the bits. They will have been cleared + * already unless this is the only task in the rendezvous. */ + pxEventBits->uxEventBits &= ~uxBitsToWaitFor; + + xTicksToWait = 0; + } + else + { + if( xTicksToWait != ( TickType_t ) 0 ) + { + traceEVENT_GROUP_SYNC_BLOCK( xEventGroup, uxBitsToSet, uxBitsToWaitFor ); + + /* Store the bits that the calling task is waiting for in the + * task's event list item so the kernel knows when a match is + * found. Then enter the blocked state. */ + vTaskPlaceOnUnorderedEventList( &( pxEventBits->xTasksWaitingForBits ), ( uxBitsToWaitFor | eventCLEAR_EVENTS_ON_EXIT_BIT | eventWAIT_FOR_ALL_BITS ), xTicksToWait ); + + /* This assignment is obsolete as uxReturn will get set after + * the task unblocks, but some compilers mistakenly generate a + * warning about uxReturn being returned without being set if the + * assignment is omitted. */ + uxReturn = 0; } else { - mtCOVERAGE_TEST_MARKER(); + /* The rendezvous bits were not set, but no block time was + * specified - just return the current event bit value. */ + uxReturn = pxEventBits->uxEventBits; + xTimeoutOccurred = pdTRUE; } } - taskEXIT_CRITICAL(); - - xTimeoutOccurred = pdTRUE; } - else + xAlreadyYielded = xTaskResumeAll(); + + if( xTicksToWait != ( TickType_t ) 0 ) { - /* The task unblocked because the bits were set. */ - } - - /* Control bits might be set as the task had blocked should not be - * returned. */ - uxReturn &= ~eventEVENT_BITS_CONTROL_BYTES; - } - - traceEVENT_GROUP_SYNC_END( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTimeoutOccurred ); - - /* Prevent compiler warnings when trace macros are not used. */ - ( void ) xTimeoutOccurred; - - traceRETURN_xEventGroupSync( uxReturn ); - - return uxReturn; -} -/*-----------------------------------------------------------*/ - -EventBits_t xEventGroupWaitBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToWaitFor, - const BaseType_t xClearOnExit, - const BaseType_t xWaitForAllBits, - TickType_t xTicksToWait ) -{ - EventGroup_t * pxEventBits = xEventGroup; - EventBits_t uxReturn, uxControlBits = 0; - BaseType_t xWaitConditionMet, xAlreadyYielded; - BaseType_t xTimeoutOccurred = pdFALSE; - - traceENTER_xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait ); - - /* Check the user is not attempting to wait on the bits used by the kernel - * itself, and that at least one bit is being requested. */ - configASSERT( xEventGroup ); - configASSERT( ( uxBitsToWaitFor & eventEVENT_BITS_CONTROL_BYTES ) == 0 ); - configASSERT( uxBitsToWaitFor != 0 ); - #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) - { - configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ); - } - #endif - - vTaskSuspendAll(); - { - const EventBits_t uxCurrentEventBits = pxEventBits->uxEventBits; - - /* Check to see if the wait condition is already met or not. */ - xWaitConditionMet = prvTestWaitCondition( uxCurrentEventBits, uxBitsToWaitFor, xWaitForAllBits ); - - if( xWaitConditionMet != pdFALSE ) - { - /* The wait condition has already been met so there is no need to - * block. */ - uxReturn = uxCurrentEventBits; - xTicksToWait = ( TickType_t ) 0; - - /* Clear the wait bits if requested to do so. */ - if( xClearOnExit != pdFALSE ) + if( xAlreadyYielded == pdFALSE ) { - pxEventBits->uxEventBits &= ~uxBitsToWaitFor; - } - else - { - mtCOVERAGE_TEST_MARKER(); - } - } - else if( xTicksToWait == ( TickType_t ) 0 ) - { - /* The wait condition has not been met, but no block time was - * specified, so just return the current value. */ - uxReturn = uxCurrentEventBits; - xTimeoutOccurred = pdTRUE; - } - else - { - /* The task is going to block to wait for its required bits to be - * set. uxControlBits are used to remember the specified behaviour of - * this call to xEventGroupWaitBits() - for use when the event bits - * unblock the task. */ - if( xClearOnExit != pdFALSE ) - { - uxControlBits |= eventCLEAR_EVENTS_ON_EXIT_BIT; + taskYIELD_WITHIN_API(); } else { mtCOVERAGE_TEST_MARKER(); } - if( xWaitForAllBits != pdFALSE ) - { - uxControlBits |= eventWAIT_FOR_ALL_BITS; - } - else - { - mtCOVERAGE_TEST_MARKER(); - } + /* The task blocked to wait for its required bits to be set - at this + * point either the required bits were set or the block time expired. If + * the required bits were set they will have been stored in the task's + * event list item, and they should now be retrieved then cleared. */ + uxReturn = uxTaskResetEventItemValue(); - /* Store the bits that the calling task is waiting for in the - * task's event list item so the kernel knows when a match is - * found. Then enter the blocked state. */ - vTaskPlaceOnUnorderedEventList( &( pxEventBits->xTasksWaitingForBits ), ( uxBitsToWaitFor | uxControlBits ), xTicksToWait ); - - /* This is obsolete as it will get set after the task unblocks, but - * some compilers mistakenly generate a warning about the variable - * being returned without being set if it is not done. */ - uxReturn = 0; - - traceEVENT_GROUP_WAIT_BITS_BLOCK( xEventGroup, uxBitsToWaitFor ); - } - } - xAlreadyYielded = xTaskResumeAll(); - - if( xTicksToWait != ( TickType_t ) 0 ) - { - if( xAlreadyYielded == pdFALSE ) - { - taskYIELD_WITHIN_API(); - } - else - { - mtCOVERAGE_TEST_MARKER(); - } - - /* The task blocked to wait for its required bits to be set - at this - * point either the required bits were set or the block time expired. If - * the required bits were set they will have been stored in the task's - * event list item, and they should now be retrieved then cleared. */ - uxReturn = uxTaskResetEventItemValue(); - - if( ( uxReturn & eventUNBLOCKED_DUE_TO_BIT_SET ) == ( EventBits_t ) 0 ) - { - taskENTER_CRITICAL(); + if( ( uxReturn & eventUNBLOCKED_DUE_TO_BIT_SET ) == ( EventBits_t ) 0 ) { /* The task timed out, just return the current event bit value. */ - uxReturn = pxEventBits->uxEventBits; - - /* It is possible that the event bits were updated between this - * task leaving the Blocked state and running again. */ - if( prvTestWaitCondition( uxReturn, uxBitsToWaitFor, xWaitForAllBits ) != pdFALSE ) + taskENTER_CRITICAL(); { - if( xClearOnExit != pdFALSE ) + uxReturn = pxEventBits->uxEventBits; + + /* Although the task got here because it timed out before the + * bits it was waiting for were set, it is possible that since it + * unblocked another task has set the bits. If this is the case + * then it needs to clear the bits before exiting. */ + if( ( uxReturn & uxBitsToWaitFor ) == uxBitsToWaitFor ) { pxEventBits->uxEventBits &= ~uxBitsToWaitFor; } @@ -434,437 +284,598 @@ EventBits_t xEventGroupWaitBits( EventGroupHandle_t xEventGroup, mtCOVERAGE_TEST_MARKER(); } } + taskEXIT_CRITICAL(); + + xTimeoutOccurred = pdTRUE; + } + else + { + /* The task unblocked because the bits were set. */ + } + + /* Control bits might be set as the task had blocked should not be + * returned. */ + uxReturn &= ~eventEVENT_BITS_CONTROL_BYTES; + } + + traceEVENT_GROUP_SYNC_END( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTimeoutOccurred ); + + /* Prevent compiler warnings when trace macros are not used. */ + ( void ) xTimeoutOccurred; + + traceRETURN_xEventGroupSync( uxReturn ); + + return uxReturn; + } +/*-----------------------------------------------------------*/ + + EventBits_t xEventGroupWaitBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToWaitFor, + const BaseType_t xClearOnExit, + const BaseType_t xWaitForAllBits, + TickType_t xTicksToWait ) + { + EventGroup_t * pxEventBits = xEventGroup; + EventBits_t uxReturn, uxControlBits = 0; + BaseType_t xWaitConditionMet, xAlreadyYielded; + BaseType_t xTimeoutOccurred = pdFALSE; + + traceENTER_xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait ); + + /* Check the user is not attempting to wait on the bits used by the kernel + * itself, and that at least one bit is being requested. */ + configASSERT( xEventGroup ); + configASSERT( ( uxBitsToWaitFor & eventEVENT_BITS_CONTROL_BYTES ) == 0 ); + configASSERT( uxBitsToWaitFor != 0 ); + #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) + { + configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) ); + } + #endif + + vTaskSuspendAll(); + { + const EventBits_t uxCurrentEventBits = pxEventBits->uxEventBits; + + /* Check to see if the wait condition is already met or not. */ + xWaitConditionMet = prvTestWaitCondition( uxCurrentEventBits, uxBitsToWaitFor, xWaitForAllBits ); + + if( xWaitConditionMet != pdFALSE ) + { + /* The wait condition has already been met so there is no need to + * block. */ + uxReturn = uxCurrentEventBits; + xTicksToWait = ( TickType_t ) 0; + + /* Clear the wait bits if requested to do so. */ + if( xClearOnExit != pdFALSE ) + { + pxEventBits->uxEventBits &= ~uxBitsToWaitFor; + } + else + { + mtCOVERAGE_TEST_MARKER(); + } + } + else if( xTicksToWait == ( TickType_t ) 0 ) + { + /* The wait condition has not been met, but no block time was + * specified, so just return the current value. */ + uxReturn = uxCurrentEventBits; + xTimeoutOccurred = pdTRUE; + } + else + { + /* The task is going to block to wait for its required bits to be + * set. uxControlBits are used to remember the specified behaviour of + * this call to xEventGroupWaitBits() - for use when the event bits + * unblock the task. */ + if( xClearOnExit != pdFALSE ) + { + uxControlBits |= eventCLEAR_EVENTS_ON_EXIT_BIT; + } else { mtCOVERAGE_TEST_MARKER(); } - xTimeoutOccurred = pdTRUE; - } - taskEXIT_CRITICAL(); - } - else - { - /* The task unblocked because the bits were set. */ - } - - /* The task blocked so control bits may have been set. */ - uxReturn &= ~eventEVENT_BITS_CONTROL_BYTES; - } - - traceEVENT_GROUP_WAIT_BITS_END( xEventGroup, uxBitsToWaitFor, xTimeoutOccurred ); - - /* Prevent compiler warnings when trace macros are not used. */ - ( void ) xTimeoutOccurred; - - traceRETURN_xEventGroupWaitBits( uxReturn ); - - return uxReturn; -} -/*-----------------------------------------------------------*/ - -EventBits_t xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) -{ - EventGroup_t * pxEventBits = xEventGroup; - EventBits_t uxReturn; - - traceENTER_xEventGroupClearBits( xEventGroup, uxBitsToClear ); - - /* Check the user is not attempting to clear the bits used by the kernel - * itself. */ - configASSERT( xEventGroup ); - configASSERT( ( uxBitsToClear & eventEVENT_BITS_CONTROL_BYTES ) == 0 ); - - taskENTER_CRITICAL(); - { - traceEVENT_GROUP_CLEAR_BITS( xEventGroup, uxBitsToClear ); - - /* The value returned is the event group value prior to the bits being - * cleared. */ - uxReturn = pxEventBits->uxEventBits; - - /* Clear the bits. */ - pxEventBits->uxEventBits &= ~uxBitsToClear; - } - taskEXIT_CRITICAL(); - - traceRETURN_xEventGroupClearBits( uxReturn ); - - return uxReturn; -} -/*-----------------------------------------------------------*/ - -#if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) - - BaseType_t xEventGroupClearBitsFromISR( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) - { - BaseType_t xReturn; - - traceENTER_xEventGroupClearBitsFromISR( xEventGroup, uxBitsToClear ); - - traceEVENT_GROUP_CLEAR_BITS_FROM_ISR( xEventGroup, uxBitsToClear ); - xReturn = xTimerPendFunctionCallFromISR( vEventGroupClearBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToClear, NULL ); - - traceRETURN_xEventGroupClearBitsFromISR( xReturn ); - - return xReturn; - } - -#endif /* if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) */ -/*-----------------------------------------------------------*/ - -EventBits_t xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup ) -{ - UBaseType_t uxSavedInterruptStatus; - EventGroup_t const * const pxEventBits = xEventGroup; - EventBits_t uxReturn; - - traceENTER_xEventGroupGetBitsFromISR( xEventGroup ); - - uxSavedInterruptStatus = taskENTER_CRITICAL_FROM_ISR(); - { - uxReturn = pxEventBits->uxEventBits; - } - taskEXIT_CRITICAL_FROM_ISR( uxSavedInterruptStatus ); - - traceRETURN_xEventGroupGetBitsFromISR( uxReturn ); - - return uxReturn; -} -/*-----------------------------------------------------------*/ - -EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) -{ - ListItem_t * pxListItem; - ListItem_t * pxNext; - ListItem_t const * pxListEnd; - List_t const * pxList; - EventBits_t uxBitsToClear = 0, uxBitsWaitedFor, uxControlBits; - EventGroup_t * pxEventBits = xEventGroup; - BaseType_t xMatchFound = pdFALSE; - - traceENTER_xEventGroupSetBits( xEventGroup, uxBitsToSet ); - - /* Check the user is not attempting to set the bits used by the kernel - * itself. */ - configASSERT( xEventGroup ); - configASSERT( ( uxBitsToSet & eventEVENT_BITS_CONTROL_BYTES ) == 0 ); - - pxList = &( pxEventBits->xTasksWaitingForBits ); - pxListEnd = listGET_END_MARKER( pxList ); - vTaskSuspendAll(); - { - traceEVENT_GROUP_SET_BITS( xEventGroup, uxBitsToSet ); - - pxListItem = listGET_HEAD_ENTRY( pxList ); - - /* Set the bits. */ - pxEventBits->uxEventBits |= uxBitsToSet; - - /* See if the new bit value should unblock any tasks. */ - while( pxListItem != pxListEnd ) - { - pxNext = listGET_NEXT( pxListItem ); - uxBitsWaitedFor = listGET_LIST_ITEM_VALUE( pxListItem ); - xMatchFound = pdFALSE; - - /* Split the bits waited for from the control bits. */ - uxControlBits = uxBitsWaitedFor & eventEVENT_BITS_CONTROL_BYTES; - uxBitsWaitedFor &= ~eventEVENT_BITS_CONTROL_BYTES; - - if( ( uxControlBits & eventWAIT_FOR_ALL_BITS ) == ( EventBits_t ) 0 ) - { - /* Just looking for single bit being set. */ - if( ( uxBitsWaitedFor & pxEventBits->uxEventBits ) != ( EventBits_t ) 0 ) + if( xWaitForAllBits != pdFALSE ) { + uxControlBits |= eventWAIT_FOR_ALL_BITS; + } + else + { + mtCOVERAGE_TEST_MARKER(); + } + + /* Store the bits that the calling task is waiting for in the + * task's event list item so the kernel knows when a match is + * found. Then enter the blocked state. */ + vTaskPlaceOnUnorderedEventList( &( pxEventBits->xTasksWaitingForBits ), ( uxBitsToWaitFor | uxControlBits ), xTicksToWait ); + + /* This is obsolete as it will get set after the task unblocks, but + * some compilers mistakenly generate a warning about the variable + * being returned without being set if it is not done. */ + uxReturn = 0; + + traceEVENT_GROUP_WAIT_BITS_BLOCK( xEventGroup, uxBitsToWaitFor ); + } + } + xAlreadyYielded = xTaskResumeAll(); + + if( xTicksToWait != ( TickType_t ) 0 ) + { + if( xAlreadyYielded == pdFALSE ) + { + taskYIELD_WITHIN_API(); + } + else + { + mtCOVERAGE_TEST_MARKER(); + } + + /* The task blocked to wait for its required bits to be set - at this + * point either the required bits were set or the block time expired. If + * the required bits were set they will have been stored in the task's + * event list item, and they should now be retrieved then cleared. */ + uxReturn = uxTaskResetEventItemValue(); + + if( ( uxReturn & eventUNBLOCKED_DUE_TO_BIT_SET ) == ( EventBits_t ) 0 ) + { + taskENTER_CRITICAL(); + { + /* The task timed out, just return the current event bit value. */ + uxReturn = pxEventBits->uxEventBits; + + /* It is possible that the event bits were updated between this + * task leaving the Blocked state and running again. */ + if( prvTestWaitCondition( uxReturn, uxBitsToWaitFor, xWaitForAllBits ) != pdFALSE ) + { + if( xClearOnExit != pdFALSE ) + { + pxEventBits->uxEventBits &= ~uxBitsToWaitFor; + } + else + { + mtCOVERAGE_TEST_MARKER(); + } + } + else + { + mtCOVERAGE_TEST_MARKER(); + } + + xTimeoutOccurred = pdTRUE; + } + taskEXIT_CRITICAL(); + } + else + { + /* The task unblocked because the bits were set. */ + } + + /* The task blocked so control bits may have been set. */ + uxReturn &= ~eventEVENT_BITS_CONTROL_BYTES; + } + + traceEVENT_GROUP_WAIT_BITS_END( xEventGroup, uxBitsToWaitFor, xTimeoutOccurred ); + + /* Prevent compiler warnings when trace macros are not used. */ + ( void ) xTimeoutOccurred; + + traceRETURN_xEventGroupWaitBits( uxReturn ); + + return uxReturn; + } +/*-----------------------------------------------------------*/ + + EventBits_t xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) + { + EventGroup_t * pxEventBits = xEventGroup; + EventBits_t uxReturn; + + traceENTER_xEventGroupClearBits( xEventGroup, uxBitsToClear ); + + /* Check the user is not attempting to clear the bits used by the kernel + * itself. */ + configASSERT( xEventGroup ); + configASSERT( ( uxBitsToClear & eventEVENT_BITS_CONTROL_BYTES ) == 0 ); + + taskENTER_CRITICAL(); + { + traceEVENT_GROUP_CLEAR_BITS( xEventGroup, uxBitsToClear ); + + /* The value returned is the event group value prior to the bits being + * cleared. */ + uxReturn = pxEventBits->uxEventBits; + + /* Clear the bits. */ + pxEventBits->uxEventBits &= ~uxBitsToClear; + } + taskEXIT_CRITICAL(); + + traceRETURN_xEventGroupClearBits( uxReturn ); + + return uxReturn; + } +/*-----------------------------------------------------------*/ + + #if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) + + BaseType_t xEventGroupClearBitsFromISR( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) + { + BaseType_t xReturn; + + traceENTER_xEventGroupClearBitsFromISR( xEventGroup, uxBitsToClear ); + + traceEVENT_GROUP_CLEAR_BITS_FROM_ISR( xEventGroup, uxBitsToClear ); + xReturn = xTimerPendFunctionCallFromISR( vEventGroupClearBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToClear, NULL ); + + traceRETURN_xEventGroupClearBitsFromISR( xReturn ); + + return xReturn; + } + + #endif /* if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) */ +/*-----------------------------------------------------------*/ + + EventBits_t xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup ) + { + UBaseType_t uxSavedInterruptStatus; + EventGroup_t const * const pxEventBits = xEventGroup; + EventBits_t uxReturn; + + traceENTER_xEventGroupGetBitsFromISR( xEventGroup ); + + uxSavedInterruptStatus = taskENTER_CRITICAL_FROM_ISR(); + { + uxReturn = pxEventBits->uxEventBits; + } + taskEXIT_CRITICAL_FROM_ISR( uxSavedInterruptStatus ); + + traceRETURN_xEventGroupGetBitsFromISR( uxReturn ); + + return uxReturn; + } +/*-----------------------------------------------------------*/ + + EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) + { + ListItem_t * pxListItem; + ListItem_t * pxNext; + ListItem_t const * pxListEnd; + List_t const * pxList; + EventBits_t uxBitsToClear = 0, uxBitsWaitedFor, uxControlBits; + EventGroup_t * pxEventBits = xEventGroup; + BaseType_t xMatchFound = pdFALSE; + + traceENTER_xEventGroupSetBits( xEventGroup, uxBitsToSet ); + + /* Check the user is not attempting to set the bits used by the kernel + * itself. */ + configASSERT( xEventGroup ); + configASSERT( ( uxBitsToSet & eventEVENT_BITS_CONTROL_BYTES ) == 0 ); + + pxList = &( pxEventBits->xTasksWaitingForBits ); + pxListEnd = listGET_END_MARKER( pxList ); + vTaskSuspendAll(); + { + traceEVENT_GROUP_SET_BITS( xEventGroup, uxBitsToSet ); + + pxListItem = listGET_HEAD_ENTRY( pxList ); + + /* Set the bits. */ + pxEventBits->uxEventBits |= uxBitsToSet; + + /* See if the new bit value should unblock any tasks. */ + while( pxListItem != pxListEnd ) + { + pxNext = listGET_NEXT( pxListItem ); + uxBitsWaitedFor = listGET_LIST_ITEM_VALUE( pxListItem ); + xMatchFound = pdFALSE; + + /* Split the bits waited for from the control bits. */ + uxControlBits = uxBitsWaitedFor & eventEVENT_BITS_CONTROL_BYTES; + uxBitsWaitedFor &= ~eventEVENT_BITS_CONTROL_BYTES; + + if( ( uxControlBits & eventWAIT_FOR_ALL_BITS ) == ( EventBits_t ) 0 ) + { + /* Just looking for single bit being set. */ + if( ( uxBitsWaitedFor & pxEventBits->uxEventBits ) != ( EventBits_t ) 0 ) + { + xMatchFound = pdTRUE; + } + else + { + mtCOVERAGE_TEST_MARKER(); + } + } + else if( ( uxBitsWaitedFor & pxEventBits->uxEventBits ) == uxBitsWaitedFor ) + { + /* All bits are set. */ xMatchFound = pdTRUE; } else { - mtCOVERAGE_TEST_MARKER(); + /* Need all bits to be set, but not all the bits were set. */ } + + if( xMatchFound != pdFALSE ) + { + /* The bits match. Should the bits be cleared on exit? */ + if( ( uxControlBits & eventCLEAR_EVENTS_ON_EXIT_BIT ) != ( EventBits_t ) 0 ) + { + uxBitsToClear |= uxBitsWaitedFor; + } + else + { + mtCOVERAGE_TEST_MARKER(); + } + + /* Store the actual event flag value in the task's event list + * item before removing the task from the event list. The + * eventUNBLOCKED_DUE_TO_BIT_SET bit is set so the task knows + * that is was unblocked due to its required bits matching, rather + * than because it timed out. */ + vTaskRemoveFromUnorderedEventList( pxListItem, pxEventBits->uxEventBits | eventUNBLOCKED_DUE_TO_BIT_SET ); + } + + /* Move onto the next list item. Note pxListItem->pxNext is not + * used here as the list item may have been removed from the event list + * and inserted into the ready/pending reading list. */ + pxListItem = pxNext; } - else if( ( uxBitsWaitedFor & pxEventBits->uxEventBits ) == uxBitsWaitedFor ) + + /* Clear any bits that matched when the eventCLEAR_EVENTS_ON_EXIT_BIT + * bit was set in the control word. */ + pxEventBits->uxEventBits &= ~uxBitsToClear; + } + ( void ) xTaskResumeAll(); + + traceRETURN_xEventGroupSetBits( pxEventBits->uxEventBits ); + + return pxEventBits->uxEventBits; + } +/*-----------------------------------------------------------*/ + + void vEventGroupDelete( EventGroupHandle_t xEventGroup ) + { + EventGroup_t * pxEventBits = xEventGroup; + const List_t * pxTasksWaitingForBits; + + traceENTER_vEventGroupDelete( xEventGroup ); + + configASSERT( pxEventBits ); + + pxTasksWaitingForBits = &( pxEventBits->xTasksWaitingForBits ); + + vTaskSuspendAll(); + { + traceEVENT_GROUP_DELETE( xEventGroup ); + + while( listCURRENT_LIST_LENGTH( pxTasksWaitingForBits ) > ( UBaseType_t ) 0 ) { - /* All bits are set. */ - xMatchFound = pdTRUE; + /* Unblock the task, returning 0 as the event list is being deleted + * and cannot therefore have any bits set. */ + configASSERT( pxTasksWaitingForBits->xListEnd.pxNext != ( const ListItem_t * ) &( pxTasksWaitingForBits->xListEnd ) ); + vTaskRemoveFromUnorderedEventList( pxTasksWaitingForBits->xListEnd.pxNext, eventUNBLOCKED_DUE_TO_BIT_SET ); + } + } + ( void ) xTaskResumeAll(); + + #if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 0 ) ) + { + /* The event group can only have been allocated dynamically - free + * it again. */ + vPortFree( pxEventBits ); + } + #elif ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) + { + /* The event group could have been allocated statically or + * dynamically, so check before attempting to free the memory. */ + if( pxEventBits->ucStaticallyAllocated == ( uint8_t ) pdFALSE ) + { + vPortFree( pxEventBits ); } else { - /* Need all bits to be set, but not all the bits were set. */ + mtCOVERAGE_TEST_MARKER(); } + } + #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ - if( xMatchFound != pdFALSE ) + traceRETURN_vEventGroupDelete(); + } +/*-----------------------------------------------------------*/ + + #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + BaseType_t xEventGroupGetStaticBuffer( EventGroupHandle_t xEventGroup, + StaticEventGroup_t ** ppxEventGroupBuffer ) + { + BaseType_t xReturn; + EventGroup_t * pxEventBits = xEventGroup; + + traceENTER_xEventGroupGetStaticBuffer( xEventGroup, ppxEventGroupBuffer ); + + configASSERT( pxEventBits ); + configASSERT( ppxEventGroupBuffer ); + + #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) { - /* The bits match. Should the bits be cleared on exit? */ - if( ( uxControlBits & eventCLEAR_EVENTS_ON_EXIT_BIT ) != ( EventBits_t ) 0 ) + /* Check if the event group was statically allocated. */ + if( pxEventBits->ucStaticallyAllocated == ( uint8_t ) pdTRUE ) { - uxBitsToClear |= uxBitsWaitedFor; + /* MISRA Ref 11.3.1 [Misaligned access] */ + /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-113 */ + /* coverity[misra_c_2012_rule_11_3_violation] */ + *ppxEventGroupBuffer = ( StaticEventGroup_t * ) pxEventBits; + xReturn = pdTRUE; } else { - mtCOVERAGE_TEST_MARKER(); + xReturn = pdFALSE; } - - /* Store the actual event flag value in the task's event list - * item before removing the task from the event list. The - * eventUNBLOCKED_DUE_TO_BIT_SET bit is set so the task knows - * that is was unblocked due to its required bits matching, rather - * than because it timed out. */ - vTaskRemoveFromUnorderedEventList( pxListItem, pxEventBits->uxEventBits | eventUNBLOCKED_DUE_TO_BIT_SET ); } - - /* Move onto the next list item. Note pxListItem->pxNext is not - * used here as the list item may have been removed from the event list - * and inserted into the ready/pending reading list. */ - pxListItem = pxNext; - } - - /* Clear any bits that matched when the eventCLEAR_EVENTS_ON_EXIT_BIT - * bit was set in the control word. */ - pxEventBits->uxEventBits &= ~uxBitsToClear; - } - ( void ) xTaskResumeAll(); - - traceRETURN_xEventGroupSetBits( pxEventBits->uxEventBits ); - - return pxEventBits->uxEventBits; -} -/*-----------------------------------------------------------*/ - -void vEventGroupDelete( EventGroupHandle_t xEventGroup ) -{ - EventGroup_t * pxEventBits = xEventGroup; - const List_t * pxTasksWaitingForBits; - - traceENTER_vEventGroupDelete( xEventGroup ); - - configASSERT( pxEventBits ); - - pxTasksWaitingForBits = &( pxEventBits->xTasksWaitingForBits ); - - vTaskSuspendAll(); - { - traceEVENT_GROUP_DELETE( xEventGroup ); - - while( listCURRENT_LIST_LENGTH( pxTasksWaitingForBits ) > ( UBaseType_t ) 0 ) - { - /* Unblock the task, returning 0 as the event list is being deleted - * and cannot therefore have any bits set. */ - configASSERT( pxTasksWaitingForBits->xListEnd.pxNext != ( const ListItem_t * ) &( pxTasksWaitingForBits->xListEnd ) ); - vTaskRemoveFromUnorderedEventList( pxTasksWaitingForBits->xListEnd.pxNext, eventUNBLOCKED_DUE_TO_BIT_SET ); - } - } - ( void ) xTaskResumeAll(); - - #if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 0 ) ) - { - /* The event group can only have been allocated dynamically - free - * it again. */ - vPortFree( pxEventBits ); - } - #elif ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) ) - { - /* The event group could have been allocated statically or - * dynamically, so check before attempting to free the memory. */ - if( pxEventBits->ucStaticallyAllocated == ( uint8_t ) pdFALSE ) - { - vPortFree( pxEventBits ); - } - else - { - mtCOVERAGE_TEST_MARKER(); - } - } - #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ - - traceRETURN_vEventGroupDelete(); -} -/*-----------------------------------------------------------*/ - -#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) - BaseType_t xEventGroupGetStaticBuffer( EventGroupHandle_t xEventGroup, - StaticEventGroup_t ** ppxEventGroupBuffer ) - { - BaseType_t xReturn; - EventGroup_t * pxEventBits = xEventGroup; - - traceENTER_xEventGroupGetStaticBuffer( xEventGroup, ppxEventGroupBuffer ); - - configASSERT( pxEventBits ); - configASSERT( ppxEventGroupBuffer ); - - #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) - { - /* Check if the event group was statically allocated. */ - if( pxEventBits->ucStaticallyAllocated == ( uint8_t ) pdTRUE ) + #else /* configSUPPORT_DYNAMIC_ALLOCATION */ { + /* Event group must have been statically allocated. */ /* MISRA Ref 11.3.1 [Misaligned access] */ /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-113 */ /* coverity[misra_c_2012_rule_11_3_violation] */ *ppxEventGroupBuffer = ( StaticEventGroup_t * ) pxEventBits; xReturn = pdTRUE; } - else - { - xReturn = pdFALSE; - } - } - #else /* configSUPPORT_DYNAMIC_ALLOCATION */ - { - /* Event group must have been statically allocated. */ - /* MISRA Ref 11.3.1 [Misaligned access] */ - /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-113 */ - /* coverity[misra_c_2012_rule_11_3_violation] */ - *ppxEventGroupBuffer = ( StaticEventGroup_t * ) pxEventBits; - xReturn = pdTRUE; - } - #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ + #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ - traceRETURN_xEventGroupGetStaticBuffer( xReturn ); + traceRETURN_xEventGroupGetStaticBuffer( xReturn ); - return xReturn; - } -#endif /* configSUPPORT_STATIC_ALLOCATION */ + return xReturn; + } + #endif /* configSUPPORT_STATIC_ALLOCATION */ /*-----------------------------------------------------------*/ /* For internal use only - execute a 'set bits' command that was pended from * an interrupt. */ -void vEventGroupSetBitsCallback( void * pvEventGroup, - uint32_t ulBitsToSet ) -{ - traceENTER_vEventGroupSetBitsCallback( pvEventGroup, ulBitsToSet ); + void vEventGroupSetBitsCallback( void * pvEventGroup, + uint32_t ulBitsToSet ) + { + traceENTER_vEventGroupSetBitsCallback( pvEventGroup, ulBitsToSet ); - /* MISRA Ref 11.5.4 [Callback function parameter] */ - /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ - /* coverity[misra_c_2012_rule_11_5_violation] */ - ( void ) xEventGroupSetBits( pvEventGroup, ( EventBits_t ) ulBitsToSet ); + /* MISRA Ref 11.5.4 [Callback function parameter] */ + /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ + /* coverity[misra_c_2012_rule_11_5_violation] */ + ( void ) xEventGroupSetBits( pvEventGroup, ( EventBits_t ) ulBitsToSet ); - traceRETURN_vEventGroupSetBitsCallback(); -} + traceRETURN_vEventGroupSetBitsCallback(); + } /*-----------------------------------------------------------*/ /* For internal use only - execute a 'clear bits' command that was pended from * an interrupt. */ -void vEventGroupClearBitsCallback( void * pvEventGroup, - uint32_t ulBitsToClear ) -{ - traceENTER_vEventGroupClearBitsCallback( pvEventGroup, ulBitsToClear ); - - /* MISRA Ref 11.5.4 [Callback function parameter] */ - /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ - /* coverity[misra_c_2012_rule_11_5_violation] */ - ( void ) xEventGroupClearBits( pvEventGroup, ( EventBits_t ) ulBitsToClear ); - - traceRETURN_vEventGroupClearBitsCallback(); -} -/*-----------------------------------------------------------*/ - -static BaseType_t prvTestWaitCondition( const EventBits_t uxCurrentEventBits, - const EventBits_t uxBitsToWaitFor, - const BaseType_t xWaitForAllBits ) -{ - BaseType_t xWaitConditionMet = pdFALSE; - - if( xWaitForAllBits == pdFALSE ) + void vEventGroupClearBitsCallback( void * pvEventGroup, + uint32_t ulBitsToClear ) { - /* Task only has to wait for one bit within uxBitsToWaitFor to be - * set. Is one already set? */ - if( ( uxCurrentEventBits & uxBitsToWaitFor ) != ( EventBits_t ) 0 ) - { - xWaitConditionMet = pdTRUE; - } - else - { - mtCOVERAGE_TEST_MARKER(); - } - } - else - { - /* Task has to wait for all the bits in uxBitsToWaitFor to be set. - * Are they set already? */ - if( ( uxCurrentEventBits & uxBitsToWaitFor ) == uxBitsToWaitFor ) - { - xWaitConditionMet = pdTRUE; - } - else - { - mtCOVERAGE_TEST_MARKER(); - } - } + traceENTER_vEventGroupClearBitsCallback( pvEventGroup, ulBitsToClear ); - return xWaitConditionMet; -} -/*-----------------------------------------------------------*/ - -#if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) - - BaseType_t xEventGroupSetBitsFromISR( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - BaseType_t * pxHigherPriorityTaskWoken ) - { - BaseType_t xReturn; - - traceENTER_xEventGroupSetBitsFromISR( xEventGroup, uxBitsToSet, pxHigherPriorityTaskWoken ); - - traceEVENT_GROUP_SET_BITS_FROM_ISR( xEventGroup, uxBitsToSet ); - xReturn = xTimerPendFunctionCallFromISR( vEventGroupSetBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToSet, pxHigherPriorityTaskWoken ); - - traceRETURN_xEventGroupSetBitsFromISR( xReturn ); - - return xReturn; - } - -#endif /* if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) */ -/*-----------------------------------------------------------*/ - -#if ( configUSE_TRACE_FACILITY == 1 ) - - UBaseType_t uxEventGroupGetNumber( void * xEventGroup ) - { - UBaseType_t xReturn; - - /* MISRA Ref 11.5.2 [Opaque pointer] */ + /* MISRA Ref 11.5.4 [Callback function parameter] */ /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ /* coverity[misra_c_2012_rule_11_5_violation] */ - EventGroup_t const * pxEventBits = ( EventGroup_t * ) xEventGroup; + ( void ) xEventGroupClearBits( pvEventGroup, ( EventBits_t ) ulBitsToClear ); - traceENTER_uxEventGroupGetNumber( xEventGroup ); + traceRETURN_vEventGroupClearBitsCallback(); + } +/*-----------------------------------------------------------*/ - if( xEventGroup == NULL ) + static BaseType_t prvTestWaitCondition( const EventBits_t uxCurrentEventBits, + const EventBits_t uxBitsToWaitFor, + const BaseType_t xWaitForAllBits ) + { + BaseType_t xWaitConditionMet = pdFALSE; + + if( xWaitForAllBits == pdFALSE ) { - xReturn = 0; + /* Task only has to wait for one bit within uxBitsToWaitFor to be + * set. Is one already set? */ + if( ( uxCurrentEventBits & uxBitsToWaitFor ) != ( EventBits_t ) 0 ) + { + xWaitConditionMet = pdTRUE; + } + else + { + mtCOVERAGE_TEST_MARKER(); + } } else { - xReturn = pxEventBits->uxEventGroupNumber; + /* Task has to wait for all the bits in uxBitsToWaitFor to be set. + * Are they set already? */ + if( ( uxCurrentEventBits & uxBitsToWaitFor ) == uxBitsToWaitFor ) + { + xWaitConditionMet = pdTRUE; + } + else + { + mtCOVERAGE_TEST_MARKER(); + } } - traceRETURN_uxEventGroupGetNumber( xReturn ); - - return xReturn; + return xWaitConditionMet; } - -#endif /* configUSE_TRACE_FACILITY */ /*-----------------------------------------------------------*/ -#if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) - void vEventGroupSetNumber( void * xEventGroup, - UBaseType_t uxEventGroupNumber ) - { - traceENTER_vEventGroupSetNumber( xEventGroup, uxEventGroupNumber ); + BaseType_t xEventGroupSetBitsFromISR( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + BaseType_t * pxHigherPriorityTaskWoken ) + { + BaseType_t xReturn; - /* MISRA Ref 11.5.2 [Opaque pointer] */ - /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ - /* coverity[misra_c_2012_rule_11_5_violation] */ - ( ( EventGroup_t * ) xEventGroup )->uxEventGroupNumber = uxEventGroupNumber; + traceENTER_xEventGroupSetBitsFromISR( xEventGroup, uxBitsToSet, pxHigherPriorityTaskWoken ); - traceRETURN_vEventGroupSetNumber(); - } + traceEVENT_GROUP_SET_BITS_FROM_ISR( xEventGroup, uxBitsToSet ); + xReturn = xTimerPendFunctionCallFromISR( vEventGroupSetBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToSet, pxHigherPriorityTaskWoken ); -#endif /* configUSE_TRACE_FACILITY */ + traceRETURN_xEventGroupSetBitsFromISR( xReturn ); + + return xReturn; + } + + #endif /* if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) */ /*-----------------------------------------------------------*/ + + #if ( configUSE_TRACE_FACILITY == 1 ) + + UBaseType_t uxEventGroupGetNumber( void * xEventGroup ) + { + UBaseType_t xReturn; + + /* MISRA Ref 11.5.2 [Opaque pointer] */ + /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ + /* coverity[misra_c_2012_rule_11_5_violation] */ + EventGroup_t const * pxEventBits = ( EventGroup_t * ) xEventGroup; + + traceENTER_uxEventGroupGetNumber( xEventGroup ); + + if( xEventGroup == NULL ) + { + xReturn = 0; + } + else + { + xReturn = pxEventBits->uxEventGroupNumber; + } + + traceRETURN_uxEventGroupGetNumber( xReturn ); + + return xReturn; + } + + #endif /* configUSE_TRACE_FACILITY */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_TRACE_FACILITY == 1 ) + + void vEventGroupSetNumber( void * xEventGroup, + UBaseType_t uxEventGroupNumber ) + { + traceENTER_vEventGroupSetNumber( xEventGroup, uxEventGroupNumber ); + + /* MISRA Ref 11.5.2 [Opaque pointer] */ + /* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */ + /* coverity[misra_c_2012_rule_11_5_violation] */ + ( ( EventGroup_t * ) xEventGroup )->uxEventGroupNumber = uxEventGroupNumber; + + traceRETURN_vEventGroupSetNumber(); + } + + #endif /* configUSE_TRACE_FACILITY */ +/*-----------------------------------------------------------*/ + +/* This entire source file will be skipped if the application is not configured + * to include event groups functionality. If you want to include event groups + * then ensure configUSE_EVENT_GROUPS is set to 1 in FreeRTOSConfig.h. */ +#endif /* configUSE_EVENT_GROUPS == 1 */ diff --git a/include/FreeRTOS.h b/include/FreeRTOS.h index 8dcb407f4..69611842a 100644 --- a/include/FreeRTOS.h +++ b/include/FreeRTOS.h @@ -318,6 +318,14 @@ #define configUSE_TIMERS 0 #endif +#ifndef configUSE_EVENT_GROUPS + #define configUSE_EVENT_GROUPS 1 +#endif + +#ifndef configUSE_STREAM_BUFFERS + #define configUSE_STREAM_BUFFERS 1 +#endif + #ifndef configUSE_DAEMON_TASK_STARTUP_HOOK #define configUSE_DAEMON_TASK_STARTUP_HOOK 0 #endif diff --git a/include/event_groups.h b/include/event_groups.h index f5652114e..8ff26799b 100644 --- a/include/event_groups.h +++ b/include/event_groups.h @@ -139,6 +139,9 @@ typedef TickType_t EventBits_t; * each event group has 56 usable bits (bit 0 to bit 53). The EventBits_t type * is used to store event bits within an event group. * + * The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupCreate() + * to be available. + * * @return If the event group was created then a handle to the event group is * returned. If there was insufficient FreeRTOS heap available to create the * event group then NULL is returned. See https://www.FreeRTOS.org/a00111.html @@ -196,6 +199,9 @@ typedef TickType_t EventBits_t; * each event group has 56 usable bits (bit 0 to bit 53). The EventBits_t type * is used to store event bits within an event group. * + * The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupCreateStatic() + * to be available. + * * @param pxEventGroupBuffer pxEventGroupBuffer must point to a variable of type * StaticEventGroup_t, which will be then be used to hold the event group's data * structures, removing the need for the memory to be allocated dynamically. @@ -238,6 +244,9 @@ typedef TickType_t EventBits_t; * * This function cannot be called from an interrupt. * + * The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupWaitBits() + * to be available. + * * @param xEventGroup The event group in which the bits are being tested. The * event group must have previously been created using a call to * xEventGroupCreate(). @@ -331,6 +340,9 @@ EventBits_t xEventGroupWaitBits( EventGroupHandle_t xEventGroup, * Clear bits within an event group. This function cannot be called from an * interrupt. * + * The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupClearBits() + * to be available. + * * @param xEventGroup The event group in which the bits are to be cleared. * * @param uxBitsToClear A bitwise value that indicates the bit or bits to clear @@ -461,6 +473,9 @@ EventBits_t xEventGroupClearBits( EventGroupHandle_t xEventGroup, * Setting bits in an event group will automatically unblock tasks that are * blocked waiting for the bits. * + * The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupSetBits() + * to be available. + * * @param xEventGroup The event group in which the bits are to be set. * * @param uxBitsToSet A bitwise value that indicates the bit or bits to set. @@ -625,6 +640,9 @@ EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup, * this case all the bits specified by uxBitsToWait will be automatically * cleared before the function returns. * + * The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupSync() + * to be available. + * * @param xEventGroup The event group in which the bits are being tested. The * event group must have previously been created using a call to * xEventGroupCreate(). @@ -743,6 +761,9 @@ EventBits_t xEventGroupSync( EventGroupHandle_t xEventGroup, * Returns the current value of the bits in an event group. This function * cannot be used from an interrupt. * + * The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupGetBits() + * to be available. + * * @param xEventGroup The event group being queried. * * @return The event group bits at the time xEventGroupGetBits() was called. @@ -760,6 +781,9 @@ EventBits_t xEventGroupSync( EventGroupHandle_t xEventGroup, * * A version of xEventGroupGetBits() that can be called from an ISR. * + * The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupGetBitsFromISR() + * to be available. + * * @param xEventGroup The event group being queried. * * @return The event group bits at the time xEventGroupGetBitsFromISR() was called. @@ -779,6 +803,9 @@ EventBits_t xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup ) PRIVILEG * xEventGroupCreate(). Tasks that are blocked on the event group will be * unblocked and obtain 0 as the event group's value. * + * The configUSE_EVENT_GROUPS configuration constant must be set to 1 for vEventGroupDelete() + * to be available. + * * @param xEventGroup The event group being deleted. */ void vEventGroupDelete( EventGroupHandle_t xEventGroup ) PRIVILEGED_FUNCTION; @@ -793,6 +820,9 @@ void vEventGroupDelete( EventGroupHandle_t xEventGroup ) PRIVILEGED_FUNCTION; * Retrieve a pointer to a statically created event groups's data structure * buffer. It is the same buffer that is supplied at the time of creation. * + * The configUSE_EVENT_GROUPS configuration constant must be set to 1 for xEventGroupGetStaticBuffer() + * to be available. + * * @param xEventGroup The event group for which to retrieve the buffer. * * @param ppxEventGroupBuffer Used to return a pointer to the event groups's diff --git a/include/message_buffer.h b/include/message_buffer.h index fb5a6c04a..1b1356ca4 100644 --- a/include/message_buffer.h +++ b/include/message_buffer.h @@ -100,6 +100,8 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * * configSUPPORT_DYNAMIC_ALLOCATION must be set to 1 or left undefined in * FreeRTOSConfig.h for xMessageBufferCreate() to be available. + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferCreate() to be available. * * @param xBufferSizeBytes The total number of bytes (not messages) the message * buffer will be able to hold at any one time. When a message is written to @@ -168,12 +170,15 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * * @code{c} * MessageBufferHandle_t xMessageBufferCreateStatic( size_t xBufferSizeBytes, - * uint8_t *pucMessageBufferStorageArea, - * StaticMessageBuffer_t *pxStaticMessageBuffer ); + * uint8_t *pucMessageBufferStorageArea, + * StaticMessageBuffer_t *pxStaticMessageBuffer ); * @endcode * Creates a new message buffer using statically allocated memory. See * xMessageBufferCreate() for a version that uses dynamically allocated memory. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferCreateStatic() to be available. + * * @param xBufferSizeBytes The size, in bytes, of the buffer pointed to by the * pucMessageBufferStorageArea parameter. When a message is written to the * message buffer an additional sizeof( size_t ) bytes are also written to store @@ -258,6 +263,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * buffer and storage area buffer. These are the same buffers that are supplied * at the time of creation. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferGetStaticBuffers() to be available. + * * @param xMessageBuffer The message buffer for which to retrieve the buffers. * * @param ppucMessageBufferStorageArea Used to return a pointer to the @@ -281,9 +289,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * * @code{c} * size_t xMessageBufferSend( MessageBufferHandle_t xMessageBuffer, - * const void *pvTxData, - * size_t xDataLengthBytes, - * TickType_t xTicksToWait ); + * const void *pvTxData, + * size_t xDataLengthBytes, + * TickType_t xTicksToWait ); * @endcode * * Sends a discrete message to the message buffer. The message can be any @@ -309,6 +317,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * xMessageBufferSendFromISR() to write to a message buffer from an interrupt * service routine (ISR). * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferSend() to be available. + * * @param xMessageBuffer The handle of the message buffer to which a message is * being sent. * @@ -381,9 +392,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * * @code{c} * size_t xMessageBufferSendFromISR( MessageBufferHandle_t xMessageBuffer, - * const void *pvTxData, - * size_t xDataLengthBytes, - * BaseType_t *pxHigherPriorityTaskWoken ); + * const void *pvTxData, + * size_t xDataLengthBytes, + * BaseType_t *pxHigherPriorityTaskWoken ); * @endcode * * Interrupt safe version of the API function that sends a discrete message to @@ -409,6 +420,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * xMessageBufferSendFromISR() to write to a message buffer from an interrupt * service routine (ISR). * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferSendFromISR() to be available. + * * @param xMessageBuffer The handle of the message buffer to which a message is * being sent. * @@ -486,9 +500,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * * @code{c} * size_t xMessageBufferReceive( MessageBufferHandle_t xMessageBuffer, - * void *pvRxData, - * size_t xBufferLengthBytes, - * TickType_t xTicksToWait ); + * void *pvRxData, + * size_t xBufferLengthBytes, + * TickType_t xTicksToWait ); * @endcode * * Receives a discrete message from a message buffer. Messages can be of @@ -513,6 +527,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * xMessageBufferReceiveFromISR() to read from a message buffer from an * interrupt service routine (ISR). * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferReceive() to be available. + * * @param xMessageBuffer The handle of the message buffer from which a message * is being received. * @@ -576,9 +593,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * * @code{c} * size_t xMessageBufferReceiveFromISR( MessageBufferHandle_t xMessageBuffer, - * void *pvRxData, - * size_t xBufferLengthBytes, - * BaseType_t *pxHigherPriorityTaskWoken ); + * void *pvRxData, + * size_t xBufferLengthBytes, + * BaseType_t *pxHigherPriorityTaskWoken ); * @endcode * * An interrupt safe version of the API function that receives a discrete @@ -604,6 +621,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * xMessageBufferReceiveFromISR() to read from a message buffer from an * interrupt service routine (ISR). * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferReceiveFromISR() to be available. + * * @param xMessageBuffer The handle of the message buffer from which a message * is being received. * @@ -687,6 +707,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * A message buffer handle must not be used after the message buffer has been * deleted. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * vMessageBufferDelete() to be available. + * * @param xMessageBuffer The handle of the message buffer to be deleted. * */ @@ -703,6 +726,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * cannot accept any more messages, of any size, until space is made available * by a message being removed from the message buffer. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferIsFull() to be available. + * * @param xMessageBuffer The handle of the message buffer being queried. * * @return If the message buffer referenced by xMessageBuffer is full then @@ -719,6 +745,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * * Tests to see if a message buffer is empty (does not contain any messages). * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferIsEmpty() to be available. + * * @param xMessageBuffer The handle of the message buffer being queried. * * @return If the message buffer referenced by xMessageBuffer is empty then @@ -739,6 +768,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * * A message buffer can only be reset if there are no tasks blocked on it. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferReset() to be available. + * * @param xMessageBuffer The handle of the message buffer being reset. * * @return If the message buffer was reset then pdPASS is returned. If the @@ -760,6 +792,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * @endcode * Returns the number of bytes of free space in the message buffer. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferSpaceAvailable() to be available. + * * @param xMessageBuffer The handle of the message buffer being queried. * * @return The number of bytes that can be written to the message buffer before @@ -786,6 +821,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * Useful if xMessageBufferReceive() returned 0 because the size of the buffer * passed into xMessageBufferReceive() was too small to hold the next message. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferNextLengthBytes() to be available. + * * @param xMessageBuffer The handle of the message buffer being queried. * * @return The length (in bytes) of the next message in the message buffer, or 0 @@ -817,6 +855,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for * additional information. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferSendCompletedFromISR() to be available. + * * @param xMessageBuffer The handle of the stream buffer to which data was * written. * @@ -858,6 +899,9 @@ typedef StreamBufferHandle_t MessageBufferHandle_t; * See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for * additional information. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xMessageBufferReceiveCompletedFromISR() to be available. + * * @param xMessageBuffer The handle of the stream buffer from which data was * read. * diff --git a/include/stream_buffer.h b/include/stream_buffer.h index d3ed9aff4..94a0e0cd7 100644 --- a/include/stream_buffer.h +++ b/include/stream_buffer.h @@ -91,6 +91,8 @@ typedef void (* StreamBufferCallbackFunction_t)( StreamBufferHandle_t xStreamBuf * * configSUPPORT_DYNAMIC_ALLOCATION must be set to 1 or left undefined in * FreeRTOSConfig.h for xStreamBufferCreate() to be available. + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferCreate() to be available. * * @param xBufferSizeBytes The total number of bytes the stream buffer will be * able to hold at any one time. @@ -167,15 +169,17 @@ typedef void (* StreamBufferCallbackFunction_t)( StreamBufferHandle_t xStreamBuf * * @code{c} * StreamBufferHandle_t xStreamBufferCreateStatic( size_t xBufferSizeBytes, - * size_t xTriggerLevelBytes, - * uint8_t *pucStreamBufferStorageArea, - * StaticStreamBuffer_t *pxStaticStreamBuffer ); + * size_t xTriggerLevelBytes, + * uint8_t *pucStreamBufferStorageArea, + * StaticStreamBuffer_t *pxStaticStreamBuffer ); * @endcode * Creates a new stream buffer using statically allocated memory. See * xStreamBufferCreate() for a version that uses dynamically allocated memory. * * configSUPPORT_STATIC_ALLOCATION must be set to 1 in FreeRTOSConfig.h for - * xStreamBufferCreateStatic() to be available. + * xStreamBufferCreateStatic() to be available. configUSE_STREAM_BUFFERS must be + * set to 1 in for FreeRTOSConfig.h for xStreamBufferCreateStatic() to be + * available. * * @param xBufferSizeBytes The size, in bytes, of the buffer pointed to by the * pucStreamBufferStorageArea parameter. @@ -273,6 +277,9 @@ typedef void (* StreamBufferCallbackFunction_t)( StreamBufferHandle_t xStreamBuf * buffer and storage area buffer. These are the same buffers that are supplied * at the time of creation. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferGetStaticBuffers() to be available. + * * @param xStreamBuffer The stream buffer for which to retrieve the buffers. * * @param ppucStreamBufferStorageArea Used to return a pointer to the stream @@ -297,9 +304,9 @@ typedef void (* StreamBufferCallbackFunction_t)( StreamBufferHandle_t xStreamBuf * * @code{c} * size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - * const void *pvTxData, - * size_t xDataLengthBytes, - * TickType_t xTicksToWait ); + * const void *pvTxData, + * size_t xDataLengthBytes, + * TickType_t xTicksToWait ); * @endcode * * Sends bytes to a stream buffer. The bytes are copied into the stream buffer. @@ -323,6 +330,9 @@ typedef void (* StreamBufferCallbackFunction_t)( StreamBufferHandle_t xStreamBuf * xStreamBufferSendFromISR() to write to a stream buffer from an interrupt * service routine (ISR). * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferSend() to be available. + * * @param xStreamBuffer The handle of the stream buffer to which a stream is * being sent. * @@ -394,9 +404,9 @@ size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, * * @code{c} * size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer, - * const void *pvTxData, - * size_t xDataLengthBytes, - * BaseType_t *pxHigherPriorityTaskWoken ); + * const void *pvTxData, + * size_t xDataLengthBytes, + * BaseType_t *pxHigherPriorityTaskWoken ); * @endcode * * Interrupt safe version of the API function that sends a stream of bytes to @@ -421,6 +431,9 @@ size_t xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, * xStreamBufferSendFromISR() to write to a stream buffer from an interrupt * service routine (ISR). * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferSendFromISR() to be available. + * * @param xStreamBuffer The handle of the stream buffer to which a stream is * being sent. * @@ -495,9 +508,9 @@ size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer, * * @code{c} * size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - * void *pvRxData, - * size_t xBufferLengthBytes, - * TickType_t xTicksToWait ); + * void *pvRxData, + * size_t xBufferLengthBytes, + * TickType_t xTicksToWait ); * @endcode * * Receives bytes from a stream buffer. @@ -521,6 +534,9 @@ size_t xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer, * xStreamBufferReceiveFromISR() to read from a stream buffer from an * interrupt service routine (ISR). * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferReceive() to be available. + * * @param xStreamBuffer The handle of the stream buffer from which bytes are to * be received. * @@ -584,9 +600,9 @@ size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, * * @code{c} * size_t xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer, - * void *pvRxData, - * size_t xBufferLengthBytes, - * BaseType_t *pxHigherPriorityTaskWoken ); + * void *pvRxData, + * size_t xBufferLengthBytes, + * BaseType_t *pxHigherPriorityTaskWoken ); * @endcode * * An interrupt safe version of the API function that receives bytes from a @@ -596,6 +612,9 @@ size_t xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, * Use xStreamBufferReceiveFromISR() to read bytes from a stream buffer from an * interrupt service routine (ISR). * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferReceiveFromISR() to be available. + * * @param xStreamBuffer The handle of the stream buffer from which a stream * is being received. * @@ -680,6 +699,9 @@ size_t xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer, * A stream buffer handle must not be used after the stream buffer has been * deleted. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * vStreamBufferDelete() to be available. + * * @param xStreamBuffer The handle of the stream buffer to be deleted. * * \defgroup vStreamBufferDelete vStreamBufferDelete @@ -697,6 +719,9 @@ void vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTI * Queries a stream buffer to see if it is full. A stream buffer is full if it * does not have any free space, and therefore cannot accept any more data. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferIsFull() to be available. + * * @param xStreamBuffer The handle of the stream buffer being queried. * * @return If the stream buffer is full then pdTRUE is returned. Otherwise @@ -717,6 +742,9 @@ BaseType_t xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_ * Queries a stream buffer to see if it is empty. A stream buffer is empty if * it does not contain any data. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferIsEmpty() to be available. + * * @param xStreamBuffer The handle of the stream buffer being queried. * * @return If the stream buffer is empty then pdTRUE is returned. Otherwise @@ -739,6 +767,9 @@ BaseType_t xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED * are no tasks blocked waiting to either send to or receive from the stream * buffer. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferReset() to be available. + * * @param xStreamBuffer The handle of the stream buffer being reset. * * @return If the stream buffer is reset then pdPASS is returned. If there was @@ -761,6 +792,9 @@ BaseType_t xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_F * equal to the amount of data that can be sent to the stream buffer before it * is full. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferSpacesAvailable() to be available. + * * @param xStreamBuffer The handle of the stream buffer being queried. * * @return The number of bytes that can be written to the stream buffer before @@ -782,6 +816,9 @@ size_t xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) PRIVIL * the number of bytes that can be read from the stream buffer before the stream * buffer would be empty. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferBytesAvailable() to be available. + * * @param xStreamBuffer The handle of the stream buffer being queried. * * @return The number of bytes that can be read from the stream buffer before @@ -816,6 +853,9 @@ size_t xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) PRIVILE * A trigger level is set when the stream buffer is created, and can be modified * using xStreamBufferSetTriggerLevel(). * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferSetTriggerLevel() to be available. + * * @param xStreamBuffer The handle of the stream buffer being updated. * * @param xTriggerLevel The new trigger level for the stream buffer. @@ -850,6 +890,9 @@ BaseType_t xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, * See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for * additional information. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferSendCompletedFromISR() to be available. + * * @param xStreamBuffer The handle of the stream buffer to which data was * written. * @@ -891,6 +934,9 @@ BaseType_t xStreamBufferSendCompletedFromISR( StreamBufferHandle_t xStreamBuffer * See the example implemented in FreeRTOS/Demo/Minimal/MessageBufferAMP.c for * additional information. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * xStreamBufferReceiveCompletedFromISR() to be available. + * * @param xStreamBuffer The handle of the stream buffer from which data was * read. * @@ -924,6 +970,9 @@ BaseType_t xStreamBufferReceiveCompletedFromISR( StreamBufferHandle_t xStreamBuf * vStreamBufferSetStreamBufferNotificationIndex, this function returns the * default value (tskDEFAULT_INDEX_TO_NOTIFY). * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * uxStreamBufferGetStreamBufferNotificationIndex() to be available. + * * @param xStreamBuffer The handle of the stream buffer for which the task * notification index is retrieved. * @@ -951,6 +1000,9 @@ UBaseType_t uxStreamBufferGetStreamBufferNotificationIndex( StreamBufferHandle_t * before attempting to send or receive data from the stream buffer to avoid * inconsistencies. * + * configUSE_STREAM_BUFFERS must be set to 1 in for FreeRTOSConfig.h for + * vStreamBufferSetStreamBufferNotificationIndex() to be available. + * * @param xStreamBuffer The handle of the stream buffer for which the task * notification index is set. * diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c index fb167a699..1fb67891d 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/mpu_wrappers_v2_asm.c @@ -1690,117 +1690,133 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1826,10 +1842,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1857,221 +1873,253 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c index fb167a699..1fb67891d 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/mpu_wrappers_v2_asm.c @@ -1690,117 +1690,133 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1826,10 +1842,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1857,221 +1873,253 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c index 4f66448f9..02229d964 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/mpu_wrappers_v2_asm.c @@ -1634,113 +1634,130 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1765,10 +1782,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1795,213 +1812,245 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c index 4f66448f9..6642c9e20 100644 --- a/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c +++ b/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/mpu_wrappers_v2_asm.c @@ -1634,113 +1634,129 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1765,10 +1781,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1795,213 +1811,245 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/Common/mpu_wrappers.c b/portable/Common/mpu_wrappers.c index 03ca77c68..85facbd79 100644 --- a/portable/Common/mpu_wrappers.c +++ b/portable/Common/mpu_wrappers.c @@ -1952,7 +1952,7 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + #if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) ) EventGroupHandle_t MPU_xEventGroupCreate( void ) /* FREERTOS_SYSTEM_CALL */ { EventGroupHandle_t xReturn; @@ -1975,10 +1975,10 @@ return xReturn; } - #endif /* if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) */ + #endif /* #if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) ) EventGroupHandle_t MPU_xEventGroupCreateStatic( StaticEventGroup_t * pxEventGroupBuffer ) /* FREERTOS_SYSTEM_CALL */ { EventGroupHandle_t xReturn; @@ -2001,377 +2001,407 @@ return xReturn; } - #endif /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */ + #endif /* #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup, + #if ( configUSE_EVENT_GROUPS == 1 ) + EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToWaitFor, + const BaseType_t xClearOnExit, + const BaseType_t xWaitForAllBits, + TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */ + { + EventBits_t xReturn; + + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); + + xReturn = xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait ); + portMEMORY_BARRIER(); + + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + xReturn = xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait ); + } + + return xReturn; + } + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_EVENT_GROUPS == 1 ) + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* FREERTOS_SYSTEM_CALL */ + { + EventBits_t xReturn; + + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); + + xReturn = xEventGroupClearBits( xEventGroup, uxBitsToClear ); + portMEMORY_BARRIER(); + + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + xReturn = xEventGroupClearBits( xEventGroup, uxBitsToClear ); + } + + return xReturn; + } + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_EVENT_GROUPS == 1 ) + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* FREERTOS_SYSTEM_CALL */ + { + EventBits_t xReturn; + + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); + + xReturn = xEventGroupSetBits( xEventGroup, uxBitsToSet ); + portMEMORY_BARRIER(); + + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + xReturn = xEventGroupSetBits( xEventGroup, uxBitsToSet ); + } + + return xReturn; + } + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_EVENT_GROUPS == 1 ) + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, - const BaseType_t xClearOnExit, - const BaseType_t xWaitForAllBits, TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */ - { - EventBits_t xReturn; - - if( portIS_PRIVILEGED() == pdFALSE ) { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); + EventBits_t xReturn; - xReturn = xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait ); - portMEMORY_BARRIER(); + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); + xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait ); + portMEMORY_BARRIER(); + + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait ); + } + + return xReturn; } - else - { - xReturn = xEventGroupWaitBits( xEventGroup, uxBitsToWaitFor, xClearOnExit, xWaitForAllBits, xTicksToWait ); - } - - return xReturn; - } + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* FREERTOS_SYSTEM_CALL */ - { - EventBits_t xReturn; - - if( portIS_PRIVILEGED() == pdFALSE ) + #if ( configUSE_EVENT_GROUPS == 1 ) + void MPU_vEventGroupDelete( EventGroupHandle_t xEventGroup ) /* FREERTOS_SYSTEM_CALL */ { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); - xReturn = xEventGroupClearBits( xEventGroup, uxBitsToClear ); - portMEMORY_BARRIER(); + vEventGroupDelete( xEventGroup ); + portMEMORY_BARRIER(); - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + vEventGroupDelete( xEventGroup ); + } } - else - { - xReturn = xEventGroupClearBits( xEventGroup, uxBitsToClear ); - } - - return xReturn; - } + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* FREERTOS_SYSTEM_CALL */ - { - EventBits_t xReturn; - - if( portIS_PRIVILEGED() == pdFALSE ) + #if ( configUSE_STREAM_BUFFERS == 1 ) + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */ { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); + size_t xReturn; - xReturn = xEventGroupSetBits( xEventGroup, uxBitsToSet ); - portMEMORY_BARRIER(); + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); + xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait ); + portMEMORY_BARRIER(); + + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait ); + } + + return xReturn; } - else - { - xReturn = xEventGroupSetBits( xEventGroup, uxBitsToSet ); - } - - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */ - { - EventBits_t xReturn; - - if( portIS_PRIVILEGED() == pdFALSE ) + #if ( configUSE_STREAM_BUFFERS == 1 ) + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); + size_t xReturn; - xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait ); - portMEMORY_BARRIER(); + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); + xReturn = xStreamBufferNextMessageLengthBytes( xStreamBuffer ); + portMEMORY_BARRIER(); + + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + xReturn = xStreamBufferNextMessageLengthBytes( xStreamBuffer ); + } + + return xReturn; } - else - { - xReturn = xEventGroupSync( xEventGroup, uxBitsToSet, uxBitsToWaitFor, xTicksToWait ); - } - - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - void MPU_vEventGroupDelete( EventGroupHandle_t xEventGroup ) /* FREERTOS_SYSTEM_CALL */ - { - if( portIS_PRIVILEGED() == pdFALSE ) + #if ( configUSE_STREAM_BUFFERS == 1 ) + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */ { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); + size_t xReturn; - vEventGroupDelete( xEventGroup ); - portMEMORY_BARRIER(); + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); + xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait ); + portMEMORY_BARRIER(); + + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait ); + } + + return xReturn; } - else - { - vEventGroupDelete( xEventGroup ); - } - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */ - { - size_t xReturn; - - if( portIS_PRIVILEGED() == pdFALSE ) + #if ( configUSE_STREAM_BUFFERS == 1 ) + void MPU_vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); - xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait ); - portMEMORY_BARRIER(); + vStreamBufferDelete( xStreamBuffer ); + portMEMORY_BARRIER(); - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + vStreamBufferDelete( xStreamBuffer ); + } } - else - { - xReturn = xStreamBufferSend( xStreamBuffer, pvTxData, xDataLengthBytes, xTicksToWait ); - } - - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ - { - size_t xReturn; - - if( portIS_PRIVILEGED() == pdFALSE ) + #if ( configUSE_STREAM_BUFFERS == 1 ) + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); + BaseType_t xReturn; - xReturn = xStreamBufferNextMessageLengthBytes( xStreamBuffer ); - portMEMORY_BARRIER(); + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); + xReturn = xStreamBufferIsFull( xStreamBuffer ); + portMEMORY_BARRIER(); + + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + xReturn = xStreamBufferIsFull( xStreamBuffer ); + } + + return xReturn; } - else - { - xReturn = xStreamBufferNextMessageLengthBytes( xStreamBuffer ); - } - - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */ - { - size_t xReturn; - - if( portIS_PRIVILEGED() == pdFALSE ) + #if ( configUSE_STREAM_BUFFERS == 1 ) + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); + BaseType_t xReturn; - xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait ); - portMEMORY_BARRIER(); + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); + xReturn = xStreamBufferIsEmpty( xStreamBuffer ); + portMEMORY_BARRIER(); + + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + xReturn = xStreamBufferIsEmpty( xStreamBuffer ); + } + + return xReturn; } - else - { - xReturn = xStreamBufferReceive( xStreamBuffer, pvRxData, xBufferLengthBytes, xTicksToWait ); - } - - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - void MPU_vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ - { - if( portIS_PRIVILEGED() == pdFALSE ) + #if ( configUSE_STREAM_BUFFERS == 1 ) + BaseType_t MPU_xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); + BaseType_t xReturn; - vStreamBufferDelete( xStreamBuffer ); - portMEMORY_BARRIER(); + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); + xReturn = xStreamBufferReset( xStreamBuffer ); + portMEMORY_BARRIER(); + + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + xReturn = xStreamBufferReset( xStreamBuffer ); + } + + return xReturn; } - else - { - vStreamBufferDelete( xStreamBuffer ); - } - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ - { - BaseType_t xReturn; - - if( portIS_PRIVILEGED() == pdFALSE ) + #if ( configUSE_STREAM_BUFFERS == 1 ) + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); + size_t xReturn; - xReturn = xStreamBufferIsFull( xStreamBuffer ); - portMEMORY_BARRIER(); + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); + xReturn = xStreamBufferSpacesAvailable( xStreamBuffer ); + portMEMORY_BARRIER(); - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + xReturn = xStreamBufferSpacesAvailable( xStreamBuffer ); + } + + return xReturn; } - else - { - xReturn = xStreamBufferIsFull( xStreamBuffer ); - } - - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ - { - BaseType_t xReturn; - - if( portIS_PRIVILEGED() == pdFALSE ) + #if ( configUSE_STREAM_BUFFERS == 1 ) + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); + size_t xReturn; - xReturn = xStreamBufferIsEmpty( xStreamBuffer ); - portMEMORY_BARRIER(); + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); + xReturn = xStreamBufferBytesAvailable( xStreamBuffer ); + portMEMORY_BARRIER(); + + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + xReturn = xStreamBufferBytesAvailable( xStreamBuffer ); + } + + return xReturn; } - else - { - xReturn = xStreamBufferIsEmpty( xStreamBuffer ); - } - - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ - { - BaseType_t xReturn; - - if( portIS_PRIVILEGED() == pdFALSE ) + #if ( configUSE_STREAM_BUFFERS == 1 ) + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* FREERTOS_SYSTEM_CALL */ { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); + BaseType_t xReturn; - xReturn = xStreamBufferReset( xStreamBuffer ); - portMEMORY_BARRIER(); + if( portIS_PRIVILEGED() == pdFALSE ) + { + portRAISE_PRIVILEGE(); + portMEMORY_BARRIER(); - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); + xReturn = xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel ); + portMEMORY_BARRIER(); + + portRESET_PRIVILEGE(); + portMEMORY_BARRIER(); + } + else + { + xReturn = xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel ); + } + + return xReturn; } - else - { - xReturn = xStreamBufferReset( xStreamBuffer ); - } - - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ - { - size_t xReturn; - - if( portIS_PRIVILEGED() == pdFALSE ) - { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); - xReturn = xStreamBufferSpacesAvailable( xStreamBuffer ); - portMEMORY_BARRIER(); - - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); - } - else - { - xReturn = xStreamBufferSpacesAvailable( xStreamBuffer ); - } - - return xReturn; - } -/*-----------------------------------------------------------*/ - - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ - { - size_t xReturn; - - if( portIS_PRIVILEGED() == pdFALSE ) - { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); - - xReturn = xStreamBufferBytesAvailable( xStreamBuffer ); - portMEMORY_BARRIER(); - - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); - } - else - { - xReturn = xStreamBufferBytesAvailable( xStreamBuffer ); - } - - return xReturn; - } -/*-----------------------------------------------------------*/ - - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* FREERTOS_SYSTEM_CALL */ - { - BaseType_t xReturn; - - if( portIS_PRIVILEGED() == pdFALSE ) - { - portRAISE_PRIVILEGE(); - portMEMORY_BARRIER(); - - xReturn = xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel ); - portMEMORY_BARRIER(); - - portRESET_PRIVILEGE(); - portMEMORY_BARRIER(); - } - else - { - xReturn = xStreamBufferSetTriggerLevel( xStreamBuffer, xTriggerLevel ); - } - - return xReturn; - } -/*-----------------------------------------------------------*/ - - #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + #if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) ) StreamBufferHandle_t MPU_xStreamBufferGenericCreate( size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer, @@ -2422,10 +2452,10 @@ return xReturn; } - #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ + #endif /* #if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) ) StreamBufferHandle_t MPU_xStreamBufferGenericCreateStatic( size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer, @@ -2482,7 +2512,7 @@ return xReturn; } - #endif /* configSUPPORT_STATIC_ALLOCATION */ + #endif /* #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) ) */ /*-----------------------------------------------------------*/ diff --git a/portable/Common/mpu_wrappers_v2.c b/portable/Common/mpu_wrappers_v2.c index 99256e3fa..a7ab6669a 100644 --- a/portable/Common/mpu_wrappers_v2.c +++ b/portable/Common/mpu_wrappers_v2.c @@ -215,22 +215,27 @@ #define MPU_GetTaskHandleAtIndex( lIndex ) ( TaskHandle_t ) MPU_GetHandleAtIndex( ( lIndex ), KERNEL_OBJECT_TYPE_TASK ) #define MPU_GetIndexForTaskHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) ( xHandle ), KERNEL_OBJECT_TYPE_TASK ) + #if ( configUSE_EVENT_GROUPS == 1 ) /* * Wrappers to keep all the casting in one place for Event Group APIs. */ - #define MPU_StoreEventGroupHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( ( lIndex ), ( OpaqueObjectHandle_t ) ( xHandle ), NULL, KERNEL_OBJECT_TYPE_EVENT_GROUP ) - #define MPU_GetEventGroupHandleAtIndex( lIndex ) ( EventGroupHandle_t ) MPU_GetHandleAtIndex( ( lIndex ), KERNEL_OBJECT_TYPE_EVENT_GROUP ) - #define MPU_GetIndexForEventGroupHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) ( xHandle ), KERNEL_OBJECT_TYPE_EVENT_GROUP ) + #define MPU_StoreEventGroupHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( ( lIndex ), ( OpaqueObjectHandle_t ) ( xHandle ), NULL, KERNEL_OBJECT_TYPE_EVENT_GROUP ) + #define MPU_GetEventGroupHandleAtIndex( lIndex ) ( EventGroupHandle_t ) MPU_GetHandleAtIndex( ( lIndex ), KERNEL_OBJECT_TYPE_EVENT_GROUP ) + #define MPU_GetIndexForEventGroupHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) ( xHandle ), KERNEL_OBJECT_TYPE_EVENT_GROUP ) + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ + + #if ( configUSE_STREAM_BUFFERS == 1 ) /* * Wrappers to keep all the casting in one place for Stream Buffer APIs. */ - #define MPU_StoreStreamBufferHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( ( lIndex ), ( OpaqueObjectHandle_t ) ( xHandle), NULL, KERNEL_OBJECT_TYPE_STREAM_BUFFER ) - #define MPU_GetStreamBufferHandleAtIndex( lIndex ) ( StreamBufferHandle_t ) MPU_GetHandleAtIndex( ( lIndex ), KERNEL_OBJECT_TYPE_STREAM_BUFFER ) - #define MPU_GetIndexForStreamBufferHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) ( xHandle ), KERNEL_OBJECT_TYPE_STREAM_BUFFER ) + #define MPU_StoreStreamBufferHandleAtIndex( lIndex, xHandle ) MPU_StoreHandleAndDataAtIndex( ( lIndex ), ( OpaqueObjectHandle_t ) ( xHandle), NULL, KERNEL_OBJECT_TYPE_STREAM_BUFFER ) + #define MPU_GetStreamBufferHandleAtIndex( lIndex ) ( StreamBufferHandle_t ) MPU_GetHandleAtIndex( ( lIndex ), KERNEL_OBJECT_TYPE_STREAM_BUFFER ) + #define MPU_GetIndexForStreamBufferHandle( xHandle ) MPU_GetIndexForHandle( ( OpaqueObjectHandle_t ) ( xHandle ), KERNEL_OBJECT_TYPE_STREAM_BUFFER ) + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ #if ( configUSE_TIMERS == 1 ) - /* * Wrappers to keep all the casting in one place for Timer APIs. */ @@ -3867,53 +3872,99 @@ /* MPU wrappers for event group APIs. */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToWaitFor, - const BaseType_t xClearOnExit, - const BaseType_t xWaitForAllBits, - TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */ - { - EventBits_t xReturn = 0; - xEventGroupWaitBitsParams_t xParams; + #if ( configUSE_EVENT_GROUPS == 1 ) - xParams.xEventGroup = xEventGroup; - xParams.uxBitsToWaitFor = uxBitsToWaitFor; - xParams.xClearOnExit = xClearOnExit; - xParams.xWaitForAllBits = xWaitForAllBits; - xParams.xTicksToWait = xTicksToWait; - - xReturn = MPU_xEventGroupWaitBitsEntry( &( xParams ) ); - - return xReturn; - } - - EventBits_t MPU_xEventGroupWaitBitsImpl( const xEventGroupWaitBitsParams_t * pxParams ) PRIVILEGED_FUNCTION; - - EventBits_t MPU_xEventGroupWaitBitsImpl( const xEventGroupWaitBitsParams_t * pxParams ) /* PRIVILEGED_FUNCTION */ - { - EventBits_t xReturn = 0; - EventGroupHandle_t xInternalEventGroupHandle = NULL; - int32_t lIndex; - BaseType_t xCallingTaskIsAuthorizedToAccessEventGroup = pdFALSE; - BaseType_t xAreParamsReadable = pdFALSE; - - if( pxParams != NULL ) + EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToWaitFor, + const BaseType_t xClearOnExit, + const BaseType_t xWaitForAllBits, + TickType_t xTicksToWait ) /* FREERTOS_SYSTEM_CALL */ { - xAreParamsReadable = xPortIsAuthorizedToAccessBuffer( pxParams, - sizeof( xEventGroupWaitBitsParams_t ), - tskMPU_READ_PERMISSION ); + EventBits_t xReturn = 0; + xEventGroupWaitBitsParams_t xParams; + + xParams.xEventGroup = xEventGroup; + xParams.uxBitsToWaitFor = uxBitsToWaitFor; + xParams.xClearOnExit = xClearOnExit; + xParams.xWaitForAllBits = xWaitForAllBits; + xParams.xTicksToWait = xTicksToWait; + + xReturn = MPU_xEventGroupWaitBitsEntry( &( xParams ) ); + + return xReturn; } - if( xAreParamsReadable == pdTRUE ) + EventBits_t MPU_xEventGroupWaitBitsImpl( const xEventGroupWaitBitsParams_t * pxParams ) PRIVILEGED_FUNCTION; + + EventBits_t MPU_xEventGroupWaitBitsImpl( const xEventGroupWaitBitsParams_t * pxParams ) /* PRIVILEGED_FUNCTION */ { - if( ( ( pxParams->uxBitsToWaitFor & eventEVENT_BITS_CONTROL_BYTES ) == 0U ) && - ( pxParams->uxBitsToWaitFor != 0U ) - #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) - && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( pxParams->xTicksToWait != 0U ) ) ) - #endif - ) + EventBits_t xReturn = 0; + EventGroupHandle_t xInternalEventGroupHandle = NULL; + int32_t lIndex; + BaseType_t xCallingTaskIsAuthorizedToAccessEventGroup = pdFALSE; + BaseType_t xAreParamsReadable = pdFALSE; + + if( pxParams != NULL ) { - lIndex = ( int32_t ) ( pxParams->xEventGroup ); + xAreParamsReadable = xPortIsAuthorizedToAccessBuffer( pxParams, + sizeof( xEventGroupWaitBitsParams_t ), + tskMPU_READ_PERMISSION ); + } + + if( xAreParamsReadable == pdTRUE ) + { + if( ( ( pxParams->uxBitsToWaitFor & eventEVENT_BITS_CONTROL_BYTES ) == 0U ) && + ( pxParams->uxBitsToWaitFor != 0U ) + #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) + && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( pxParams->xTicksToWait != 0U ) ) ) + #endif + ) + { + lIndex = ( int32_t ) ( pxParams->xEventGroup ); + + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + { + xCallingTaskIsAuthorizedToAccessEventGroup = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xCallingTaskIsAuthorizedToAccessEventGroup == pdTRUE ) + { + xInternalEventGroupHandle = MPU_GetEventGroupHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalEventGroupHandle != NULL ) + { + xReturn = xEventGroupWaitBits( xInternalEventGroupHandle, + pxParams->uxBitsToWaitFor, + pxParams->xClearOnExit, + pxParams->xWaitForAllBits, + pxParams->xTicksToWait ); + } + } + } + } + } + + return xReturn; + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( configUSE_EVENT_GROUPS == 1 ) + + EventBits_t MPU_xEventGroupClearBitsImpl( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) PRIVILEGED_FUNCTION; + + EventBits_t MPU_xEventGroupClearBitsImpl( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* PRIVILEGED_FUNCTION */ + { + EventBits_t xReturn = 0; + EventGroupHandle_t xInternalEventGroupHandle = NULL; + int32_t lIndex; + BaseType_t xCallingTaskIsAuthorizedToAccessEventGroup = pdFALSE; + + if( ( uxBitsToClear & eventEVENT_BITS_CONTROL_BYTES ) == 0U ) + { + lIndex = ( int32_t ) xEventGroup; if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { @@ -3925,136 +3976,106 @@ if( xInternalEventGroupHandle != NULL ) { - xReturn = xEventGroupWaitBits( xInternalEventGroupHandle, - pxParams->uxBitsToWaitFor, - pxParams->xClearOnExit, - pxParams->xWaitForAllBits, - pxParams->xTicksToWait ); + xReturn = xEventGroupClearBits( xInternalEventGroupHandle, uxBitsToClear ); } } } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBitsImpl( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) PRIVILEGED_FUNCTION; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBitsImpl( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* PRIVILEGED_FUNCTION */ - { - EventBits_t xReturn = 0; - EventGroupHandle_t xInternalEventGroupHandle = NULL; - int32_t lIndex; - BaseType_t xCallingTaskIsAuthorizedToAccessEventGroup = pdFALSE; + EventBits_t MPU_xEventGroupSetBitsImpl( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) PRIVILEGED_FUNCTION; - if( ( uxBitsToClear & eventEVENT_BITS_CONTROL_BYTES ) == 0U ) + EventBits_t MPU_xEventGroupSetBitsImpl( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* PRIVILEGED_FUNCTION */ { - lIndex = ( int32_t ) xEventGroup; + EventBits_t xReturn = 0; + EventGroupHandle_t xInternalEventGroupHandle = NULL; + int32_t lIndex; + BaseType_t xCallingTaskIsAuthorizedToAccessEventGroup = pdFALSE; - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + if( ( uxBitsToSet & eventEVENT_BITS_CONTROL_BYTES ) == 0U ) { - xCallingTaskIsAuthorizedToAccessEventGroup = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + lIndex = ( int32_t ) xEventGroup; - if( xCallingTaskIsAuthorizedToAccessEventGroup == pdTRUE ) + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - xInternalEventGroupHandle = MPU_GetEventGroupHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + xCallingTaskIsAuthorizedToAccessEventGroup = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - if( xInternalEventGroupHandle != NULL ) + if( xCallingTaskIsAuthorizedToAccessEventGroup == pdTRUE ) { - xReturn = xEventGroupClearBits( xInternalEventGroupHandle, uxBitsToClear ); + xInternalEventGroupHandle = MPU_GetEventGroupHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalEventGroupHandle != NULL ) + { + xReturn = xEventGroupSetBits( xInternalEventGroupHandle, uxBitsToSet ); + } } } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBitsImpl( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) PRIVILEGED_FUNCTION; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSetBitsImpl( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* PRIVILEGED_FUNCTION */ - { - EventBits_t xReturn = 0; - EventGroupHandle_t xInternalEventGroupHandle = NULL; - int32_t lIndex; - BaseType_t xCallingTaskIsAuthorizedToAccessEventGroup = pdFALSE; + EventBits_t MPU_xEventGroupSyncImpl( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; - if( ( uxBitsToSet & eventEVENT_BITS_CONTROL_BYTES ) == 0U ) + EventBits_t MPU_xEventGroupSyncImpl( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* PRIVILEGED_FUNCTION */ { - lIndex = ( int32_t ) xEventGroup; + EventBits_t xReturn = 0; + EventGroupHandle_t xInternalEventGroupHandle = NULL; + int32_t lIndex; + BaseType_t xCallingTaskIsAuthorizedToAccessEventGroup = pdFALSE; - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + if( ( ( uxBitsToWaitFor & eventEVENT_BITS_CONTROL_BYTES ) == 0U ) && + ( uxBitsToWaitFor != 0U ) + #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) + && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0U ) ) ) + #endif + ) { - xCallingTaskIsAuthorizedToAccessEventGroup = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + lIndex = ( int32_t ) xEventGroup; - if( xCallingTaskIsAuthorizedToAccessEventGroup == pdTRUE ) + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - xInternalEventGroupHandle = MPU_GetEventGroupHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + xCallingTaskIsAuthorizedToAccessEventGroup = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - if( xInternalEventGroupHandle != NULL ) + if( xCallingTaskIsAuthorizedToAccessEventGroup == pdTRUE ) { - xReturn = xEventGroupSetBits( xInternalEventGroupHandle, uxBitsToSet ); + xInternalEventGroupHandle = MPU_GetEventGroupHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalEventGroupHandle != NULL ) + { + xReturn = xEventGroupSync( xInternalEventGroupHandle, uxBitsToSet, uxBitsToWaitFor, xTicksToWait ); + } } } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSyncImpl( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; - - EventBits_t MPU_xEventGroupSyncImpl( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* PRIVILEGED_FUNCTION */ - { - EventBits_t xReturn = 0; - EventGroupHandle_t xInternalEventGroupHandle = NULL; - int32_t lIndex; - BaseType_t xCallingTaskIsAuthorizedToAccessEventGroup = pdFALSE; - - if( ( ( uxBitsToWaitFor & eventEVENT_BITS_CONTROL_BYTES ) == 0U ) && - ( uxBitsToWaitFor != 0U ) - #if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) ) - && ( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0U ) ) ) - #endif - ) - { - lIndex = ( int32_t ) xEventGroup; - - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) - { - xCallingTaskIsAuthorizedToAccessEventGroup = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - - if( xCallingTaskIsAuthorizedToAccessEventGroup == pdTRUE ) - { - xInternalEventGroupHandle = MPU_GetEventGroupHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - - if( xInternalEventGroupHandle != NULL ) - { - xReturn = xEventGroupSync( xInternalEventGroupHandle, uxBitsToSet, uxBitsToWaitFor, xTicksToWait ); - } - } - } - } - - return xReturn; - } -/*-----------------------------------------------------------*/ - - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumberImpl( void * xEventGroup ) PRIVILEGED_FUNCTION; @@ -4085,10 +4106,10 @@ return xReturn; } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumberImpl( void * xEventGroup, UBaseType_t uxEventGroupNumber ) PRIVILEGED_FUNCTION; @@ -4118,7 +4139,7 @@ } } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ /* Privileged only wrappers for Event Group APIs. These are needed so that @@ -4126,7 +4147,7 @@ * with all the APIs. */ /*-----------------------------------------------------------*/ - #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + #if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) ) EventGroupHandle_t MPU_xEventGroupCreate( void ) /* PRIVILEGED_FUNCTION */ { @@ -4154,10 +4175,10 @@ return xExternalEventGroupHandle; } - #endif /* if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) */ + #endif /* #if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) ) EventGroupHandle_t MPU_xEventGroupCreateStatic( StaticEventGroup_t * pxEventGroupBuffer ) /* PRIVILEGED_FUNCTION */ { @@ -4185,30 +4206,34 @@ return xExternalEventGroupHandle; } - #endif /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */ + #endif /* #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) ) */ /*-----------------------------------------------------------*/ - void MPU_vEventGroupDelete( EventGroupHandle_t xEventGroup ) /* PRIVILEGED_FUNCTION */ - { - EventGroupHandle_t xInternalEventGroupHandle = NULL; - int32_t lIndex; + #if ( configUSE_EVENT_GROUPS == 1 ) - lIndex = ( int32_t ) xEventGroup; - - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + void MPU_vEventGroupDelete( EventGroupHandle_t xEventGroup ) /* PRIVILEGED_FUNCTION */ { - xInternalEventGroupHandle = MPU_GetEventGroupHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + EventGroupHandle_t xInternalEventGroupHandle = NULL; + int32_t lIndex; - if( xInternalEventGroupHandle != NULL ) + lIndex = ( int32_t ) xEventGroup; + + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - vEventGroupDelete( xInternalEventGroupHandle ); - MPU_SetIndexFreeInKernelObjectPool( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + xInternalEventGroupHandle = MPU_GetEventGroupHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalEventGroupHandle != NULL ) + { + vEventGroupDelete( xInternalEventGroupHandle ); + MPU_SetIndexFreeInKernelObjectPool( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + } } } - } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) ) BaseType_t MPU_xEventGroupGetStaticBuffer( EventGroupHandle_t xEventGroup, StaticEventGroup_t ** ppxEventGroupBuffer ) /* PRIVILEGED_FUNCTION */ @@ -4232,10 +4257,10 @@ return xReturn; } - #endif /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */ + #endif /* #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_EVENT_GROUPS == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) BaseType_t MPU_xEventGroupClearBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear ) /* PRIVILEGED_FUNCTION */ @@ -4259,10 +4284,10 @@ return xReturn; } - #endif /* #if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) */ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) BaseType_t MPU_xEventGroupSetBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, @@ -4287,309 +4312,345 @@ return xReturn; } - #endif /* #if ( ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) */ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) && ( INCLUDE_xTimerPendFunctionCall == 1 ) && ( configUSE_TIMERS == 1 ) ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup ) /* PRIVILEGED_FUNCTION */ - { - EventBits_t xReturn = 0; - EventGroupHandle_t xInternalEventGroupHandle = NULL; - int32_t lIndex; + #if ( configUSE_EVENT_GROUPS == 1 ) - lIndex = ( int32_t ) xEventGroup; - - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + EventBits_t MPU_xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup ) /* PRIVILEGED_FUNCTION */ { - xInternalEventGroupHandle = MPU_GetEventGroupHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + EventBits_t xReturn = 0; + EventGroupHandle_t xInternalEventGroupHandle = NULL; + int32_t lIndex; - if( xInternalEventGroupHandle != NULL ) + lIndex = ( int32_t ) xEventGroup; + + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - xReturn = xEventGroupGetBitsFromISR( xInternalEventGroupHandle ); + xInternalEventGroupHandle = MPU_GetEventGroupHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalEventGroupHandle != NULL ) + { + xReturn = xEventGroupGetBitsFromISR( xInternalEventGroupHandle ); + } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/ /* MPU wrappers for stream buffer APIs. */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSendImpl( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSendImpl( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* PRIVILEGED_FUNCTION */ - { - size_t xReturn = 0; - StreamBufferHandle_t xInternalStreamBufferHandle = NULL; - int32_t lIndex; - BaseType_t xIsTxDataBufferReadable = pdFALSE; - BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; + size_t MPU_xStreamBufferSendImpl( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; - if( pvTxData != NULL ) + size_t MPU_xStreamBufferSendImpl( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* PRIVILEGED_FUNCTION */ { - xIsTxDataBufferReadable = xPortIsAuthorizedToAccessBuffer( pvTxData, - xDataLengthBytes, - tskMPU_READ_PERMISSION ); + size_t xReturn = 0; + StreamBufferHandle_t xInternalStreamBufferHandle = NULL; + int32_t lIndex; + BaseType_t xIsTxDataBufferReadable = pdFALSE; + BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; - if( xIsTxDataBufferReadable == pdTRUE ) + if( pvTxData != NULL ) { - lIndex = ( int32_t ) xStreamBuffer; + xIsTxDataBufferReadable = xPortIsAuthorizedToAccessBuffer( pvTxData, + xDataLengthBytes, + tskMPU_READ_PERMISSION ); - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + if( xIsTxDataBufferReadable == pdTRUE ) { - xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + lIndex = ( int32_t ) xStreamBuffer; - if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - if( xInternalStreamBufferHandle != NULL ) + if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) { - xReturn = xStreamBufferSend( xInternalStreamBufferHandle, pvTxData, xDataLengthBytes, xTicksToWait ); + xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalStreamBufferHandle != NULL ) + { + xReturn = xStreamBufferSend( xInternalStreamBufferHandle, pvTxData, xDataLengthBytes, xTicksToWait ); + } } } } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceiveImpl( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceiveImpl( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* PRIVILEGED_FUNCTION */ - { - size_t xReturn = 0; - StreamBufferHandle_t xInternalStreamBufferHandle = NULL; - int32_t lIndex; - BaseType_t xIsRxDataBufferWriteable = pdFALSE; - BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; + size_t MPU_xStreamBufferReceiveImpl( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) PRIVILEGED_FUNCTION; - if( pvRxData != NULL ) + size_t MPU_xStreamBufferReceiveImpl( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* PRIVILEGED_FUNCTION */ { - xIsRxDataBufferWriteable = xPortIsAuthorizedToAccessBuffer( pvRxData, - xBufferLengthBytes, - tskMPU_WRITE_PERMISSION ); + size_t xReturn = 0; + StreamBufferHandle_t xInternalStreamBufferHandle = NULL; + int32_t lIndex; + BaseType_t xIsRxDataBufferWriteable = pdFALSE; + BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; - if( xIsRxDataBufferWriteable == pdTRUE ) + if( pvRxData != NULL ) { - lIndex = ( int32_t ) xStreamBuffer; + xIsRxDataBufferWriteable = xPortIsAuthorizedToAccessBuffer( pvRxData, + xBufferLengthBytes, + tskMPU_WRITE_PERMISSION ); - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + if( xIsRxDataBufferWriteable == pdTRUE ) { - xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + lIndex = ( int32_t ) xStreamBuffer; - if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - if( xInternalStreamBufferHandle != NULL ) + if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) { - xReturn = xStreamBufferReceive( xInternalStreamBufferHandle, pvRxData, xBufferLengthBytes, xTicksToWait ); + xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalStreamBufferHandle != NULL ) + { + xReturn = xStreamBufferReceive( xInternalStreamBufferHandle, pvRxData, xBufferLengthBytes, xTicksToWait ); + } } } } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFullImpl( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFullImpl( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ - { - BaseType_t xReturn = pdFALSE; - StreamBufferHandle_t xInternalStreamBufferHandle = NULL; - int32_t lIndex; - BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; + BaseType_t MPU_xStreamBufferIsFullImpl( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; - lIndex = ( int32_t ) xStreamBuffer; - - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + BaseType_t MPU_xStreamBufferIsFullImpl( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ { - xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + BaseType_t xReturn = pdFALSE; + StreamBufferHandle_t xInternalStreamBufferHandle = NULL; + int32_t lIndex; + BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; - if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) + lIndex = ( int32_t ) xStreamBuffer; + + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - if( xInternalStreamBufferHandle != NULL ) + if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) { - xReturn = xStreamBufferIsFull( xInternalStreamBufferHandle ); + xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalStreamBufferHandle != NULL ) + { + xReturn = xStreamBufferIsFull( xInternalStreamBufferHandle ); + } } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmptyImpl( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmptyImpl( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ - { - BaseType_t xReturn = pdFALSE; - StreamBufferHandle_t xInternalStreamBufferHandle = NULL; - int32_t lIndex; - BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; + BaseType_t MPU_xStreamBufferIsEmptyImpl( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; - lIndex = ( int32_t ) xStreamBuffer; - - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + BaseType_t MPU_xStreamBufferIsEmptyImpl( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ { - xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + BaseType_t xReturn = pdFALSE; + StreamBufferHandle_t xInternalStreamBufferHandle = NULL; + int32_t lIndex; + BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; - if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) + lIndex = ( int32_t ) xStreamBuffer; + + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - if( xInternalStreamBufferHandle != NULL ) + if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) { - xReturn = xStreamBufferIsEmpty( xInternalStreamBufferHandle ); + xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalStreamBufferHandle != NULL ) + { + xReturn = xStreamBufferIsEmpty( xInternalStreamBufferHandle ); + } } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailableImpl( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailableImpl( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ - { - size_t xReturn = 0; - StreamBufferHandle_t xInternalStreamBufferHandle = NULL; - int32_t lIndex; - BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; + size_t MPU_xStreamBufferSpacesAvailableImpl( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; - lIndex = ( int32_t ) xStreamBuffer; - - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + size_t MPU_xStreamBufferSpacesAvailableImpl( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ { - xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + size_t xReturn = 0; + StreamBufferHandle_t xInternalStreamBufferHandle = NULL; + int32_t lIndex; + BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; - if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) + lIndex = ( int32_t ) xStreamBuffer; + + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - if( xInternalStreamBufferHandle != NULL ) + if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) { - xReturn = xStreamBufferSpacesAvailable( xInternalStreamBufferHandle ); + xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalStreamBufferHandle != NULL ) + { + xReturn = xStreamBufferSpacesAvailable( xInternalStreamBufferHandle ); + } } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailableImpl( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailableImpl( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ - { - size_t xReturn = 0; - StreamBufferHandle_t xInternalStreamBufferHandle = NULL; - int32_t lIndex; - BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; + size_t MPU_xStreamBufferBytesAvailableImpl( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; - lIndex = ( int32_t ) xStreamBuffer; - - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + size_t MPU_xStreamBufferBytesAvailableImpl( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ { - xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + size_t xReturn = 0; + StreamBufferHandle_t xInternalStreamBufferHandle = NULL; + int32_t lIndex; + BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; - if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) + lIndex = ( int32_t ) xStreamBuffer; + + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - if( xInternalStreamBufferHandle != NULL ) + if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) { - xReturn = xStreamBufferBytesAvailable( xInternalStreamBufferHandle ); + xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalStreamBufferHandle != NULL ) + { + xReturn = xStreamBufferBytesAvailable( xInternalStreamBufferHandle ); + } } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevelImpl( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) PRIVILEGED_FUNCTION; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevelImpl( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* PRIVILEGED_FUNCTION */ - { - BaseType_t xReturn = pdFALSE; - StreamBufferHandle_t xInternalStreamBufferHandle = NULL; - int32_t lIndex; - BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; + BaseType_t MPU_xStreamBufferSetTriggerLevelImpl( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) PRIVILEGED_FUNCTION; - lIndex = ( int32_t ) xStreamBuffer; - - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + BaseType_t MPU_xStreamBufferSetTriggerLevelImpl( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* PRIVILEGED_FUNCTION */ { - xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + BaseType_t xReturn = pdFALSE; + StreamBufferHandle_t xInternalStreamBufferHandle = NULL; + int32_t lIndex; + BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; - if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) + lIndex = ( int32_t ) xStreamBuffer; + + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - if( xInternalStreamBufferHandle != NULL ) + if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) { - xReturn = xStreamBufferSetTriggerLevel( xInternalStreamBufferHandle, xTriggerLevel ); + xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalStreamBufferHandle != NULL ) + { + xReturn = xStreamBufferSetTriggerLevel( xInternalStreamBufferHandle, xTriggerLevel ); + } } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytesImpl( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytesImpl( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ - { - size_t xReturn = 0; - StreamBufferHandle_t xInternalStreamBufferHandle = NULL; - int32_t lIndex; - BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; + size_t MPU_xStreamBufferNextMessageLengthBytesImpl( StreamBufferHandle_t xStreamBuffer ) PRIVILEGED_FUNCTION; - lIndex = ( int32_t ) xStreamBuffer; - - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + size_t MPU_xStreamBufferNextMessageLengthBytesImpl( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ { - xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + size_t xReturn = 0; + StreamBufferHandle_t xInternalStreamBufferHandle = NULL; + int32_t lIndex; + BaseType_t xCallingTaskIsAuthorizedToAccessStreamBuffer = pdFALSE; - if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) + lIndex = ( int32_t ) xStreamBuffer; + + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + xCallingTaskIsAuthorizedToAccessStreamBuffer = xPortIsAuthorizedToAccessKernelObject( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - if( xInternalStreamBufferHandle != NULL ) + if( xCallingTaskIsAuthorizedToAccessStreamBuffer == pdTRUE ) { - xReturn = xStreamBufferNextMessageLengthBytes( xInternalStreamBufferHandle ); + xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalStreamBufferHandle != NULL ) + { + xReturn = xStreamBufferNextMessageLengthBytes( xInternalStreamBufferHandle ); + } } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ /* Privileged only wrappers for Stream Buffer APIs. These are needed so that @@ -4597,7 +4658,7 @@ * with all the APIs. */ /*-----------------------------------------------------------*/ - #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + #if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) ) StreamBufferHandle_t MPU_xStreamBufferGenericCreate( size_t xBufferSizeBytes, size_t xTriggerLevelBytes, @@ -4649,10 +4710,10 @@ return xExternalStreamBufferHandle; } - #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ + #endif /* #if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) ) StreamBufferHandle_t MPU_xStreamBufferGenericCreateStatic( size_t xBufferSizeBytes, size_t xTriggerLevelBytes, @@ -4708,53 +4769,61 @@ return xExternalStreamBufferHandle; } - #endif /* configSUPPORT_STATIC_ALLOCATION */ + #endif /* #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) ) */ /*-----------------------------------------------------------*/ - void MPU_vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ - { - StreamBufferHandle_t xInternalStreamBufferHandle = NULL; - int32_t lIndex; + #if ( configUSE_STREAM_BUFFERS == 1 ) - lIndex = ( int32_t ) xStreamBuffer; - - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + void MPU_vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ { - xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + StreamBufferHandle_t xInternalStreamBufferHandle = NULL; + int32_t lIndex; - if( xInternalStreamBufferHandle != NULL ) + lIndex = ( int32_t ) xStreamBuffer; + + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - vStreamBufferDelete( xInternalStreamBufferHandle ); - } + xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - MPU_SetIndexFreeInKernelObjectPool( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - } - } -/*-----------------------------------------------------------*/ + if( xInternalStreamBufferHandle != NULL ) + { + vStreamBufferDelete( xInternalStreamBufferHandle ); + } - BaseType_t MPU_xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ - { - BaseType_t xReturn = pdFALSE; - StreamBufferHandle_t xInternalStreamBufferHandle = NULL; - int32_t lIndex; - - lIndex = ( int32_t ) xStreamBuffer; - - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) - { - xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); - - if( xInternalStreamBufferHandle != NULL ) - { - xReturn = xStreamBufferReset( xInternalStreamBufferHandle ); + MPU_SetIndexFreeInKernelObjectPool( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); } } - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + #if ( configUSE_STREAM_BUFFERS == 1 ) + + BaseType_t MPU_xStreamBufferReset( StreamBufferHandle_t xStreamBuffer ) /* PRIVILEGED_FUNCTION */ + { + BaseType_t xReturn = pdFALSE; + StreamBufferHandle_t xInternalStreamBufferHandle = NULL; + int32_t lIndex; + + lIndex = ( int32_t ) xStreamBuffer; + + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + { + xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalStreamBufferHandle != NULL ) + { + xReturn = xStreamBufferReset( xInternalStreamBufferHandle ); + } + } + + return xReturn; + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ +/*-----------------------------------------------------------*/ + + #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) ) BaseType_t MPU_xStreamBufferGetStaticBuffers( StreamBufferHandle_t xStreamBuffers, uint8_t * ppucStreamBufferStorageArea, @@ -4779,9 +4848,11 @@ return xReturn; } - #endif /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */ + #endif /* #if ( ( configSUPPORT_STATIC_ALLOCATION == 1 ) && ( configUSE_STREAM_BUFFERS == 1 ) ) */ /*-----------------------------------------------------------*/ + #if ( configUSE_STREAM_BUFFERS == 1 ) + size_t MPU_xStreamBufferSendFromISR( StreamBufferHandle_t xStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, @@ -4805,8 +4876,12 @@ return xReturn; } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ + #if ( configUSE_STREAM_BUFFERS == 1 ) + size_t MPU_xStreamBufferReceiveFromISR( StreamBufferHandle_t xStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, @@ -4830,52 +4905,62 @@ return xReturn; } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSendCompletedFromISR( StreamBufferHandle_t xStreamBuffer, - BaseType_t * pxHigherPriorityTaskWoken ) /* PRIVILEGED_FUNCTION */ - { - BaseType_t xReturn = pdFALSE; - StreamBufferHandle_t xInternalStreamBufferHandle = NULL; - int32_t lIndex; + #if ( configUSE_STREAM_BUFFERS == 1 ) - lIndex = ( int32_t ) xStreamBuffer; - - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + BaseType_t MPU_xStreamBufferSendCompletedFromISR( StreamBufferHandle_t xStreamBuffer, + BaseType_t * pxHigherPriorityTaskWoken ) /* PRIVILEGED_FUNCTION */ { - xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + BaseType_t xReturn = pdFALSE; + StreamBufferHandle_t xInternalStreamBufferHandle = NULL; + int32_t lIndex; - if( xInternalStreamBufferHandle != NULL ) + lIndex = ( int32_t ) xStreamBuffer; + + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - xReturn = xStreamBufferSendCompletedFromISR( xInternalStreamBufferHandle, pxHigherPriorityTaskWoken ); + xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalStreamBufferHandle != NULL ) + { + xReturn = xStreamBufferSendCompletedFromISR( xInternalStreamBufferHandle, pxHigherPriorityTaskWoken ); + } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferReceiveCompletedFromISR( StreamBufferHandle_t xStreamBuffer, - BaseType_t * pxHigherPriorityTaskWoken ) /*PRIVILEGED_FUNCTION */ - { - BaseType_t xReturn = pdFALSE; - StreamBufferHandle_t xInternalStreamBufferHandle = NULL; - int32_t lIndex; + #if ( configUSE_STREAM_BUFFERS == 1 ) - lIndex = ( int32_t ) xStreamBuffer; - - if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) + BaseType_t MPU_xStreamBufferReceiveCompletedFromISR( StreamBufferHandle_t xStreamBuffer, + BaseType_t * pxHigherPriorityTaskWoken ) /*PRIVILEGED_FUNCTION */ { - xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + BaseType_t xReturn = pdFALSE; + StreamBufferHandle_t xInternalStreamBufferHandle = NULL; + int32_t lIndex; - if( xInternalStreamBufferHandle != NULL ) + lIndex = ( int32_t ) xStreamBuffer; + + if( IS_EXTERNAL_INDEX_VALID( lIndex ) != pdFALSE ) { - xReturn = xStreamBufferReceiveCompletedFromISR( xInternalStreamBufferHandle, pxHigherPriorityTaskWoken ); + xInternalStreamBufferHandle = MPU_GetStreamBufferHandleAtIndex( CONVERT_TO_INTERNAL_INDEX( lIndex ) ); + + if( xInternalStreamBufferHandle != NULL ) + { + xReturn = xStreamBufferReceiveCompletedFromISR( xInternalStreamBufferHandle, pxHigherPriorityTaskWoken ); + } } + + return xReturn; } - return xReturn; - } + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ @@ -4909,7 +4994,11 @@ ( UBaseType_t ) 0, /* SYSTEM_CALL_xTimerGenericCommandFromTask. */ #endif - ( UBaseType_t ) MPU_xEventGroupWaitBitsImpl, /* SYSTEM_CALL_xEventGroupWaitBits. */ + #if ( configUSE_EVENT_GROUPS == 1 ) + ( UBaseType_t ) MPU_xEventGroupWaitBitsImpl, /* SYSTEM_CALL_xEventGroupWaitBits. */ + #else + ( UBaseType_t ) 0, /* SYSTEM_CALL_xEventGroupWaitBits. */ + #endif /* The system calls above this line take 5 parameters. */ @@ -5104,26 +5193,46 @@ ( UBaseType_t ) 0, /* SYSTEM_CALL_xTimerGetExpiryTime. */ #endif - ( UBaseType_t ) MPU_xEventGroupClearBitsImpl, /* SYSTEM_CALL_xEventGroupClearBits. */ - ( UBaseType_t ) MPU_xEventGroupSetBitsImpl, /* SYSTEM_CALL_xEventGroupSetBits. */ - ( UBaseType_t ) MPU_xEventGroupSyncImpl, /* SYSTEM_CALL_xEventGroupSync. */ + #if ( configUSE_EVENT_GROUPS == 1 ) + ( UBaseType_t ) MPU_xEventGroupClearBitsImpl, /* SYSTEM_CALL_xEventGroupClearBits. */ + ( UBaseType_t ) MPU_xEventGroupSetBitsImpl, /* SYSTEM_CALL_xEventGroupSetBits. */ + ( UBaseType_t ) MPU_xEventGroupSyncImpl, /* SYSTEM_CALL_xEventGroupSync. */ - #if ( configUSE_TRACE_FACILITY == 1 ) - ( UBaseType_t ) MPU_uxEventGroupGetNumberImpl, /* SYSTEM_CALL_uxEventGroupGetNumber. */ - ( UBaseType_t ) MPU_vEventGroupSetNumberImpl, /* SYSTEM_CALL_vEventGroupSetNumber. */ + #if ( configUSE_TRACE_FACILITY == 1 ) + ( UBaseType_t ) MPU_uxEventGroupGetNumberImpl, /* SYSTEM_CALL_uxEventGroupGetNumber. */ + ( UBaseType_t ) MPU_vEventGroupSetNumberImpl, /* SYSTEM_CALL_vEventGroupSetNumber. */ + #else + ( UBaseType_t ) 0, /* SYSTEM_CALL_uxEventGroupGetNumber. */ + ( UBaseType_t ) 0, /* SYSTEM_CALL_vEventGroupSetNumber. */ + #endif #else + ( UBaseType_t ) 0, /* SYSTEM_CALL_xEventGroupClearBits. */ + ( UBaseType_t ) 0, /* SYSTEM_CALL_xEventGroupSetBits. */ + ( UBaseType_t ) 0, /* SYSTEM_CALL_xEventGroupSync. */ ( UBaseType_t ) 0, /* SYSTEM_CALL_uxEventGroupGetNumber. */ ( UBaseType_t ) 0, /* SYSTEM_CALL_vEventGroupSetNumber. */ #endif - ( UBaseType_t ) MPU_xStreamBufferSendImpl, /* SYSTEM_CALL_xStreamBufferSend. */ - ( UBaseType_t ) MPU_xStreamBufferReceiveImpl, /* SYSTEM_CALL_xStreamBufferReceive. */ - ( UBaseType_t ) MPU_xStreamBufferIsFullImpl, /* SYSTEM_CALL_xStreamBufferIsFull. */ - ( UBaseType_t ) MPU_xStreamBufferIsEmptyImpl, /* SYSTEM_CALL_xStreamBufferIsEmpty. */ - ( UBaseType_t ) MPU_xStreamBufferSpacesAvailableImpl, /* SYSTEM_CALL_xStreamBufferSpacesAvailable. */ - ( UBaseType_t ) MPU_xStreamBufferBytesAvailableImpl, /* SYSTEM_CALL_xStreamBufferBytesAvailable. */ - ( UBaseType_t ) MPU_xStreamBufferSetTriggerLevelImpl, /* SYSTEM_CALL_xStreamBufferSetTriggerLevel. */ - ( UBaseType_t ) MPU_xStreamBufferNextMessageLengthBytesImpl /* SYSTEM_CALL_xStreamBufferNextMessageLengthBytes. */ + #if ( configUSE_STREAM_BUFFERS == 1 ) + ( UBaseType_t ) MPU_xStreamBufferSendImpl, /* SYSTEM_CALL_xStreamBufferSend. */ + ( UBaseType_t ) MPU_xStreamBufferReceiveImpl, /* SYSTEM_CALL_xStreamBufferReceive. */ + ( UBaseType_t ) MPU_xStreamBufferIsFullImpl, /* SYSTEM_CALL_xStreamBufferIsFull. */ + ( UBaseType_t ) MPU_xStreamBufferIsEmptyImpl, /* SYSTEM_CALL_xStreamBufferIsEmpty. */ + ( UBaseType_t ) MPU_xStreamBufferSpacesAvailableImpl, /* SYSTEM_CALL_xStreamBufferSpacesAvailable. */ + ( UBaseType_t ) MPU_xStreamBufferBytesAvailableImpl, /* SYSTEM_CALL_xStreamBufferBytesAvailable. */ + ( UBaseType_t ) MPU_xStreamBufferSetTriggerLevelImpl, /* SYSTEM_CALL_xStreamBufferSetTriggerLevel. */ + ( UBaseType_t ) MPU_xStreamBufferNextMessageLengthBytesImpl /* SYSTEM_CALL_xStreamBufferNextMessageLengthBytes. */ + #else + ( UBaseType_t ) 0, /* SYSTEM_CALL_xStreamBufferSend. */ + ( UBaseType_t ) 0, /* SYSTEM_CALL_xStreamBufferReceive. */ + ( UBaseType_t ) 0, /* SYSTEM_CALL_xStreamBufferIsFull. */ + ( UBaseType_t ) 0, /* SYSTEM_CALL_xStreamBufferIsEmpty. */ + ( UBaseType_t ) 0, /* SYSTEM_CALL_xStreamBufferSpacesAvailable. */ + ( UBaseType_t ) 0, /* SYSTEM_CALL_xStreamBufferBytesAvailable. */ + ( UBaseType_t ) 0, /* SYSTEM_CALL_xStreamBufferSetTriggerLevel. */ + ( UBaseType_t ) 0, /* SYSTEM_CALL_xStreamBufferNextMessageLengthBytes. */ + #endif + }; /*-----------------------------------------------------------*/ diff --git a/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c index fb167a699..1fb67891d 100644 --- a/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c @@ -1690,117 +1690,133 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1826,10 +1842,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1857,221 +1873,253 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c index fb167a699..1fb67891d 100644 --- a/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -1690,117 +1690,133 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1826,10 +1842,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1857,221 +1873,253 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0, r1} \n" - " mrs r0, control \n" - " movs r1, #1 \n" - " tst r0, r1 \n" - " pop {r0, r1} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0, r1} \n" + " mrs r0, control \n" + " movs r1, #1 \n" + " tst r0, r1 \n" + " pop {r0, r1} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c index 4f66448f9..6642c9e20 100644 --- a/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c @@ -1634,113 +1634,129 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1765,10 +1781,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1795,213 +1811,245 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c index 4f66448f9..6642c9e20 100644 --- a/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -1634,113 +1634,129 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1765,10 +1781,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1795,213 +1811,245 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c index 4f66448f9..02229d964 100644 --- a/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c @@ -1634,113 +1634,130 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1765,10 +1782,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1795,213 +1812,245 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c index 4f66448f9..6642c9e20 100644 --- a/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -1634,113 +1634,129 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1765,10 +1781,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1795,213 +1811,245 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c index feb3e3426..71bb6602e 100644 --- a/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c @@ -1634,113 +1634,133 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " pop {r0} \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " pop {r0} \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " pop {r0} \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " pop {r0} \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1765,10 +1785,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1795,213 +1815,253 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* configUSE_MPU_WRAPPERS_V1 == 0 */ diff --git a/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c index feb3e3426..71bb6602e 100644 --- a/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c @@ -1634,113 +1634,133 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " pop {r0} \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " pop {r0} \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " pop {r0} \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " pop {r0} \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1765,10 +1785,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1795,213 +1815,253 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " pop {r0} \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " pop {r0} \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* configUSE_MPU_WRAPPERS_V1 == 0 */ diff --git a/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c index 4f66448f9..02229d964 100644 --- a/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c @@ -1634,113 +1634,130 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1765,10 +1782,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1795,213 +1812,245 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c index 4f66448f9..6642c9e20 100644 --- a/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -1634,113 +1634,129 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1765,10 +1781,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1795,213 +1811,245 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c index 4f66448f9..02229d964 100644 --- a/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c @@ -1634,113 +1634,130 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1765,10 +1782,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1795,213 +1812,245 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c b/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c index 4f66448f9..6642c9e20 100644 --- a/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c +++ b/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c @@ -1634,113 +1634,129 @@ #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupWaitBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupWaitBits_Unpriv \n" - " MPU_xEventGroupWaitBits_Priv: \n" - " b MPU_xEventGroupWaitBitsImpl \n" - " MPU_xEventGroupWaitBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupWaitBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupWaitBits_Unpriv \n" + " MPU_xEventGroupWaitBits_Priv: \n" + " b MPU_xEventGroupWaitBitsImpl \n" + " MPU_xEventGroupWaitBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupClearBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupClearBits_Unpriv \n" - " MPU_xEventGroupClearBits_Priv: \n" - " b MPU_xEventGroupClearBitsImpl \n" - " MPU_xEventGroupClearBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToClear ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupClearBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupClearBits_Unpriv \n" + " MPU_xEventGroupClearBits_Priv: \n" + " b MPU_xEventGroupClearBitsImpl \n" + " MPU_xEventGroupClearBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSetBitsImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSetBits_Unpriv \n" - " MPU_xEventGroupSetBits_Priv: \n" - " b MPU_xEventGroupSetBitsImpl \n" - " MPU_xEventGroupSetBits_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSetBitsImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSetBits_Unpriv \n" + " MPU_xEventGroupSetBits_Priv: \n" + " b MPU_xEventGroupSetBitsImpl \n" + " MPU_xEventGroupSetBits_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_EVENT_GROUPS == 1 ) - EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, - const EventBits_t uxBitsToSet, - const EventBits_t uxBitsToWaitFor, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xEventGroupSyncImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xEventGroupSync_Unpriv \n" - " MPU_xEventGroupSync_Priv: \n" - " b MPU_xEventGroupSyncImpl \n" - " MPU_xEventGroupSync_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" - ); - } + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, + const EventBits_t uxBitsToSet, + const EventBits_t uxBitsToWaitFor, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xEventGroupSyncImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xEventGroupSync_Unpriv \n" + " MPU_xEventGroupSync_Priv: \n" + " b MPU_xEventGroupSyncImpl \n" + " MPU_xEventGroupSync_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory" + ); + } + + #endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1765,10 +1781,10 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - #if ( configUSE_TRACE_FACILITY == 1 ) + #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; @@ -1795,213 +1811,245 @@ ); } - #endif /*( configUSE_TRACE_FACILITY == 1 )*/ + #endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, - const void * pvTxData, - size_t xDataLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSendImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSend_Unpriv \n" - " MPU_xStreamBufferSend_Priv: \n" - " b MPU_xStreamBufferSendImpl \n" - " MPU_xStreamBufferSend_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" - ); - } + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, + const void * pvTxData, + size_t xDataLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSendImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSend_Unpriv \n" + " MPU_xStreamBufferSend_Priv: \n" + " b MPU_xStreamBufferSendImpl \n" + " MPU_xStreamBufferSend_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, - void * pvRxData, - size_t xBufferLengthBytes, - TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferReceiveImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferReceive_Unpriv \n" - " MPU_xStreamBufferReceive_Priv: \n" - " b MPU_xStreamBufferReceiveImpl \n" - " MPU_xStreamBufferReceive_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" - ); - } + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, + void * pvRxData, + size_t xBufferLengthBytes, + TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferReceiveImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferReceive_Unpriv \n" + " MPU_xStreamBufferReceive_Priv: \n" + " b MPU_xStreamBufferReceiveImpl \n" + " MPU_xStreamBufferReceive_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsFullImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsFull_Unpriv \n" - " MPU_xStreamBufferIsFull_Priv: \n" - " b MPU_xStreamBufferIsFullImpl \n" - " MPU_xStreamBufferIsFull_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsFullImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsFull_Unpriv \n" + " MPU_xStreamBufferIsFull_Priv: \n" + " b MPU_xStreamBufferIsFullImpl \n" + " MPU_xStreamBufferIsFull_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferIsEmptyImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferIsEmpty_Unpriv \n" - " MPU_xStreamBufferIsEmpty_Priv: \n" - " b MPU_xStreamBufferIsEmptyImpl \n" - " MPU_xStreamBufferIsEmpty_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferIsEmptyImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferIsEmpty_Unpriv \n" + " MPU_xStreamBufferIsEmpty_Priv: \n" + " b MPU_xStreamBufferIsEmptyImpl \n" + " MPU_xStreamBufferIsEmpty_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSpacesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" - " MPU_xStreamBufferSpacesAvailable_Priv: \n" - " b MPU_xStreamBufferSpacesAvailableImpl \n" - " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSpacesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSpacesAvailable_Unpriv \n" + " MPU_xStreamBufferSpacesAvailable_Priv: \n" + " b MPU_xStreamBufferSpacesAvailableImpl \n" + " MPU_xStreamBufferSpacesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferBytesAvailableImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" - " MPU_xStreamBufferBytesAvailable_Priv: \n" - " b MPU_xStreamBufferBytesAvailableImpl \n" - " MPU_xStreamBufferBytesAvailable_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" - ); - } + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferBytesAvailableImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferBytesAvailable_Unpriv \n" + " MPU_xStreamBufferBytesAvailable_Priv: \n" + " b MPU_xStreamBufferBytesAvailableImpl \n" + " MPU_xStreamBufferBytesAvailable_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, - size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" - " MPU_xStreamBufferSetTriggerLevel_Priv: \n" - " b MPU_xStreamBufferSetTriggerLevelImpl \n" - " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" - ); - } + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, + size_t xTriggerLevel ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferSetTriggerLevelImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferSetTriggerLevel_Unpriv \n" + " MPU_xStreamBufferSetTriggerLevel_Priv: \n" + " b MPU_xStreamBufferSetTriggerLevelImpl \n" + " MPU_xStreamBufferSetTriggerLevel_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + #if ( configUSE_STREAM_BUFFERS == 1 ) - size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ - { - __asm volatile - ( - " .syntax unified \n" - " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " \n" - " push {r0} \n" - " mrs r0, control \n" - " tst r0, #1 \n" - " pop {r0} \n" - " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" - " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" - " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" - " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" - " svc %0 \n" - " \n" - : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" - ); - } + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL; + + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */ + { + __asm volatile + ( + " .syntax unified \n" + " .extern MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " \n" + " push {r0} \n" + " mrs r0, control \n" + " tst r0, #1 \n" + " pop {r0} \n" + " bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv \n" + " MPU_xStreamBufferNextMessageLengthBytes_Priv: \n" + " b MPU_xStreamBufferNextMessageLengthBytesImpl \n" + " MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n" + " svc %0 \n" + " \n" + : : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory" + ); + } + + #endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */ diff --git a/portable/GCC/ARM_CRx_MPU/mpu_wrappers_v2_asm.S b/portable/GCC/ARM_CRx_MPU/mpu_wrappers_v2_asm.S index 8d0f769bb..142486adf 100644 --- a/portable/GCC/ARM_CRx_MPU/mpu_wrappers_v2_asm.S +++ b/portable/GCC/ARM_CRx_MPU/mpu_wrappers_v2_asm.S @@ -201,111 +201,119 @@ MPU_xQueueSemaphoreTake: /* ----------------------------------------------------------------------------------- */ -.extern MPU_xEventGroupWaitBitsImpl -.align 4 -.global MPU_xEventGroupWaitBitsEntry -.type MPU_xEventGroupWaitBitsEntry, function -MPU_xEventGroupWaitBitsEntry: - INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupWaitBits, MPU_xEventGroupWaitBitsImpl +#if ( configUSE_EVENT_GROUPS == 1 ) + + .extern MPU_xEventGroupWaitBitsImpl + .align 4 + .global MPU_xEventGroupWaitBitsEntry + .type MPU_xEventGroupWaitBitsEntry, function + MPU_xEventGroupWaitBitsEntry: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupWaitBits, MPU_xEventGroupWaitBitsImpl + + /* ----------------------------------------------------------------------------------- */ + + .extern MPU_xEventGroupClearBitsImpl + .align 4 + .global MPU_xEventGroupClearBits + .type MPU_xEventGroupClearBits, function + MPU_xEventGroupClearBits: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupClearBits, MPU_xEventGroupClearBitsImpl + + /* ----------------------------------------------------------------------------------- */ + + .extern MPU_xEventGroupSetBitsImpl + .align 4 + .global MPU_xEventGroupSetBits + .type MPU_xEventGroupSetBits, function + MPU_xEventGroupSetBits: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupSetBits, MPU_xEventGroupSetBitsImpl + + /* ----------------------------------------------------------------------------------- */ + + .extern MPU_xEventGroupSyncImpl + .align 4 + .global MPU_xEventGroupSync + .type MPU_xEventGroupSync, function + MPU_xEventGroupSync: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupSync, MPU_xEventGroupSyncImpl + +#endif /* if ( configUSE_EVENT_GROUPS == 1 ) */ /* ----------------------------------------------------------------------------------- */ -.extern MPU_xEventGroupClearBitsImpl -.align 4 -.global MPU_xEventGroupClearBits -.type MPU_xEventGroupClearBits, function -MPU_xEventGroupClearBits: - INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupClearBits, MPU_xEventGroupClearBitsImpl +#if ( configUSE_STREAM_BUFFERS == 1 ) -/* ----------------------------------------------------------------------------------- */ + .extern MPU_xStreamBufferSendImpl + .align 4 + .global MPU_xStreamBufferSend + .type MPU_xStreamBufferSend, function + MPU_xStreamBufferSend: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSend, MPU_xStreamBufferSendImpl -.extern MPU_xEventGroupSetBitsImpl -.align 4 -.global MPU_xEventGroupSetBits -.type MPU_xEventGroupSetBits, function -MPU_xEventGroupSetBits: - INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupSetBits, MPU_xEventGroupSetBitsImpl + /* ----------------------------------------------------------------------------------- */ -/* ----------------------------------------------------------------------------------- */ + .extern MPU_xStreamBufferReceiveImpl + .align 4 + .global MPU_xStreamBufferReceive + .type MPU_xStreamBufferReceive, function + MPU_xStreamBufferReceive: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferReceive, MPU_xStreamBufferReceiveImpl -.extern MPU_xEventGroupSyncImpl -.align 4 -.global MPU_xEventGroupSync -.type MPU_xEventGroupSync, function -MPU_xEventGroupSync: - INVOKE_SYSTEM_CALL #SYSTEM_CALL_xEventGroupSync, MPU_xEventGroupSyncImpl + /* ----------------------------------------------------------------------------------- */ -/* ----------------------------------------------------------------------------------- */ + .extern MPU_xStreamBufferIsFullImpl + .align 4 + .global MPU_xStreamBufferIsFull + .type MPU_xStreamBufferIsFull, function + MPU_xStreamBufferIsFull: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferIsFull, MPU_xStreamBufferIsFullImpl -.extern MPU_xStreamBufferSendImpl -.align 4 -.global MPU_xStreamBufferSend -.type MPU_xStreamBufferSend, function -MPU_xStreamBufferSend: - INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSend, MPU_xStreamBufferSendImpl + /* ----------------------------------------------------------------------------------- */ -/* ----------------------------------------------------------------------------------- */ + .extern MPU_xStreamBufferIsEmptyImpl + .align 4 + .global MPU_xStreamBufferIsEmpty + .type MPU_xStreamBufferIsEmpty, function + MPU_xStreamBufferIsEmpty: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferIsEmpty, MPU_xStreamBufferIsEmptyImpl -.extern MPU_xStreamBufferReceiveImpl -.align 4 -.global MPU_xStreamBufferReceive -.type MPU_xStreamBufferReceive, function -MPU_xStreamBufferReceive: - INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferReceive, MPU_xStreamBufferReceiveImpl + /* ----------------------------------------------------------------------------------- */ -/* ----------------------------------------------------------------------------------- */ + .extern MPU_xStreamBufferSpacesAvailableImpl + .align 4 + .global MPU_xStreamBufferSpacesAvailable + .type MPU_xStreamBufferSpacesAvailable, function + MPU_xStreamBufferSpacesAvailable: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSpacesAvailable, MPU_xStreamBufferSpacesAvailableImpl -.extern MPU_xStreamBufferIsFullImpl -.align 4 -.global MPU_xStreamBufferIsFull -.type MPU_xStreamBufferIsFull, function -MPU_xStreamBufferIsFull: - INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferIsFull, MPU_xStreamBufferIsFullImpl + /* ----------------------------------------------------------------------------------- */ -/* ----------------------------------------------------------------------------------- */ + .extern MPU_xStreamBufferBytesAvailableImpl + .align 4 + .global MPU_xStreamBufferBytesAvailable + .type MPU_xStreamBufferBytesAvailable, function + MPU_xStreamBufferBytesAvailable: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferBytesAvailable, MPU_xStreamBufferBytesAvailableImpl -.extern MPU_xStreamBufferIsEmptyImpl -.align 4 -.global MPU_xStreamBufferIsEmpty -.type MPU_xStreamBufferIsEmpty, function -MPU_xStreamBufferIsEmpty: - INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferIsEmpty, MPU_xStreamBufferIsEmptyImpl + /* ----------------------------------------------------------------------------------- */ -/* ----------------------------------------------------------------------------------- */ + .extern MPU_xStreamBufferSetTriggerLevelImpl + .align 4 + .global MPU_xStreamBufferSetTriggerLevel + .type MPU_xStreamBufferSetTriggerLevel, function + MPU_xStreamBufferSetTriggerLevel: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSetTriggerLevel, MPU_xStreamBufferSetTriggerLevelImpl -.extern MPU_xStreamBufferSpacesAvailableImpl -.align 4 -.global MPU_xStreamBufferSpacesAvailable -.type MPU_xStreamBufferSpacesAvailable, function -MPU_xStreamBufferSpacesAvailable: - INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSpacesAvailable, MPU_xStreamBufferSpacesAvailableImpl + /* ----------------------------------------------------------------------------------- */ -/* ----------------------------------------------------------------------------------- */ + .extern MPU_xStreamBufferNextMessageLengthBytesImpl + .align 4 + .global MPU_xStreamBufferNextMessageLengthBytes + .type MPU_xStreamBufferNextMessageLengthBytes, function + MPU_xStreamBufferNextMessageLengthBytes: + INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes, MPU_xStreamBufferNextMessageLengthBytesImpl -.extern MPU_xStreamBufferBytesAvailableImpl -.align 4 -.global MPU_xStreamBufferBytesAvailable -.type MPU_xStreamBufferBytesAvailable, function -MPU_xStreamBufferBytesAvailable: - INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferBytesAvailable, MPU_xStreamBufferBytesAvailableImpl - -/* ----------------------------------------------------------------------------------- */ - -.extern MPU_xStreamBufferSetTriggerLevelImpl -.align 4 -.global MPU_xStreamBufferSetTriggerLevel -.type MPU_xStreamBufferSetTriggerLevel, function -MPU_xStreamBufferSetTriggerLevel: - INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferSetTriggerLevel, MPU_xStreamBufferSetTriggerLevelImpl - -/* ----------------------------------------------------------------------------------- */ - -.extern MPU_xStreamBufferNextMessageLengthBytesImpl -.align 4 -.global MPU_xStreamBufferNextMessageLengthBytes -.type MPU_xStreamBufferNextMessageLengthBytes, function -MPU_xStreamBufferNextMessageLengthBytes: - INVOKE_SYSTEM_CALL #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes, MPU_xStreamBufferNextMessageLengthBytesImpl +#endif /* if ( configUSE_STREAM_BUFFERS == 1 ) */ /* ----------------------------------------------------------------------------------- */ @@ -392,8 +400,11 @@ MPU_xStreamBufferNextMessageLengthBytes: MPU_uxTaskGetSystemState: INVOKE_SYSTEM_CALL #SYSTEM_CALL_uxTaskGetSystemState, MPU_uxTaskGetSystemStateImpl - /* ------------------------------------------------------------------------------- */ +#endif /* if ( configUSE_TRACE_FACILITY == 1 ) */ +/* ------------------------------------------------------------------------------- */ + +#if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) .extern MPU_uxEventGroupGetNumberImpl .align 4 .global MPU_uxEventGroupGetNumber @@ -403,6 +414,8 @@ MPU_xStreamBufferNextMessageLengthBytes: /* ------------------------------------------------------------------------------- */ + + .extern MPU_vEventGroupSetNumberImpl .align 4 .global MPU_vEventGroupSetNumber @@ -412,7 +425,7 @@ MPU_xStreamBufferNextMessageLengthBytes: /* ------------------------------------------------------------------------------- */ -#endif /* if ( configUSE_TRACE_FACILITY == 1 ) */ +#endif /* if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /* ------------------------------------------------------------------------------- */ diff --git a/portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c b/portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c index 3a41d8d31..82dd5f40d 100644 --- a/portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c +++ b/portable/RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c @@ -1354,6 +1354,8 @@ MPU_xTimerGetExpiryTime_Unpriv #endif /* if ( configUSE_TIMERS == 1 ) */ /*-----------------------------------------------------------*/ +#if ( configUSE_EVENT_GROUPS == 1 ) + EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) FREERTOS_SYSTEM_CALL; __asm EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* FREERTOS_SYSTEM_CALL */ @@ -1371,8 +1373,12 @@ MPU_xEventGroupWaitBits_Priv MPU_xEventGroupWaitBits_Unpriv svc #SYSTEM_CALL_xEventGroupWaitBits } + +#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ +#if ( configUSE_EVENT_GROUPS == 1 ) + EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear ) FREERTOS_SYSTEM_CALL; @@ -1392,8 +1398,12 @@ MPU_xEventGroupClearBits_Priv MPU_xEventGroupClearBits_Unpriv svc #SYSTEM_CALL_xEventGroupClearBits } + +#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ +#if ( configUSE_EVENT_GROUPS == 1 ) + EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet ) FREERTOS_SYSTEM_CALL; @@ -1413,8 +1423,12 @@ MPU_xEventGroupSetBits_Priv MPU_xEventGroupSetBits_Unpriv svc #SYSTEM_CALL_xEventGroupSetBits } + +#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ +#if ( configUSE_EVENT_GROUPS == 1 ) + EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, @@ -1438,9 +1452,11 @@ MPU_xEventGroupSync_Priv MPU_xEventGroupSync_Unpriv svc #SYSTEM_CALL_xEventGroupSync } + +#endif /* #if ( configUSE_EVENT_GROUPS == 1 ) */ /*-----------------------------------------------------------*/ -#if ( configUSE_TRACE_FACILITY == 1 ) +#if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) FREERTOS_SYSTEM_CALL; @@ -1460,10 +1476,10 @@ MPU_uxEventGroupGetNumber_Unpriv svc #SYSTEM_CALL_uxEventGroupGetNumber } -#endif /*( configUSE_TRACE_FACILITY == 1 )*/ +#endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ -#if ( configUSE_TRACE_FACILITY == 1 ) +#if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) void MPU_vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber ) FREERTOS_SYSTEM_CALL; @@ -1485,9 +1501,11 @@ MPU_vEventGroupSetNumber_Unpriv svc #SYSTEM_CALL_vEventGroupSetNumber } -#endif /*( configUSE_TRACE_FACILITY == 1 )*/ +#endif /* #if ( ( configUSE_EVENT_GROUPS == 1 ) && ( configUSE_TRACE_FACILITY == 1 ) ) */ /*-----------------------------------------------------------*/ +#if ( configUSE_STREAM_BUFFERS == 1 ) + size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, @@ -1511,8 +1529,12 @@ MPU_xStreamBufferSend_Priv MPU_xStreamBufferSend_Unpriv svc #SYSTEM_CALL_xStreamBufferSend } + +#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ +#if ( configUSE_STREAM_BUFFERS == 1 ) + size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, @@ -1536,8 +1558,12 @@ MPU_xStreamBufferReceive_Priv MPU_xStreamBufferReceive_Unpriv svc #SYSTEM_CALL_xStreamBufferReceive } + +#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ +#if ( configUSE_STREAM_BUFFERS == 1 ) + BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; __asm BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ @@ -1555,8 +1581,12 @@ MPU_xStreamBufferIsFull_Priv MPU_xStreamBufferIsFull_Unpriv svc #SYSTEM_CALL_xStreamBufferIsFull } + +#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ +#if ( configUSE_STREAM_BUFFERS == 1 ) + BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; __asm BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ @@ -1574,8 +1604,12 @@ MPU_xStreamBufferIsEmpty_Priv MPU_xStreamBufferIsEmpty_Unpriv svc #SYSTEM_CALL_xStreamBufferIsEmpty } + +#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ +#if ( configUSE_STREAM_BUFFERS == 1 ) + size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; __asm size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ @@ -1593,8 +1627,12 @@ MPU_xStreamBufferSpacesAvailable_Priv MPU_xStreamBufferSpacesAvailable_Unpriv svc #SYSTEM_CALL_xStreamBufferSpacesAvailable } + +#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ +#if ( configUSE_STREAM_BUFFERS == 1 ) + size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; __asm size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ @@ -1612,8 +1650,12 @@ MPU_xStreamBufferBytesAvailable_Priv MPU_xStreamBufferBytesAvailable_Unpriv svc #SYSTEM_CALL_xStreamBufferBytesAvailable } + +#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ +#if ( configUSE_STREAM_BUFFERS == 1 ) + BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer, size_t xTriggerLevel ) FREERTOS_SYSTEM_CALL; @@ -1633,8 +1675,12 @@ MPU_xStreamBufferSetTriggerLevel_Priv MPU_xStreamBufferSetTriggerLevel_Unpriv svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel } + +#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ +#if ( configUSE_STREAM_BUFFERS == 1 ) + size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) FREERTOS_SYSTEM_CALL; __asm size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuffer ) /* FREERTOS_SYSTEM_CALL */ @@ -1652,6 +1698,8 @@ MPU_xStreamBufferNextMessageLengthBytes_Priv MPU_xStreamBufferNextMessageLengthBytes_Unpriv svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes } + +#endif /* #if ( configUSE_STREAM_BUFFERS == 1 ) */ /*-----------------------------------------------------------*/ #endif /* configUSE_MPU_WRAPPERS_V1 == 0 */ diff --git a/stream_buffer.c b/stream_buffer.c index 2c357c657..44354fba3 100644 --- a/stream_buffer.c +++ b/stream_buffer.c @@ -52,11 +52,17 @@ * correct privileged Vs unprivileged linkage and placement. */ #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE +/* This entire source file will be skipped if the application is not configured + * to include stream buffer functionality. This #if is closed at the very bottom + * of this file. If you want to include stream buffers then ensure + * configUSE_STREAM_BUFFERS is set to 1 in FreeRTOSConfig.h. */ +#if ( configUSE_STREAM_BUFFERS == 1 ) + /* If the user has not provided application specific Rx notification macros, * or #defined the notification macros away, then provide default implementations * that uses task notifications. */ -#ifndef sbRECEIVE_COMPLETED - #define sbRECEIVE_COMPLETED( pxStreamBuffer ) \ + #ifndef sbRECEIVE_COMPLETED + #define sbRECEIVE_COMPLETED( pxStreamBuffer ) \ do \ { \ vTaskSuspendAll(); \ @@ -72,13 +78,13 @@ } \ ( void ) xTaskResumeAll(); \ } while( 0 ) -#endif /* sbRECEIVE_COMPLETED */ + #endif /* sbRECEIVE_COMPLETED */ /* If user has provided a per-instance receive complete callback, then * invoke the callback else use the receive complete macro which is provided by default for all instances. */ -#if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) - #define prvRECEIVE_COMPLETED( pxStreamBuffer ) \ + #if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) + #define prvRECEIVE_COMPLETED( pxStreamBuffer ) \ do { \ if( ( pxStreamBuffer )->pxReceiveCompletedCallback != NULL ) \ { \ @@ -89,13 +95,13 @@ sbRECEIVE_COMPLETED( ( pxStreamBuffer ) ); \ } \ } while( 0 ) -#else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ - #define prvRECEIVE_COMPLETED( pxStreamBuffer ) sbRECEIVE_COMPLETED( ( pxStreamBuffer ) ) -#endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ + #else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ + #define prvRECEIVE_COMPLETED( pxStreamBuffer ) sbRECEIVE_COMPLETED( ( pxStreamBuffer ) ) + #endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ -#ifndef sbRECEIVE_COMPLETED_FROM_ISR - #define sbRECEIVE_COMPLETED_FROM_ISR( pxStreamBuffer, \ - pxHigherPriorityTaskWoken ) \ + #ifndef sbRECEIVE_COMPLETED_FROM_ISR + #define sbRECEIVE_COMPLETED_FROM_ISR( pxStreamBuffer, \ + pxHigherPriorityTaskWoken ) \ do { \ UBaseType_t uxSavedInterruptStatus; \ \ @@ -113,11 +119,11 @@ } \ taskEXIT_CRITICAL_FROM_ISR( uxSavedInterruptStatus ); \ } while( 0 ) -#endif /* sbRECEIVE_COMPLETED_FROM_ISR */ + #endif /* sbRECEIVE_COMPLETED_FROM_ISR */ -#if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) - #define prvRECEIVE_COMPLETED_FROM_ISR( pxStreamBuffer, \ - pxHigherPriorityTaskWoken ) \ + #if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) + #define prvRECEIVE_COMPLETED_FROM_ISR( pxStreamBuffer, \ + pxHigherPriorityTaskWoken ) \ do { \ if( ( pxStreamBuffer )->pxReceiveCompletedCallback != NULL ) \ { \ @@ -128,17 +134,17 @@ sbRECEIVE_COMPLETED_FROM_ISR( ( pxStreamBuffer ), ( pxHigherPriorityTaskWoken ) ); \ } \ } while( 0 ) -#else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ - #define prvRECEIVE_COMPLETED_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \ + #else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ + #define prvRECEIVE_COMPLETED_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \ sbRECEIVE_COMPLETED_FROM_ISR( ( pxStreamBuffer ), ( pxHigherPriorityTaskWoken ) ) -#endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ + #endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ /* If the user has not provided an application specific Tx notification macro, * or #defined the notification macro away, then provide a default * implementation that uses task notifications. */ -#ifndef sbSEND_COMPLETED - #define sbSEND_COMPLETED( pxStreamBuffer ) \ + #ifndef sbSEND_COMPLETED + #define sbSEND_COMPLETED( pxStreamBuffer ) \ vTaskSuspendAll(); \ { \ if( ( pxStreamBuffer )->xTaskWaitingToReceive != NULL ) \ @@ -151,13 +157,13 @@ } \ } \ ( void ) xTaskResumeAll() -#endif /* sbSEND_COMPLETED */ + #endif /* sbSEND_COMPLETED */ /* If user has provided a per-instance send completed callback, then * invoke the callback else use the send complete macro which is provided by default for all instances. */ -#if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) - #define prvSEND_COMPLETED( pxStreamBuffer ) \ + #if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) + #define prvSEND_COMPLETED( pxStreamBuffer ) \ do { \ if( ( pxStreamBuffer )->pxSendCompletedCallback != NULL ) \ { \ @@ -168,13 +174,13 @@ sbSEND_COMPLETED( ( pxStreamBuffer ) ); \ } \ } while( 0 ) -#else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ - #define prvSEND_COMPLETED( pxStreamBuffer ) sbSEND_COMPLETED( ( pxStreamBuffer ) ) -#endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ + #else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ + #define prvSEND_COMPLETED( pxStreamBuffer ) sbSEND_COMPLETED( ( pxStreamBuffer ) ) + #endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ -#ifndef sbSEND_COMPLETE_FROM_ISR - #define sbSEND_COMPLETE_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \ + #ifndef sbSEND_COMPLETE_FROM_ISR + #define sbSEND_COMPLETE_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \ do { \ UBaseType_t uxSavedInterruptStatus; \ \ @@ -192,11 +198,11 @@ } \ taskEXIT_CRITICAL_FROM_ISR( uxSavedInterruptStatus ); \ } while( 0 ) -#endif /* sbSEND_COMPLETE_FROM_ISR */ + #endif /* sbSEND_COMPLETE_FROM_ISR */ -#if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) - #define prvSEND_COMPLETE_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \ + #if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) + #define prvSEND_COMPLETE_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \ do { \ if( ( pxStreamBuffer )->pxSendCompletedCallback != NULL ) \ { \ @@ -207,17 +213,17 @@ sbSEND_COMPLETE_FROM_ISR( ( pxStreamBuffer ), ( pxHigherPriorityTaskWoken ) ); \ } \ } while( 0 ) -#else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ - #define prvSEND_COMPLETE_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \ + #else /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ + #define prvSEND_COMPLETE_FROM_ISR( pxStreamBuffer, pxHigherPriorityTaskWoken ) \ sbSEND_COMPLETE_FROM_ISR( ( pxStreamBuffer ), ( pxHigherPriorityTaskWoken ) ) -#endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ + #endif /* if ( configUSE_SB_COMPLETED_CALLBACK == 1 ) */ /* The number of bytes used to hold the length of a message in the buffer. */ -#define sbBYTES_TO_STORE_MESSAGE_LENGTH ( sizeof( configMESSAGE_BUFFER_LENGTH_TYPE ) ) + #define sbBYTES_TO_STORE_MESSAGE_LENGTH ( sizeof( configMESSAGE_BUFFER_LENGTH_TYPE ) ) /* Bits stored in the ucFlags field of the stream buffer. */ -#define sbFLAGS_IS_MESSAGE_BUFFER ( ( uint8_t ) 1 ) /* Set if the stream buffer was created as a message buffer, in which case it holds discrete messages rather than a stream. */ -#define sbFLAGS_IS_STATICALLY_ALLOCATED ( ( uint8_t ) 2 ) /* Set if the stream buffer was created using statically allocated memory. */ + #define sbFLAGS_IS_MESSAGE_BUFFER ( ( uint8_t ) 1 ) /* Set if the stream buffer was created as a message buffer, in which case it holds discrete messages rather than a stream. */ + #define sbFLAGS_IS_STATICALLY_ALLOCATED ( ( uint8_t ) 2 ) /* Set if the stream buffer was created using statically allocated memory. */ /*-----------------------------------------------------------*/ @@ -320,7 +326,7 @@ static void prvInitialiseNewStreamBuffer( StreamBuffer_t * const pxStreamBuffer, StreamBufferCallbackFunction_t pxReceiveCompletedCallback ) PRIVILEGED_FUNCTION; /*-----------------------------------------------------------*/ -#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) + #if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) StreamBufferHandle_t xStreamBufferGenericCreate( size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer, @@ -406,10 +412,10 @@ static void prvInitialiseNewStreamBuffer( StreamBuffer_t * const pxStreamBuffer, /* coverity[misra_c_2012_rule_11_5_violation] */ return ( StreamBufferHandle_t ) pvAllocatedMemory; } -#endif /* configSUPPORT_DYNAMIC_ALLOCATION */ + #endif /* configSUPPORT_DYNAMIC_ALLOCATION */ /*-----------------------------------------------------------*/ -#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) StreamBufferHandle_t xStreamBufferGenericCreateStatic( size_t xBufferSizeBytes, size_t xTriggerLevelBytes, @@ -497,10 +503,10 @@ static void prvInitialiseNewStreamBuffer( StreamBuffer_t * const pxStreamBuffer, return xReturn; } -#endif /* ( configSUPPORT_STATIC_ALLOCATION == 1 ) */ + #endif /* ( configSUPPORT_STATIC_ALLOCATION == 1 ) */ /*-----------------------------------------------------------*/ -#if ( configSUPPORT_STATIC_ALLOCATION == 1 ) + #if ( configSUPPORT_STATIC_ALLOCATION == 1 ) BaseType_t xStreamBufferGetStaticBuffers( StreamBufferHandle_t xStreamBuffer, uint8_t ** ppucStreamBufferStorageArea, StaticStreamBuffer_t ** ppxStaticStreamBuffer ) @@ -532,7 +538,7 @@ static void prvInitialiseNewStreamBuffer( StreamBuffer_t * const pxStreamBuffer, return xReturn; } -#endif /* configSUPPORT_STATIC_ALLOCATION */ + #endif /* configSUPPORT_STATIC_ALLOCATION */ /*-----------------------------------------------------------*/ void vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer ) @@ -1461,7 +1467,7 @@ static size_t prvReadBytesFromBuffer( StreamBuffer_t * pxStreamBuffer, static size_t prvBytesInBuffer( const StreamBuffer_t * const pxStreamBuffer ) { -/* Returns the distance between xTail and xHead. */ + /* Returns the distance between xTail and xHead. */ size_t xCount; xCount = pxStreamBuffer->xLength + pxStreamBuffer->xHead; @@ -1496,7 +1502,7 @@ static void prvInitialiseNewStreamBuffer( StreamBuffer_t * const pxStreamBuffer, /* The value written just has to be identifiable when looking at the * memory. Don't use 0xA5 as that is the stack fill value and could * result in confusion as to what is actually being observed. */ - #define STREAM_BUFFER_BUFFER_WRITE_VALUE ( 0x55 ) + #define STREAM_BUFFER_BUFFER_WRITE_VALUE ( 0x55 ) configASSERT( memset( pucBuffer, ( int ) STREAM_BUFFER_BUFFER_WRITE_VALUE, xBufferSizeBytes ) == pucBuffer ); } #endif @@ -1564,7 +1570,7 @@ void vStreamBufferSetStreamBufferNotificationIndex( StreamBufferHandle_t xStream } /*-----------------------------------------------------------*/ -#if ( configUSE_TRACE_FACILITY == 1 ) + #if ( configUSE_TRACE_FACILITY == 1 ) UBaseType_t uxStreamBufferGetStreamBufferNumber( StreamBufferHandle_t xStreamBuffer ) { @@ -1575,10 +1581,10 @@ void vStreamBufferSetStreamBufferNotificationIndex( StreamBufferHandle_t xStream return xStreamBuffer->uxStreamBufferNumber; } -#endif /* configUSE_TRACE_FACILITY */ + #endif /* configUSE_TRACE_FACILITY */ /*-----------------------------------------------------------*/ -#if ( configUSE_TRACE_FACILITY == 1 ) + #if ( configUSE_TRACE_FACILITY == 1 ) void vStreamBufferSetStreamBufferNumber( StreamBufferHandle_t xStreamBuffer, UBaseType_t uxStreamBufferNumber ) @@ -1590,10 +1596,10 @@ void vStreamBufferSetStreamBufferNotificationIndex( StreamBufferHandle_t xStream traceRETURN_vStreamBufferSetStreamBufferNumber(); } -#endif /* configUSE_TRACE_FACILITY */ + #endif /* configUSE_TRACE_FACILITY */ /*-----------------------------------------------------------*/ -#if ( configUSE_TRACE_FACILITY == 1 ) + #if ( configUSE_TRACE_FACILITY == 1 ) uint8_t ucStreamBufferGetStreamBufferType( StreamBufferHandle_t xStreamBuffer ) { @@ -1604,5 +1610,11 @@ void vStreamBufferSetStreamBufferNotificationIndex( StreamBufferHandle_t xStream return( ( uint8_t ) ( xStreamBuffer->ucFlags & sbFLAGS_IS_MESSAGE_BUFFER ) ); } -#endif /* configUSE_TRACE_FACILITY */ + #endif /* configUSE_TRACE_FACILITY */ /*-----------------------------------------------------------*/ + +/* This entire source file will be skipped if the application is not configured + * to include stream buffer functionality. This #if is closed at the very bottom + * of this file. If you want to include stream buffers then ensure + * configUSE_STREAM_BUFFERS is set to 1 in FreeRTOSConfig.h. */ +#endif /* configUSE_STREAM_BUFFERS == 1 */ From 7c910499ecf13bc3f5d881814f319704279b5c13 Mon Sep 17 00:00:00 2001 From: Soren Ptak Date: Thu, 28 Mar 2024 10:47:34 -0700 Subject: [PATCH 29/38] Update checkout action used in workflow files (#1017) * Use the latest tagged release of the checkout action. * Cleanup some of the echo group prints in the workflow files --- .github/workflows/auto-release.yml | 4 +-- .github/workflows/ci.yml | 8 +++--- .github/workflows/coverity_scan.yml | 2 +- .github/workflows/git-secrets.yml | 4 +-- .github/workflows/kernel-checks.yml | 4 +-- .github/workflows/kernel-demos.yml | 43 +++++++++++++---------------- .github/workflows/unit-tests.yml | 4 +-- 7 files changed, 32 insertions(+), 37 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 73ec92cf0..bad7a9bce 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -31,14 +31,14 @@ jobs: # Currently FreeRTOS/.github/scripts houses the release script. Download it for upcoming usage - name: Checkout FreeRTOS Release Tools - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: repository: FreeRTOS/FreeRTOS path: tools # Simpler git auth if we use checkout action and forward the repo to release script - name: Checkout FreeRTOS Kernel - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: path: local_kernel fetch-depth: 0 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bc6d8802b..1ba874850 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: formatting: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 - name: Check Formatting of FreeRTOS-Kernel Files uses: FreeRTOS/CI-CD-Github-Actions/formatting@main with: @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Clone This Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 - name: Run spellings check uses: FreeRTOS/CI-CD-Github-Actions/spellings@main with: @@ -30,14 +30,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Clone This Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 - name: Link Verification uses: FreeRTOS/CI-CD-Github-Actions/link-verifier@main verify-manifest: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 with: submodules: true fetch-depth: 0 diff --git a/.github/workflows/coverity_scan.yml b/.github/workflows/coverity_scan.yml index 85db51800..14f5366b4 100644 --- a/.github/workflows/coverity_scan.yml +++ b/.github/workflows/coverity_scan.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the Repository - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 - env: stepName: Install Build Essentials diff --git a/.github/workflows/git-secrets.yml b/.github/workflows/git-secrets.yml index 2b88ce0a7..81b929cd3 100644 --- a/.github/workflows/git-secrets.yml +++ b/.github/workflows/git-secrets.yml @@ -7,11 +7,11 @@ jobs: git-secrets: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 with: submodules: recursive - name: Checkout awslabs/git-secrets - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: repository: awslabs/git-secrets ref: master diff --git a/.github/workflows/kernel-checks.yml b/.github/workflows/kernel-checks.yml index cfaec5b12..ad3096f0d 100644 --- a/.github/workflows/kernel-checks.yml +++ b/.github/workflows/kernel-checks.yml @@ -15,7 +15,7 @@ jobs: # There is shared code, hosted by FreeRTOS/FreeRTOS, with deps needed by header checker - name: Checkout FreeRTOS Tools - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: repository: FreeRTOS/FreeRTOS sparse-checkout: '.github' @@ -24,7 +24,7 @@ jobs: # Checkout user pull request changes - name: Checkout Pull Request - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: path: inspect diff --git a/.github/workflows/kernel-demos.yml b/.github/workflows/kernel-demos.yml index 9a74e3d00..556613ad7 100644 --- a/.github/workflows/kernel-demos.yml +++ b/.github/workflows/kernel-demos.yml @@ -14,7 +14,7 @@ jobs: runs-on: windows-latest steps: - name: Checkout the FreeRTOS/FreeRTOS Repository - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: ref: main repository: FreeRTOS/FreeRTOS @@ -23,7 +23,7 @@ jobs: # Checkout user pull request changes - name: Checkout Pull Request - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: path: ./FreeRTOS/Source @@ -43,7 +43,7 @@ jobs: runs-on: windows-latest steps: - name: Checkout the FreeRTOS/FreeRTOS Repository - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: ref: main repository: FreeRTOS/FreeRTOS @@ -52,7 +52,7 @@ jobs: # Checkout user pull request changes - name: Checkout Pull Request - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: path: ./FreeRTOS/Source @@ -74,7 +74,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Checkout the FreeRTOS/FreeRTOS Repository - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: ref: main repository: FreeRTOS/FreeRTOS @@ -83,7 +83,7 @@ jobs: # Checkout user pull request changes - name: Checkout Pull Request - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: path: ./FreeRTOS/Source @@ -110,7 +110,7 @@ jobs: steps: # Checkout user pull request changes - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 - name: Install GCC shell: bash @@ -137,7 +137,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the FreeRTOS/FreeRTOS Repository - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: ref: main repository: FreeRTOS/FreeRTOS @@ -146,7 +146,7 @@ jobs: # Checkout user pull request changes - name: Checkout Pull Request - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: path: ./FreeRTOS/Source @@ -166,7 +166,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the FreeRTOS/FreeRTOS Repository - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: ref: main repository: FreeRTOS/FreeRTOS @@ -176,7 +176,7 @@ jobs: stepName: Fetch Community-Supported-Demos Submodule shell: bash run: | - # Fetch Community-Supported-Demos Submodule + # ${{ env.stepName }} echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" git submodule update --checkout --init --depth 1 FreeRTOS/Demo/ThirdParty/Community-Supported-Demos # This repository contains the microblaze_instructions.h header file @@ -186,7 +186,7 @@ jobs: # Checkout user pull request changes - name: Checkout Pull Request - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: path: ./FreeRTOS/Source @@ -252,29 +252,24 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the FreeRTOS/FreeRTOS Repository - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: ref: main repository: FreeRTOS/FreeRTOS fetch-depth: 1 - - name: Fetch Community-Supported-Demos Submodule + - env: + stepName: Fetch Community-Supported-Demos Submodule shell: bash run: | - # Fetch Community-Supported-Demos Submodule - echo "::group::Fetch Community-Supported-Demos Submodule" + # ${{ env.stepName }} + echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" git submodule update --checkout --init --depth 1 FreeRTOS/Demo/ThirdParty/Community-Supported-Demos - echo "::endgroup::" - if [ "$?" = "0" ]; then - echo -e "\033[32;3mCloned the Community-Supported-Demos\033[0m" - else - echo -e "\033[32;31mCommunity-Supported-Demos Clone Failed...\033[0m" - exit 1 - fi + echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" # Checkout user pull request changes - name: Checkout Pull Request - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: path: ./FreeRTOS/Source diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index c154750b4..b6d2960b6 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -6,7 +6,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Checkout Parent Repository - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: ref: main repository: FreeRTOS/FreeRTOS @@ -15,7 +15,7 @@ jobs: # Checkout user pull request changes - name: Checkout Pull Request - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: path: ./FreeRTOS/Source From 52ee9faa72f2f67f04752c9d89b7b48c804bfa66 Mon Sep 17 00:00:00 2001 From: Soren Ptak Date: Thu, 28 Mar 2024 22:37:38 -0700 Subject: [PATCH 30/38] Add in CI-CD builds of the Cortex-Rx MPU Demos (#1018) --- .github/workflows/kernel-demos.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/kernel-demos.yml b/.github/workflows/kernel-demos.yml index 556613ad7..94d5c73e2 100644 --- a/.github/workflows/kernel-demos.yml +++ b/.github/workflows/kernel-demos.yml @@ -284,6 +284,16 @@ jobs: working-directory: FreeRTOS/Demo/CORTEX_MPU_M3_MPS2_QEMU_GCC run: make -j + - name: Build CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC Demo + shell: bash + working-directory: FreeRTOS/Demo/CORTEX_MPU_R4F_TI_RM46_HERCULES_GCC + run: cmake -S . -B build && make -j -C build all + + - name: Build CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC Demo + shell: bash + working-directory: FreeRTOS/Demo/CORTEX_MPU_R5F_TI_RM57_HERCULES_GCC + run: cmake -S . -B build && make -j -C build all + - name: Build CORTEX_LM3S102_GCC Demo shell: bash working-directory: FreeRTOS/Demo/CORTEX_LM3S102_GCC From ccbbf04e5b25b4824429d989f72c4a78c99020d7 Mon Sep 17 00:00:00 2001 From: chinglee-iot <61685396+chinglee-iot@users.noreply.github.com> Date: Thu, 4 Apr 2024 14:29:36 +0800 Subject: [PATCH 31/38] Update coverity example README (#1020) * Update coverity example README * Update main.c for comment --------- Co-authored-by: Ubuntu --- examples/cmake_example/main.c | 44 +++++++++++++++++++++-------------- examples/coverity/README.md | 7 +++--- 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/examples/cmake_example/main.c b/examples/cmake_example/main.c index f357b2f91..00c5405b3 100644 --- a/examples/cmake_example/main.c +++ b/examples/cmake_example/main.c @@ -43,7 +43,13 @@ /* Standard includes. */ #include -void exampleTask( void * parameters ) +/*-----------------------------------------------------------*/ + +static void exampleTask( void * parameters ); + +/*-----------------------------------------------------------*/ + +static void exampleTask( void * parameters ) { /* Unused parameters. */ ( void ) parameters; @@ -61,15 +67,15 @@ void main( void ) static StaticTask_t exampleTaskTCB; static StackType_t exampleTaskStack[ configMINIMAL_STACK_SIZE ]; - printf( "Example FreeRTOS Project\n" ); + ( void ) printf( "Example FreeRTOS Project\n" ); - xTaskCreateStatic( exampleTask, - "example", - configMINIMAL_STACK_SIZE, - NULL, - configMAX_PRIORITIES - 1, - &( exampleTaskStack[ 0 ] ), - &( exampleTaskTCB ) ); + ( void ) xTaskCreateStatic( exampleTask, + "example", + configMINIMAL_STACK_SIZE, + NULL, + configMAX_PRIORITIES - 1U, + &( exampleTaskStack[ 0 ] ), + &( exampleTaskTCB ) ); /* Start the scheduler. */ vTaskStartScheduler(); @@ -81,12 +87,16 @@ void main( void ) } /*-----------------------------------------------------------*/ -void vApplicationStackOverflowHook( TaskHandle_t xTask, - char * pcTaskName ) -{ - /* Check pcTaskName for the name of the offending task, - * or pxCurrentTCB if pcTaskName has itself been corrupted. */ - ( void ) xTask; - ( void ) pcTaskName; -} +#if ( configCHECK_FOR_STACK_OVERFLOW > 0 ) + + void vApplicationStackOverflowHook( TaskHandle_t xTask, + char * pcTaskName ) + { + /* Check pcTaskName for the name of the offending task, + * or pxCurrentTCB if pcTaskName has itself been corrupted. */ + ( void ) xTask; + ( void ) pcTaskName; + } + +#endif /* #if ( configCHECK_FOR_STACK_OVERFLOW > 0 ) */ /*-----------------------------------------------------------*/ diff --git a/examples/coverity/README.md b/examples/coverity/README.md index 0daed7b22..6055e7133 100644 --- a/examples/coverity/README.md +++ b/examples/coverity/README.md @@ -4,7 +4,7 @@ run [Synopsys Coverity](https://www.synopsys.com/software-integrity/security-tes for checking MISRA compliance. > **Note** -Coverity version 2022.6.1 incorrectly infers the type of `pdTRUE` and `pdFALSE` +Coverity version 2023.6.1 incorrectly infers the type of `pdTRUE` and `pdFALSE` as boolean because of their names, resulting in multiple false positive warnings about type mismatch. We replace `pdTRUE` with `pdPASS` and `pdFALSE` with `pdFAIL` to avoid these false positive warnings. This workaround will not be @@ -40,15 +40,14 @@ commands in a terminal: 3. Build the (pseudo) application: ~~~ cd build/ - cov-build --emit-complementary-info --dir cov-out make + cov-build --emit-complementary-info --dir cov-out make coverity ~~~ 4. Go to the Coverity output directory (`cov-out`) and begin Coverity static analysis: ~~~ - cd cov-out/ cov-analyze --dir ./cov-out \ --coding-standard-config ../examples/coverity/coverity_misra.config \ - --tu-pattern "file('.*/FreeRTOS/Source/[A-Za-z_]*\.c') + --tu-pattern "file('[A-Za-z_]+\.c')" ~~~ 5. Generate the HTML report: ~~~ From 8c49c54987bc5f1d69cdb48a33d327f43c5f3668 Mon Sep 17 00:00:00 2001 From: Kody Stribrny <89810515+kstribrnAmzn@users.noreply.github.com> Date: Thu, 4 Apr 2024 22:10:43 -0700 Subject: [PATCH 32/38] Fix TFM about link (#1021) This page does not look to exist anymore which is failing our link verifier check. --- portable/ThirdParty/GCC/ARM_TFM/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/portable/ThirdParty/GCC/ARM_TFM/README.md b/portable/ThirdParty/GCC/ARM_TFM/README.md index b1d49fd71..ae2962447 100644 --- a/portable/ThirdParty/GCC/ARM_TFM/README.md +++ b/portable/ThirdParty/GCC/ARM_TFM/README.md @@ -10,7 +10,7 @@ to design security into a device from the ground up. PSA is made up of four key stages: analyze, architect, implement, and certify. See [PSA Resource Page](https://developer.arm.com/architectures/security-architectures/platform-security-architecture). TF-M is an open source project. It provides a reference implementation of PSA -for Arm M-profile architecture. Please get the details from this [link](https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git/about/). +for Arm M-profile architecture. Please get the details from this [link](https://www.trustedfirmware.org/about/). # Derivation of the source code From 8afb3a5b824b53847bbc99124ba4e4e94ebe80aa Mon Sep 17 00:00:00 2001 From: Florian La Roche Date: Tue, 9 Apr 2024 02:50:55 +0200 Subject: [PATCH 33/38] fix typos in comments: interace -> interface, swtich -> switch (#1022) Fix typos in comments: interace -> interface, swtich -> switch. Signed-off-by: Florian La Roche --- portable/GCC/ARM_AARCH64/README.md | 2 +- portable/GCC/ARM_AARCH64_SRE/README.md | 2 +- portable/GCC/ARM_CA53_64_BIT/README.md | 4 ++-- portable/GCC/ARM_CA53_64_BIT_SRE/README.md | 4 ++-- portable/GCC/ARM_CA9/portASM.S | 2 +- portable/GCC/ARM_CR5/portASM.S | 2 +- portable/GCC/ARM_CRx_MPU/portASM.S | 4 ++-- portable/GCC/ARM_CRx_No_GIC/portASM.S | 2 +- portable/IAR/ARM_CRx_No_GIC/portASM.s | 2 +- portable/RVDS/ARM_CA9/portASM.s | 2 +- portable/ThirdParty/CDK/T-HEAD_CK802/port.c | 2 +- portable/ThirdParty/XCC/Xtensa/xtensa_context.h | 2 +- 12 files changed, 15 insertions(+), 15 deletions(-) diff --git a/portable/GCC/ARM_AARCH64/README.md b/portable/GCC/ARM_AARCH64/README.md index 0bee96951..60f670177 100644 --- a/portable/GCC/ARM_AARCH64/README.md +++ b/portable/GCC/ARM_AARCH64/README.md @@ -20,4 +20,4 @@ This port is generic and can be used as a starting point for Armv8-A application processors. * ARM_AARCH64 - * Memory mapped interace to access Arm GIC registers + * Memory mapped interface to access Arm GIC registers diff --git a/portable/GCC/ARM_AARCH64_SRE/README.md b/portable/GCC/ARM_AARCH64_SRE/README.md index 4c9a55af0..129b0e3ec 100644 --- a/portable/GCC/ARM_AARCH64_SRE/README.md +++ b/portable/GCC/ARM_AARCH64_SRE/README.md @@ -20,4 +20,4 @@ This port is generic and can be used as a starting point for Armv8-A application processors. * ARM_AARCH64_SRE - * System Register interace to access Arm GIC registers + * System Register interface to access Arm GIC registers diff --git a/portable/GCC/ARM_CA53_64_BIT/README.md b/portable/GCC/ARM_CA53_64_BIT/README.md index a8df29e91..578b475d9 100644 --- a/portable/GCC/ARM_CA53_64_BIT/README.md +++ b/portable/GCC/ARM_CA53_64_BIT/README.md @@ -4,7 +4,7 @@ Initial port to support Armv8-A architecture in FreeRTOS kernel was written for Arm Cortex-A53 processor. * ARM_CA53_64_BIT - * Memory mapped interace to access Arm GIC registers + * Memory mapped interface to access Arm GIC registers This port is generic and can be used as a starting point for other Armv8-A application processors. Therefore, the port `ARM_CA53_64_BIT` is renamed as @@ -13,4 +13,4 @@ should migrate to renamed port `ARM_AARCH64`. **NOTE** -This port uses memory mapped interace to access Arm GIC registers. +This port uses memory mapped interface to access Arm GIC registers. diff --git a/portable/GCC/ARM_CA53_64_BIT_SRE/README.md b/portable/GCC/ARM_CA53_64_BIT_SRE/README.md index a5d415fc2..9951f81c8 100644 --- a/portable/GCC/ARM_CA53_64_BIT_SRE/README.md +++ b/portable/GCC/ARM_CA53_64_BIT_SRE/README.md @@ -4,7 +4,7 @@ Initial port to support Armv8-A architecture in FreeRTOS kernel was written for Arm Cortex-A53 processor. * ARM_CA53_64_BIT_SRE - * System Register interace to access Arm GIC registers + * System Register interface to access Arm GIC registers This port is generic and can be used as a starting point for other Armv8-A application processors. Therefore, the port `ARM_AARCH64_SRE` is renamed as @@ -13,4 +13,4 @@ should migrate to renamed port `ARM_AARCH64_SRE`. **NOTE** -This port uses System Register interace to access Arm GIC registers. +This port uses System Register interface to access Arm GIC registers. diff --git a/portable/GCC/ARM_CA9/portASM.S b/portable/GCC/ARM_CA9/portASM.S index 6efeaba77..5e4b870b9 100644 --- a/portable/GCC/ARM_CA9/portASM.S +++ b/portable/GCC/ARM_CA9/portASM.S @@ -246,7 +246,7 @@ exit_without_switch: MOVS PC, LR switch_before_exit: - /* A context swtich is to be performed. Clear the context switch pending + /* A context switch is to be performed. Clear the context switch pending flag. */ MOV r0, #0 STR r0, [r1] diff --git a/portable/GCC/ARM_CR5/portASM.S b/portable/GCC/ARM_CR5/portASM.S index e14cddd07..1590ee4e8 100644 --- a/portable/GCC/ARM_CR5/portASM.S +++ b/portable/GCC/ARM_CR5/portASM.S @@ -242,7 +242,7 @@ exit_without_switch: MOVS PC, LR switch_before_exit: - /* A context swtich is to be performed. Clear the context switch pending + /* A context switch is to be performed. Clear the context switch pending flag. */ MOV r0, #0 STR r0, [r1] diff --git a/portable/GCC/ARM_CRx_MPU/portASM.S b/portable/GCC/ARM_CRx_MPU/portASM.S index cac0fc406..bc0345a80 100644 --- a/portable/GCC/ARM_CRx_MPU/portASM.S +++ b/portable/GCC/ARM_CRx_MPU/portASM.S @@ -446,7 +446,7 @@ FreeRTOS_IRQ_Handler: * ulPortInterruptNesting. */ STR R1, [R0] - /* Context swtich is only performed when interrupt nesting count is 0. */ + /* Context switch is only performed when interrupt nesting count is 0. */ CMP R1, #0 BNE exit_without_switch @@ -464,7 +464,7 @@ exit_without_switch: RFE SP! switch_before_exit: - /* A context swtich is to be performed. Clear ulPortYieldRequired. R1 holds + /* A context switch is to be performed. Clear ulPortYieldRequired. R1 holds * the address of ulPortYieldRequired. */ MOV R0, #0 STR R0, [R1] diff --git a/portable/GCC/ARM_CRx_No_GIC/portASM.S b/portable/GCC/ARM_CRx_No_GIC/portASM.S index 960d46f7e..349a940d9 100644 --- a/portable/GCC/ARM_CRx_No_GIC/portASM.S +++ b/portable/GCC/ARM_CRx_No_GIC/portASM.S @@ -223,7 +223,7 @@ exit_without_switch: MOVS PC, LR switch_before_exit: - /* A context swtich is to be performed. Clear the context switch pending + /* A context switch is to be performed. Clear the context switch pending flag. */ MOV r0, #0 STR r0, [r1] diff --git a/portable/IAR/ARM_CRx_No_GIC/portASM.s b/portable/IAR/ARM_CRx_No_GIC/portASM.s index fb2a797ac..f37ad570b 100644 --- a/portable/IAR/ARM_CRx_No_GIC/portASM.s +++ b/portable/IAR/ARM_CRx_No_GIC/portASM.s @@ -215,7 +215,7 @@ exit_without_switch: MOVS PC, LR switch_before_exit: - /* A context swtich is to be performed. Clear the context switch pending + /* A context switch is to be performed. Clear the context switch pending flag. */ MOV r0, #0 STR r0, [r1] diff --git a/portable/RVDS/ARM_CA9/portASM.s b/portable/RVDS/ARM_CA9/portASM.s index f099ef2aa..771b140da 100644 --- a/portable/RVDS/ARM_CA9/portASM.s +++ b/portable/RVDS/ARM_CA9/portASM.s @@ -143,7 +143,7 @@ exit_without_switch MOVS PC, LR switch_before_exit - ; A context swtich is to be performed. Clear the context switch pending + ; A context switch is to be performed. Clear the context switch pending ; flag. MOV r0, #0 STR r0, [r1] diff --git a/portable/ThirdParty/CDK/T-HEAD_CK802/port.c b/portable/ThirdParty/CDK/T-HEAD_CK802/port.c index 6e953a0cb..8f5ab7d26 100644 --- a/portable/ThirdParty/CDK/T-HEAD_CK802/port.c +++ b/portable/ThirdParty/CDK/T-HEAD_CK802/port.c @@ -32,7 +32,7 @@ extern void vPortStartTask( void ); * will be set to 0 prior to the first task being started. */ portLONG ulCriticalNesting = 0x9999UL; -/* Used to record one tack want to swtich task after enter critical area, we need know it +/* Used to record one tack want to switch task after enter critical area, we need know it * and implement task switch after exit critical area */ portLONG pendsvflag = 0; diff --git a/portable/ThirdParty/XCC/Xtensa/xtensa_context.h b/portable/ThirdParty/XCC/Xtensa/xtensa_context.h index 256e71568..8756213ea 100644 --- a/portable/ThirdParty/XCC/Xtensa/xtensa_context.h +++ b/portable/ThirdParty/XCC/Xtensa/xtensa_context.h @@ -254,7 +254,7 @@ STRUCT_END(XtSolFrame) The contents of a non-running thread's CPENABLE register. It represents the co-processors owned (and whose state is still needed) by the thread. When a thread is preempted, its CPENABLE is saved here. - When a thread solicits a context-swtich, its CPENABLE is cleared - the + When a thread solicits a context-switch, its CPENABLE is cleared - the compiler has saved the (caller-saved) co-proc state if it needs to. When a non-running thread loses ownership of a CP, its bit is cleared. When a thread runs, it's XT_CPENABLE is loaded into the CPENABLE reg. From f0ff3834bc6db8d515fb43d9bb5bf66c42dcf4bf Mon Sep 17 00:00:00 2001 From: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> Date: Tue, 9 Apr 2024 10:00:23 +0530 Subject: [PATCH 34/38] Fix spelling in comment (#1024) Co-authored-by: ActoryOu --- portable/ARMv8M/non_secure/port.c | 2 +- portable/GCC/ARM_CM0/port.c | 2 +- portable/GCC/ARM_CM23/non_secure/port.c | 2 +- portable/GCC/ARM_CM23_NTZ/non_secure/port.c | 2 +- portable/GCC/ARM_CM3/port.c | 2 +- portable/GCC/ARM_CM33/non_secure/port.c | 2 +- portable/GCC/ARM_CM33_NTZ/non_secure/port.c | 2 +- portable/GCC/ARM_CM35P/non_secure/port.c | 2 +- portable/GCC/ARM_CM35P_NTZ/non_secure/port.c | 2 +- portable/GCC/ARM_CM3_MPU/port.c | 2 +- portable/GCC/ARM_CM4F/port.c | 2 +- portable/GCC/ARM_CM4_MPU/port.c | 2 +- portable/GCC/ARM_CM55/non_secure/port.c | 2 +- portable/GCC/ARM_CM55_NTZ/non_secure/port.c | 2 +- portable/GCC/ARM_CM7/r0p1/port.c | 2 +- portable/GCC/ARM_CM85/non_secure/port.c | 2 +- portable/GCC/ARM_CM85_NTZ/non_secure/port.c | 2 +- portable/IAR/ARM_CM0/port.c | 2 +- portable/IAR/ARM_CM23/non_secure/port.c | 2 +- portable/IAR/ARM_CM23_NTZ/non_secure/port.c | 2 +- portable/IAR/ARM_CM3/port.c | 2 +- portable/IAR/ARM_CM33/non_secure/port.c | 2 +- portable/IAR/ARM_CM33_NTZ/non_secure/port.c | 2 +- portable/IAR/ARM_CM35P/non_secure/port.c | 2 +- portable/IAR/ARM_CM35P_NTZ/non_secure/port.c | 2 +- portable/IAR/ARM_CM4F/port.c | 2 +- portable/IAR/ARM_CM4F_MPU/port.c | 2 +- portable/IAR/ARM_CM55/non_secure/port.c | 2 +- portable/IAR/ARM_CM55_NTZ/non_secure/port.c | 2 +- portable/IAR/ARM_CM7/r0p1/port.c | 2 +- portable/IAR/ARM_CM85/non_secure/port.c | 2 +- portable/IAR/ARM_CM85_NTZ/non_secure/port.c | 2 +- portable/RVDS/ARM_CM4_MPU/port.c | 2 +- 33 files changed, 33 insertions(+), 33 deletions(-) diff --git a/portable/ARMv8M/non_secure/port.c b/portable/ARMv8M/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/ARMv8M/non_secure/port.c +++ b/portable/ARMv8M/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM0/port.c b/portable/GCC/ARM_CM0/port.c index 4ee1d9494..608afa5de 100644 --- a/portable/GCC/ARM_CM0/port.c +++ b/portable/GCC/ARM_CM0/port.c @@ -1265,7 +1265,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM23/non_secure/port.c b/portable/GCC/ARM_CM23/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/GCC/ARM_CM23/non_secure/port.c +++ b/portable/GCC/ARM_CM23/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM23_NTZ/non_secure/port.c b/portable/GCC/ARM_CM23_NTZ/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/GCC/ARM_CM23_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM23_NTZ/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM3/port.c b/portable/GCC/ARM_CM3/port.c index 1a9c9b072..5adf39bd7 100644 --- a/portable/GCC/ARM_CM3/port.c +++ b/portable/GCC/ARM_CM3/port.c @@ -269,7 +269,7 @@ static void prvPortStartFirstTask( void ) BaseType_t xPortStartScheduler( void ) { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions vPortSVCHandler and * xPortPendSVHandler for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM33/non_secure/port.c b/portable/GCC/ARM_CM33/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/GCC/ARM_CM33/non_secure/port.c +++ b/portable/GCC/ARM_CM33/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM33_NTZ/non_secure/port.c b/portable/GCC/ARM_CM33_NTZ/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/GCC/ARM_CM33_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM33_NTZ/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM35P/non_secure/port.c b/portable/GCC/ARM_CM35P/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/GCC/ARM_CM35P/non_secure/port.c +++ b/portable/GCC/ARM_CM35P/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c b/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM3_MPU/port.c b/portable/GCC/ARM_CM3_MPU/port.c index 872882d77..6a36f1a88 100644 --- a/portable/GCC/ARM_CM3_MPU/port.c +++ b/portable/GCC/ARM_CM3_MPU/port.c @@ -744,7 +744,7 @@ static void prvRestoreContextOfFirstTask( void ) BaseType_t xPortStartScheduler( void ) { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions vPortSVCHandler and * xPortPendSVHandler for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM4F/port.c b/portable/GCC/ARM_CM4F/port.c index ecd07f01c..c836999ec 100644 --- a/portable/GCC/ARM_CM4F/port.c +++ b/portable/GCC/ARM_CM4F/port.c @@ -312,7 +312,7 @@ BaseType_t xPortStartScheduler( void ) configASSERT( portCPUID != portCORTEX_M7_r0p0_ID ); /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions vPortSVCHandler and * xPortPendSVHandler for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM4_MPU/port.c b/portable/GCC/ARM_CM4_MPU/port.c index 210165544..6e6f9de75 100644 --- a/portable/GCC/ARM_CM4_MPU/port.c +++ b/portable/GCC/ARM_CM4_MPU/port.c @@ -830,7 +830,7 @@ BaseType_t xPortStartScheduler( void ) #endif /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions vPortSVCHandler and * xPortPendSVHandler for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM55/non_secure/port.c b/portable/GCC/ARM_CM55/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/GCC/ARM_CM55/non_secure/port.c +++ b/portable/GCC/ARM_CM55/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM55_NTZ/non_secure/port.c b/portable/GCC/ARM_CM55_NTZ/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/GCC/ARM_CM55_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM55_NTZ/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM7/r0p1/port.c b/portable/GCC/ARM_CM7/r0p1/port.c index 220be503f..aaac2a7cb 100644 --- a/portable/GCC/ARM_CM7/r0p1/port.c +++ b/portable/GCC/ARM_CM7/r0p1/port.c @@ -300,7 +300,7 @@ static void prvPortStartFirstTask( void ) BaseType_t xPortStartScheduler( void ) { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions vPortSVCHandler and * xPortPendSVHandler for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM85/non_secure/port.c b/portable/GCC/ARM_CM85/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/GCC/ARM_CM85/non_secure/port.c +++ b/portable/GCC/ARM_CM85/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/GCC/ARM_CM85_NTZ/non_secure/port.c b/portable/GCC/ARM_CM85_NTZ/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/GCC/ARM_CM85_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM85_NTZ/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM0/port.c b/portable/IAR/ARM_CM0/port.c index 634833389..809b6c417 100644 --- a/portable/IAR/ARM_CM0/port.c +++ b/portable/IAR/ARM_CM0/port.c @@ -180,7 +180,7 @@ static void prvTaskExitError( void ) BaseType_t xPortStartScheduler( void ) { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the function xPortPendSVHandler for PendSV * interrupt. * 2. Indirect Routing - Install separate handler for PendSV interrupt and diff --git a/portable/IAR/ARM_CM23/non_secure/port.c b/portable/IAR/ARM_CM23/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/IAR/ARM_CM23/non_secure/port.c +++ b/portable/IAR/ARM_CM23/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM23_NTZ/non_secure/port.c b/portable/IAR/ARM_CM23_NTZ/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/IAR/ARM_CM23_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM23_NTZ/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM3/port.c b/portable/IAR/ARM_CM3/port.c index d254dc255..5d0d5aab5 100644 --- a/portable/IAR/ARM_CM3/port.c +++ b/portable/IAR/ARM_CM3/port.c @@ -223,7 +223,7 @@ static void prvTaskExitError( void ) BaseType_t xPortStartScheduler( void ) { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions vPortSVCHandler and * xPortPendSVHandler for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM33/non_secure/port.c b/portable/IAR/ARM_CM33/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/IAR/ARM_CM33/non_secure/port.c +++ b/portable/IAR/ARM_CM33/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM33_NTZ/non_secure/port.c b/portable/IAR/ARM_CM33_NTZ/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/IAR/ARM_CM33_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM33_NTZ/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM35P/non_secure/port.c b/portable/IAR/ARM_CM35P/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/IAR/ARM_CM35P/non_secure/port.c +++ b/portable/IAR/ARM_CM35P/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c b/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM4F/port.c b/portable/IAR/ARM_CM4F/port.c index 18b433282..a4e2193b2 100644 --- a/portable/IAR/ARM_CM4F/port.c +++ b/portable/IAR/ARM_CM4F/port.c @@ -261,7 +261,7 @@ BaseType_t xPortStartScheduler( void ) configASSERT( portCPUID != portCORTEX_M7_r0p0_ID ); /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions vPortSVCHandler and * xPortPendSVHandler for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM4F_MPU/port.c b/portable/IAR/ARM_CM4F_MPU/port.c index f5772c1d8..da070c56a 100644 --- a/portable/IAR/ARM_CM4F_MPU/port.c +++ b/portable/IAR/ARM_CM4F_MPU/port.c @@ -725,7 +725,7 @@ BaseType_t xPortStartScheduler( void ) #endif /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions vPortSVCHandler and * xPortPendSVHandler for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM55/non_secure/port.c b/portable/IAR/ARM_CM55/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/IAR/ARM_CM55/non_secure/port.c +++ b/portable/IAR/ARM_CM55/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM55_NTZ/non_secure/port.c b/portable/IAR/ARM_CM55_NTZ/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/IAR/ARM_CM55_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM55_NTZ/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM7/r0p1/port.c b/portable/IAR/ARM_CM7/r0p1/port.c index 7def0060e..35a5b0b1b 100644 --- a/portable/IAR/ARM_CM7/r0p1/port.c +++ b/portable/IAR/ARM_CM7/r0p1/port.c @@ -249,7 +249,7 @@ static void prvTaskExitError( void ) BaseType_t xPortStartScheduler( void ) { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions vPortSVCHandler and * xPortPendSVHandler for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM85/non_secure/port.c b/portable/IAR/ARM_CM85/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/IAR/ARM_CM85/non_secure/port.c +++ b/portable/IAR/ARM_CM85/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/IAR/ARM_CM85_NTZ/non_secure/port.c b/portable/IAR/ARM_CM85_NTZ/non_secure/port.c index 329de05d7..99e1e148b 100644 --- a/portable/IAR/ARM_CM85_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM85_NTZ/non_secure/port.c @@ -1621,7 +1621,7 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */ { /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions SVC_Handler and PendSV_Handler * for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV diff --git a/portable/RVDS/ARM_CM4_MPU/port.c b/portable/RVDS/ARM_CM4_MPU/port.c index 37d13e8b8..87af70e3d 100644 --- a/portable/RVDS/ARM_CM4_MPU/port.c +++ b/portable/RVDS/ARM_CM4_MPU/port.c @@ -829,7 +829,7 @@ BaseType_t xPortStartScheduler( void ) #endif /* An application can install FreeRTOS interrupt handlers in one of the - * folllowing ways: + * following ways: * 1. Direct Routing - Install the functions vPortSVCHandler and * xPortPendSVHandler for SVCall and PendSV interrupts respectively. * 2. Indirect Routing - Install separate handlers for SVCall and PendSV From 5da55ba8ade5f752104a3138609013d6d086ef31 Mon Sep 17 00:00:00 2001 From: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> Date: Tue, 9 Apr 2024 10:31:53 +0530 Subject: [PATCH 35/38] Add configCHECK_HANDLER_INSTALLATION description in template file (#1025) Add configconfigCHECK_HANDLER_INSTALLATION description in template configuration file --- .../template_configuration/FreeRTOSConfig.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/examples/template_configuration/FreeRTOSConfig.h b/examples/template_configuration/FreeRTOSConfig.h index 74b7cea96..ed3a430f1 100644 --- a/examples/template_configuration/FreeRTOSConfig.h +++ b/examples/template_configuration/FreeRTOSConfig.h @@ -571,6 +571,24 @@ * for the Cortex-M23,Cortex-M33 and Cortex-M35P ports. */ #define configENABLE_MVE 1 +/******************************************************************************/ +/* ARMv7-M and ARMv8-M port Specific Configuration definitions. ***************/ +/******************************************************************************/ + +/* Set configCHECK_HANDLER_INSTALLATION to 1 to enable additional asserts to verify + * that the application has correctly installed FreeRTOS interrupt handlers. + * + * An application can install FreeRTOS interrupt handlers in one of the following ways: + * 1. Direct Routing - Install the functions vPortSVCHandler and xPortPendSVHandler + * for SVC call and PendSV interrupts respectively. + * 2. Indirect Routing - Install separate handlers for SVC call and PendSV + * interrupts and route program control from those handlers + * to vPortSVCHandler and xPortPendSVHandler functions. + * The applications that use Indirect Routing must set configCHECK_HANDLER_INSTALLATION to 0. + * + * Defaults to 1 if left undefined. */ +#define configCHECK_HANDLER_INSTALLATION 1 + /******************************************************************************/ /* Definitions that include or exclude functionality. *************************/ /******************************************************************************/ From 6270e2aebfb24caead2dc928f31043cccd6b62fd Mon Sep 17 00:00:00 2001 From: Florian La Roche Date: Tue, 9 Apr 2024 07:21:12 +0200 Subject: [PATCH 36/38] Update the memory alignment within the Cortex-R5 port asm code (#1023) Update alignment in ARM_CR5 port. This is the same patch as 553caa18ced4906cf5060823ada7a10e73c7b535 provided by Richard Barry for issue #426 (ARM_CA9). Signed-off-by: Florian La Roche --- portable/GCC/ARM_CR5/portASM.S | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/portable/GCC/ARM_CR5/portASM.S b/portable/GCC/ARM_CR5/portASM.S index 1590ee4e8..3c39ef1b6 100644 --- a/portable/GCC/ARM_CR5/portASM.S +++ b/portable/GCC/ARM_CR5/portASM.S @@ -76,8 +76,8 @@ /* Save the floating point context, if any. */ FMRXNE R1, FPSCR - VPUSHNE {D0-D15} PUSHNE {R1} + VPUSHNE {D0-D15} /* Save ulPortTaskHasFPUContext itself. */ PUSH {R3} @@ -110,8 +110,8 @@ CMP R1, #0 /* Restore the floating point context, if any. */ - POPNE {R0} VPOPNE {D0-D15} + POPNE {R0} VMSRNE FPSCR, R0 #endif /* __ARM_FP */ @@ -147,8 +147,15 @@ FreeRTOS_SWI_Handler: /* Save the context of the current task and select a new task to run. */ portSAVE_CONTEXT + + /* Ensure bit 2 of the stack pointer is clear. */ + MOV r2, sp + AND r2, r2, #4 + SUB sp, sp, r2 + LDR R0, vTaskSwitchContextConst BLX R0 + portRESTORE_CONTEXT @@ -256,6 +263,11 @@ switch_before_exit: POP {LR} portSAVE_CONTEXT + /* Ensure bit 2 of the stack pointer is clear. */ + MOV r2, sp + AND r2, r2, #4 + SUB sp, sp, r2 + /* Call the function that selects the new task to execute. vTaskSwitchContext() if vTaskSwitchContext() uses LDRD or STRD instructions, or 8 byte aligned stack allocated data. LR does not need From 030c1aa64634d4c8db65c6cd13391890dd10c46a Mon Sep 17 00:00:00 2001 From: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> Date: Tue, 9 Apr 2024 15:26:34 +0530 Subject: [PATCH 37/38] Add event group and stream buffer config option in template (#1026) * Add config descriptions in template configuration file --------- Co-authored-by: GitHub Action --- .../template_configuration/FreeRTOSConfig.h | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/examples/template_configuration/FreeRTOSConfig.h b/examples/template_configuration/FreeRTOSConfig.h index ed3a430f1..c1c05966a 100644 --- a/examples/template_configuration/FreeRTOSConfig.h +++ b/examples/template_configuration/FreeRTOSConfig.h @@ -236,6 +236,28 @@ * if configUSE_TIMERS is set to 1. */ #define configTIMER_QUEUE_LENGTH 10 +/******************************************************************************/ +/* Event Group related definitions. *******************************************/ +/******************************************************************************/ + +/* Set configUSE_EVENT_GROUPS to 1 to include event group functionality in the + * build. Set to 0 to exclude event group functionality from the build. The + * FreeRTOS/source/event_groups.c source file must be included in the build if + * configUSE_EVENT_GROUPS is set to 1. Defaults to 1 if left undefined. */ + +#define configUSE_EVENT_GROUPS 1 + +/******************************************************************************/ +/* Stream Buffer related definitions. *****************************************/ +/******************************************************************************/ + +/* Set configUSE_STREAM_BUFFERS to 1 to include stream buffer functionality in + * the build. Set to 0 to exclude event group functionality from the build. The + * FreeRTOS/source/stream_buffer.c source file must be included in the build if + * configUSE_STREAM_BUFFERS is set to 1. Defaults to 1 if left undefined. */ + +#define configUSE_STREAM_BUFFERS 1 + /******************************************************************************/ /* Memory allocation related definitions. *************************************/ /******************************************************************************/ @@ -431,7 +453,7 @@ #define configENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY 1 /* Set configALLOW_UNPRIVILEGED_CRITICAL_SECTIONS to 1 to allow unprivileged - * tasks enter critical sections (effectively mask interrupts). Set to 0 to + * tasks enter critical sections (effectively mask interrupts). Set to 0 to * prevent unprivileged tasks entering critical sections. Defaults to 1 if left * undefined. Only used by the FreeRTOS Cortex-M MPU ports, not the standard * ARMv7-M Cortex-M port. */ From 2829f3eccc30f41f85d0989ea0b5a4354244880e Mon Sep 17 00:00:00 2001 From: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com> Date: Wed, 10 Apr 2024 20:58:48 +0530 Subject: [PATCH 38/38] Replace volatile with configLIST_VOLATILE (#1027) --- include/list.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/list.h b/include/list.h index 091553dd1..0de51bb5a 100644 --- a/include/list.h +++ b/include/list.h @@ -172,7 +172,7 @@ typedef struct xLIST_ITEM ListItem_t; typedef struct xLIST { listFIRST_LIST_INTEGRITY_CHECK_VALUE /**< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */ - volatile UBaseType_t uxNumberOfItems; + configLIST_VOLATILE UBaseType_t uxNumberOfItems; ListItem_t * configLIST_VOLATILE pxIndex; /**< Used to walk through the list. Points to the last item returned by a call to listGET_OWNER_OF_NEXT_ENTRY (). */ MiniListItem_t xListEnd; /**< List item that contains the maximum possible item value meaning it is always at the end of the list and is therefore used as a marker. */ listSECOND_LIST_INTEGRITY_CHECK_VALUE /**< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */