mirror of
				https://github.com/FreeRTOS/FreeRTOS-Kernel.git
				synced 2025-11-04 02:32:42 -05:00 
			
		
		
		
	Merge branch 'main' into stack_overflow_check
This commit is contained in:
		
						commit
						6534df98f5
					
				
					 27 changed files with 290 additions and 193 deletions
				
			
		
							
								
								
									
										4
									
								
								.github/workflows/kernel-demos.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/kernel-demos.yml
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -268,12 +268,12 @@ jobs:
 | 
				
			||||||
          fetch-depth: 1
 | 
					          fetch-depth: 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - env:
 | 
					      - env:
 | 
				
			||||||
          stepName: Fetch Community-Supported-Demos Submodule
 | 
					          stepName: Fetch Dependencies
 | 
				
			||||||
        shell: bash
 | 
					        shell: bash
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          # ${{ env.stepName }}
 | 
					          # ${{ env.stepName }}
 | 
				
			||||||
          echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}"
 | 
					          echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}"
 | 
				
			||||||
          git submodule update --checkout --init --depth 1 FreeRTOS/Demo/ThirdParty/Community-Supported-Demos
 | 
					          git submodule update --checkout --init --depth 1 FreeRTOS/Demo/ThirdParty/Community-Supported-Demos FreeRTOS-Plus/Source/FreeRTOS-Plus-Trace
 | 
				
			||||||
          echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
 | 
					          echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Checkout user pull request changes
 | 
					      # Checkout user pull request changes
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -125,6 +125,14 @@ typedef struct MPU_REGION_SETTINGS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */
 | 
					#endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * +------------------------------+-------------------------------+-----+
 | 
				
			||||||
 | 
					 * |  CONTROL, r4-r11, EXC_RETURN | PSP, r0-r3, r12, LR, PC, xPSR |     |
 | 
				
			||||||
 | 
					 * +------------------------------+-------------------------------+-----+
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * <-----------------------------><-------------------------------><---->
 | 
				
			||||||
 | 
					 *                10                             9                   1
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
#define MAX_CONTEXT_SIZE                    ( 20 )
 | 
					#define MAX_CONTEXT_SIZE                    ( 20 )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Size of an Access Control List (ACL) entry in bits. */
 | 
					/* Size of an Access Control List (ACL) entry in bits. */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -219,7 +219,16 @@ typedef struct MPU_REGION_SETTINGS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* configUSE_MPU_WRAPPERS_V1 == 0 */
 | 
					#endif /* configUSE_MPU_WRAPPERS_V1 == 0 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MAX_CONTEXT_SIZE                    ( 52 )
 | 
					/*
 | 
				
			||||||
 | 
					 * +---------+---------------+-----------------+-----------------+-----+
 | 
				
			||||||
 | 
					 * | s16-s31 | s0-s15, FPSCR | CONTROL, r4-r11 | PSP, r0-r3, r12 |     |
 | 
				
			||||||
 | 
					 * |         |               | EXC_RETURN      | LR, PC, xPSR    |     |
 | 
				
			||||||
 | 
					 * +---------+---------------+-----------------+-----------------+-----+
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * <--------><---------------><----------------><----------------><---->
 | 
				
			||||||
 | 
					 *     16           17               10                 9           1
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define MAX_CONTEXT_SIZE                    ( 53 )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Size of an Access Control List (ACL) entry in bits. */
 | 
					/* Size of an Access Control List (ACL) entry in bits. */
 | 
				
			||||||
#define portACL_ENTRY_SIZE_BITS             ( 32U )
 | 
					#define portACL_ENTRY_SIZE_BITS             ( 32U )
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -221,7 +221,16 @@ typedef struct MPU_REGION_SETTINGS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* configUSE_MPU_WRAPPERS_V1 == 0 */
 | 
					#endif /* configUSE_MPU_WRAPPERS_V1 == 0 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MAX_CONTEXT_SIZE                    ( 52 )
 | 
					/*
 | 
				
			||||||
 | 
					 * +---------+---------------+-----------------+-----------------+-----+
 | 
				
			||||||
 | 
					 * | s16-s31 | s0-s15, FPSCR | CONTROL, r4-r11 | PSP, r0-r3, r12 |     |
 | 
				
			||||||
 | 
					 * |         |               | EXC_RETURN      | LR, PC, xPSR    |     |
 | 
				
			||||||
 | 
					 * +---------+---------------+-----------------+-----------------+-----+
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * <--------><---------------><----------------><----------------><---->
 | 
				
			||||||
 | 
					 *     16           17               10                 9           1
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define MAX_CONTEXT_SIZE                    ( 53 )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Size of an Access Control List (ACL) entry in bits. */
 | 
					/* Size of an Access Control List (ACL) entry in bits. */
 | 
				
			||||||
#define portACL_ENTRY_SIZE_BITS             ( 32U )
 | 
					#define portACL_ENTRY_SIZE_BITS             ( 32U )
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -246,9 +246,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                     16         1
 | 
					             *      16             17            8               8                     5                     16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    70
 | 
					            #define MAX_CONTEXT_SIZE    71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 0 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -259,9 +259,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+------------------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><-----------------------------><---->
 | 
				
			||||||
             *      16             16            8               8                     5                   1
 | 
					             *      16             17            8               8                     5                   1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    54
 | 
					            #define MAX_CONTEXT_SIZE    55
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
					        #elif ( ( configENABLE_TRUSTZONE == 0 ) && ( configENABLE_PAC == 1 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,9 +272,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><-----------><---->
 | 
				
			||||||
             *      16             16            8               8                  4                16         1
 | 
					             *      16             17            8               8                  4                16         1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    69
 | 
					            #define MAX_CONTEXT_SIZE    70
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #else /* if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,9 +285,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
 | 
				
			||||||
             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
					             * +-----------+---------------+----------+-----------------+----------------------+-----+
 | 
				
			||||||
             *
 | 
					             *
 | 
				
			||||||
             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
					             * <-----------><--------------><---------><----------------><---------------------><---->
 | 
				
			||||||
             *      16             16            8               8                  4              1
 | 
					             *      16             17            8               8                  4              1
 | 
				
			||||||
             */
 | 
					             */
 | 
				
			||||||
            #define MAX_CONTEXT_SIZE    53
 | 
					            #define MAX_CONTEXT_SIZE    54
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
					        #endif /* #if ( ( configENABLE_TRUSTZONE == 1 ) && ( configENABLE_PAC == 1 ) ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -218,7 +218,16 @@ typedef struct MPU_REGION_SETTINGS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */
 | 
					#endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MAX_CONTEXT_SIZE                    ( 52 )
 | 
					/*
 | 
				
			||||||
 | 
					 * +---------+---------------+-----------------+-----------------+-----+
 | 
				
			||||||
 | 
					 * | s16-s31 | s0-s15, FPSCR | CONTROL, r4-r11 | PSP, r0-r3, r12 |     |
 | 
				
			||||||
 | 
					 * |         |               | EXC_RETURN      | LR, PC, xPSR    |     |
 | 
				
			||||||
 | 
					 * +---------+---------------+-----------------+-----------------+-----+
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * <--------><---------------><----------------><----------------><---->
 | 
				
			||||||
 | 
					 *     16           17               10                 9           1
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#define MAX_CONTEXT_SIZE                    ( 53 )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Size of an Access Control List (ACL) entry in bits. */
 | 
					/* Size of an Access Control List (ACL) entry in bits. */
 | 
				
			||||||
#define portACL_ENTRY_SIZE_BITS             ( 32U )
 | 
					#define portACL_ENTRY_SIZE_BITS             ( 32U )
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										102
									
								
								portable/ThirdParty/GCC/Posix/port.c
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										102
									
								
								portable/ThirdParty/GCC/Posix/port.c
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -105,6 +105,8 @@ static BaseType_t xSchedulerEnd = pdFALSE;
 | 
				
			||||||
static pthread_t hTimerTickThread;
 | 
					static pthread_t hTimerTickThread;
 | 
				
			||||||
static bool xTimerTickThreadShouldRun;
 | 
					static bool xTimerTickThreadShouldRun;
 | 
				
			||||||
static uint64_t prvStartTimeNs;
 | 
					static uint64_t prvStartTimeNs;
 | 
				
			||||||
 | 
					static pthread_mutex_t xThreadMutex = PTHREAD_MUTEX_INITIALIZER;
 | 
				
			||||||
 | 
					static pthread_key_t xThreadKey = 0;
 | 
				
			||||||
/*-----------------------------------------------------------*/
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void prvSetupSignalsAndSchedulerPolicy( void );
 | 
					static void prvSetupSignalsAndSchedulerPolicy( void );
 | 
				
			||||||
| 
						 | 
					@ -119,6 +121,45 @@ static void vPortStartFirstTask( void );
 | 
				
			||||||
static void prvPortYieldFromISR( void );
 | 
					static void prvPortYieldFromISR( void );
 | 
				
			||||||
/*-----------------------------------------------------------*/
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void prvThreadKeyDestructor( void * data )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    free( data );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void prvInitThreadKey()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    pthread_mutex_lock( &xThreadMutex );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if( xThreadKey == 0 )
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        pthread_key_create( &xThreadKey, prvThreadKeyDestructor );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    pthread_mutex_unlock( &xThreadMutex );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void prvMarkAsFreeRTOSThread( pthread_t thread )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    prvInitThreadKey();
 | 
				
			||||||
 | 
					    uint8_t * thread_data = malloc( 1 );
 | 
				
			||||||
 | 
					    configASSERT( thread_data != NULL );
 | 
				
			||||||
 | 
					    *thread_data = 1;
 | 
				
			||||||
 | 
					    pthread_setspecific( xThreadKey, thread_data );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static BaseType_t prvIsFreeRTOSThread( pthread_t thread )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    uint8_t * thread_data = ( uint8_t * ) pthread_getspecific( xThreadKey );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return thread_data != NULL && *thread_data == 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void prvDestroyThreadKey()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    pthread_key_delete( xThreadKey );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void prvFatalError( const char * pcCall,
 | 
					static void prvFatalError( const char * pcCall,
 | 
				
			||||||
                           int iErrno ) __attribute__( ( __noreturn__ ) );
 | 
					                           int iErrno ) __attribute__( ( __noreturn__ ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -249,6 +290,8 @@ BaseType_t xPortStartScheduler( void )
 | 
				
			||||||
    /* Restore original signal mask. */
 | 
					    /* Restore original signal mask. */
 | 
				
			||||||
    ( void ) pthread_sigmask( SIG_SETMASK, &xSchedulerOriginalSignalMask, NULL );
 | 
					    ( void ) pthread_sigmask( SIG_SETMASK, &xSchedulerOriginalSignalMask, NULL );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    prvDestroyThreadKey();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*-----------------------------------------------------------*/
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
| 
						 | 
					@ -266,8 +309,12 @@ void vPortEndScheduler( void )
 | 
				
			||||||
    ( void ) pthread_kill( hMainThread, SIG_RESUME );
 | 
					    ( void ) pthread_kill( hMainThread, SIG_RESUME );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Waiting to be deleted here. */
 | 
					    /* Waiting to be deleted here. */
 | 
				
			||||||
    pxCurrentThread = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() );
 | 
					    if( prvIsFreeRTOSThread( pthread_self() ) == pdTRUE )
 | 
				
			||||||
    event_wait( pxCurrentThread->ev );
 | 
					    {
 | 
				
			||||||
 | 
					        pxCurrentThread = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() );
 | 
				
			||||||
 | 
					        event_wait( pxCurrentThread->ev );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pthread_testcancel();
 | 
					    pthread_testcancel();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*-----------------------------------------------------------*/
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
| 
						 | 
					@ -322,13 +369,19 @@ void vPortYield( void )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void vPortDisableInterrupts( void )
 | 
					void vPortDisableInterrupts( void )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    pthread_sigmask( SIG_BLOCK, &xAllSignals, NULL );
 | 
					    if( prvIsFreeRTOSThread( pthread_self() ) == pdTRUE )
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        pthread_sigmask(SIG_BLOCK, &xAllSignals, NULL);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*-----------------------------------------------------------*/
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void vPortEnableInterrupts( void )
 | 
					void vPortEnableInterrupts( void )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    pthread_sigmask( SIG_UNBLOCK, &xAllSignals, NULL );
 | 
					    if( prvIsFreeRTOSThread( pthread_self() ) == pdTRUE )
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        pthread_sigmask(SIG_UNBLOCK, &xAllSignals, NULL);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*-----------------------------------------------------------*/
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -364,6 +417,8 @@ static void * prvTimerTickHandler( void * arg )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    ( void ) arg;
 | 
					    ( void ) arg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    prvMarkAsFreeRTOSThread( pthread_self() );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    prvPortSetCurrentThreadName("Scheduler timer");
 | 
					    prvPortSetCurrentThreadName("Scheduler timer");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    while( xTimerTickThreadShouldRun )
 | 
					    while( xTimerTickThreadShouldRun )
 | 
				
			||||||
| 
						 | 
					@ -396,26 +451,31 @@ void prvSetupTimerInterrupt( void )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void vPortSystemTickHandler( int sig )
 | 
					static void vPortSystemTickHandler( int sig )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Thread_t * pxThreadToSuspend;
 | 
					    if( prvIsFreeRTOSThread( pthread_self() ) == pdTRUE )
 | 
				
			||||||
    Thread_t * pxThreadToResume;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    ( void ) sig;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    uxCriticalNesting++; /* Signals are blocked in this signal handler. */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    pxThreadToSuspend = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if( xTaskIncrementTick() != pdFALSE )
 | 
					 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        /* Select Next Task. */
 | 
					        Thread_t * pxThreadToSuspend;
 | 
				
			||||||
        vTaskSwitchContext();
 | 
					        Thread_t * pxThreadToResume;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        pxThreadToResume = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() );
 | 
					        ( void ) sig;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        prvSwitchThread( pxThreadToResume, pxThreadToSuspend );
 | 
					        uxCriticalNesting++; /* Signals are blocked in this signal handler. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        pxThreadToSuspend = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if( xTaskIncrementTick() != pdFALSE )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            /* Select Next Task. */
 | 
				
			||||||
 | 
					            vTaskSwitchContext();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            pxThreadToResume = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            prvSwitchThread( pxThreadToResume, pxThreadToSuspend );
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        uxCriticalNesting--;
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        fprintf( stderr, "vPortSystemTickHandler called from non-FreeRTOS thread\n" );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    uxCriticalNesting--;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*-----------------------------------------------------------*/
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -448,6 +508,8 @@ static void * prvWaitForStart( void * pvParams )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Thread_t * pxThread = pvParams;
 | 
					    Thread_t * pxThread = pvParams;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    prvMarkAsFreeRTOSThread( pthread_self() );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    prvSuspendSelf( pxThread );
 | 
					    prvSuspendSelf( pxThread );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Resumed for the first time, unblocks all signals. */
 | 
					    /* Resumed for the first time, unblocks all signals. */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue