Skip to content

Commit 28efb54

Browse files
committed
Add "is inside interrupt" function to MPU ports.
Make clock setup functions weak symbols in ARMv8-M ports. Update Cortex-M33 ports to use an interrupt mask in place of globally disabling interrupts, as per the other Cortex-M ports.
1 parent 8e5adde commit 28efb54

File tree

52 files changed

+719
-270
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+719
-270
lines changed

FreeRTOS/Source/portable/ARMv8M/non_secure/port.c

Lines changed: 41 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -257,11 +257,6 @@
257257
#define portNO_SECURE_CONTEXT 0
258258
/*-----------------------------------------------------------*/
259259

260-
/**
261-
* @brief Setup the timer to generate the tick interrupts.
262-
*/
263-
static void prvSetupTimerInterrupt( void ) PRIVILEGED_FUNCTION;
264-
265260
/**
266261
* @brief Used to catch tasks that attempt to return from their implementing
267262
* function.
@@ -282,6 +277,22 @@ static void prvTaskExitError( void );
282277
static void prvSetupFPU( void ) PRIVILEGED_FUNCTION;
283278
#endif /* configENABLE_FPU */
284279

280+
/**
281+
* @brief Setup the timer to generate the tick interrupts.
282+
*
283+
* The implementation in this file is weak to allow application writers to
284+
* change the timer used to generate the tick interrupt.
285+
*/
286+
void vPortSetupTimerInterrupt( void ) PRIVILEGED_FUNCTION;
287+
288+
/**
289+
* @brief Checks whether the current execution context is interrupt.
290+
*
291+
* @return pdTRUE if the current execution context is interrupt, pdFALSE
292+
* otherwise.
293+
*/
294+
BaseType_t xPortIsInsideInterrupt( void );
295+
285296
/**
286297
* @brief Yield the processor.
287298
*/
@@ -323,7 +334,7 @@ static volatile uint32_t ulCriticalNesting = 0xaaaaaaaaUL;
323334
#endif /* configENABLE_TRUSTZONE */
324335
/*-----------------------------------------------------------*/
325336

326-
static void prvSetupTimerInterrupt( void ) /* PRIVILEGED_FUNCTION */
337+
__attribute__(( weak )) void vPortSetupTimerInterrupt( void ) /* PRIVILEGED_FUNCTION */
327338
{
328339
/* Stop and reset the SysTick. */
329340
*( portNVIC_SYSTICK_CTRL ) = 0UL;
@@ -773,7 +784,7 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
773784

774785
/* Start the timer that generates the tick ISR. Interrupts are disabled
775786
* here already. */
776-
prvSetupTimerInterrupt();
787+
vPortSetupTimerInterrupt();
777788

778789
/* Initialize the critical nesting count ready for the first task. */
779790
ulCriticalNesting = 0;
@@ -897,3 +908,26 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
897908
}
898909
#endif /* configENABLE_MPU */
899910
/*-----------------------------------------------------------*/
911+
912+
BaseType_t xPortIsInsideInterrupt( void )
913+
{
914+
uint32_t ulCurrentInterrupt;
915+
BaseType_t xReturn;
916+
917+
/* Obtain the number of the currently executing interrupt. Interrupt Program
918+
* Status Register (IPSR) holds the exception number of the currently-executing
919+
* exception or zero for Thread mode.*/
920+
__asm volatile( "mrs %0, ipsr" : "=r"( ulCurrentInterrupt ) :: "memory" );
921+
922+
if( ulCurrentInterrupt == 0 )
923+
{
924+
xReturn = pdFALSE;
925+
}
926+
else
927+
{
928+
xReturn = pdTRUE;
929+
}
930+
931+
return xReturn;
932+
}
933+
/*-----------------------------------------------------------*/

FreeRTOS/Source/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portasm.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ void vStartFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
201201
}
202202
/*-----------------------------------------------------------*/
203203

204-
uint32_t ulSetInterruptMaskFromISR( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
204+
uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
205205
{
206206
__asm volatile
207207
(
@@ -213,7 +213,7 @@ uint32_t ulSetInterruptMaskFromISR( void ) /* __attribute__(( naked )) PRIVILEGE
213213
}
214214
/*-----------------------------------------------------------*/
215215

216-
void vClearInterruptMaskFromISR( __attribute__( ( unused ) ) uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
216+
void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
217217
{
218218
__asm volatile
219219
(

FreeRTOS/Source/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portmacro.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,15 @@ typedef unsigned long UBaseType_t;
103103
/**
104104
* @brief Extern declarations.
105105
*/
106+
extern BaseType_t xPortIsInsideInterrupt( void );
107+
106108
extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;
107109

108110
extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;
109111
extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;
110112

111-
extern uint32_t ulSetInterruptMaskFromISR( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
112-
extern void vClearInterruptMaskFromISR( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
113+
extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
114+
extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
113115

114116
#if( configENABLE_TRUSTZONE == 1 )
115117
extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */
@@ -217,8 +219,8 @@ typedef struct MPU_SETTINGS
217219
/**
218220
* @brief Critical section management.
219221
*/
220-
#define portSET_INTERRUPT_MASK_FROM_ISR() ulSetInterruptMaskFromISR()
221-
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x) vClearInterruptMaskFromISR( x )
222+
#define portSET_INTERRUPT_MASK_FROM_ISR() ulSetInterruptMask()
223+
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x) vClearInterruptMask( x )
222224
#define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" )
223225
#define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" )
224226
#define portENTER_CRITICAL() vPortEnterCritical()

FreeRTOS/Source/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portasm.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ void vStartFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
196196
}
197197
/*-----------------------------------------------------------*/
198198

199-
uint32_t ulSetInterruptMaskFromISR( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
199+
uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
200200
{
201201
__asm volatile
202202
(
@@ -208,7 +208,7 @@ uint32_t ulSetInterruptMaskFromISR( void ) /* __attribute__(( naked )) PRIVILEGE
208208
}
209209
/*-----------------------------------------------------------*/
210210

211-
void vClearInterruptMaskFromISR( __attribute__( ( unused ) ) uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
211+
void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
212212
{
213213
__asm volatile
214214
(

FreeRTOS/Source/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portmacro.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,15 @@ typedef unsigned long UBaseType_t;
103103
/**
104104
* @brief Extern declarations.
105105
*/
106+
extern BaseType_t xPortIsInsideInterrupt( void );
107+
106108
extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;
107109

108110
extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;
109111
extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;
110112

111-
extern uint32_t ulSetInterruptMaskFromISR( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
112-
extern void vClearInterruptMaskFromISR( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
113+
extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
114+
extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
113115

114116
#if( configENABLE_TRUSTZONE == 1 )
115117
extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */
@@ -217,8 +219,8 @@ typedef struct MPU_SETTINGS
217219
/**
218220
* @brief Critical section management.
219221
*/
220-
#define portSET_INTERRUPT_MASK_FROM_ISR() ulSetInterruptMaskFromISR()
221-
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x) vClearInterruptMaskFromISR( x )
222+
#define portSET_INTERRUPT_MASK_FROM_ISR() ulSetInterruptMask()
223+
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x) vClearInterruptMask( x )
222224
#define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" )
223225
#define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" )
224226
#define portENTER_CRITICAL() vPortEnterCritical()

FreeRTOS/Source/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portasm.c

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -176,24 +176,29 @@ void vStartFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
176176
}
177177
/*-----------------------------------------------------------*/
178178

179-
uint32_t ulSetInterruptMaskFromISR( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
179+
uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
180180
{
181181
__asm volatile
182182
(
183-
" mrs r0, PRIMASK \n"
184-
" cpsid i \n"
185-
" bx lr \n"
186-
::: "memory"
183+
" mrs r0, basepri \n" /* r0 = basepri. Return original basepri value. */
184+
" mov r1, %0 \n" /* r1 = configMAX_SYSCALL_INTERRUPT_PRIORITY. */
185+
" msr basepri, r1 \n" /* Disable interrupts upto configMAX_SYSCALL_INTERRUPT_PRIORITY. */
186+
" dsb \n"
187+
" isb \n"
188+
" bx lr \n" /* Return. */
189+
:: "i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) : "memory"
187190
);
188191
}
189192
/*-----------------------------------------------------------*/
190193

191-
void vClearInterruptMaskFromISR( __attribute__( ( unused ) ) uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
194+
void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
192195
{
193196
__asm volatile
194197
(
195-
" msr PRIMASK, r0 \n"
196-
" bx lr \n"
198+
" msr basepri, r0 \n" /* basepri = ulMask. */
199+
" dsb \n"
200+
" isb \n"
201+
" bx lr \n" /* Return. */
197202
::: "memory"
198203
);
199204
}
@@ -266,9 +271,13 @@ void PendSV_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
266271
#endif /* configENABLE_MPU */
267272
" \n"
268273
" select_next_task: \n"
269-
" cpsid i \n"
274+
" mov r0, %0 \n" /* r0 = configMAX_SYSCALL_INTERRUPT_PRIORITY */
275+
" msr basepri, r0 \n" /* Disable interrupts upto configMAX_SYSCALL_INTERRUPT_PRIORITY. */
276+
" dsb \n"
277+
" isb \n"
270278
" bl vTaskSwitchContext \n"
271-
" cpsie i \n"
279+
" mov r0, #0 \n" /* r0 = 0. */
280+
" msr basepri, r0 \n" /* Enable interrupts. */
272281
" \n"
273282
" ldr r2, pxCurrentTCBConst \n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */
274283
" ldr r3, [r2] \n" /* Read pxCurrentTCB. */
@@ -352,6 +361,7 @@ void PendSV_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
352361
"xRNRConst: .word 0xe000ed98 \n"
353362
"xRBARConst: .word 0xe000ed9c \n"
354363
#endif /* configENABLE_MPU */
364+
:: "i"( configMAX_SYSCALL_INTERRUPT_PRIORITY )
355365
);
356366
}
357367
/*-----------------------------------------------------------*/

FreeRTOS/Source/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portmacro.h

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,15 @@ typedef unsigned long UBaseType_t;
103103
/**
104104
* @brief Extern declarations.
105105
*/
106+
extern BaseType_t xPortIsInsideInterrupt( void );
107+
106108
extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;
107109

108110
extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;
109111
extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;
110112

111-
extern uint32_t ulSetInterruptMaskFromISR( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
112-
extern void vClearInterruptMaskFromISR( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
113+
extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
114+
extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
113115

114116
#if( configENABLE_TRUSTZONE == 1 )
115117
extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */
@@ -217,10 +219,10 @@ typedef struct MPU_SETTINGS
217219
/**
218220
* @brief Critical section management.
219221
*/
220-
#define portSET_INTERRUPT_MASK_FROM_ISR() ulSetInterruptMaskFromISR()
221-
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x) vClearInterruptMaskFromISR( x )
222-
#define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" )
223-
#define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" )
222+
#define portSET_INTERRUPT_MASK_FROM_ISR() ulSetInterruptMask()
223+
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( x ) vClearInterruptMask( x )
224+
#define portDISABLE_INTERRUPTS() ulSetInterruptMask()
225+
#define portENABLE_INTERRUPTS() vClearInterruptMask( 0 )
224226
#define portENTER_CRITICAL() vPortEnterCritical()
225227
#define portEXIT_CRITICAL() vPortExitCritical()
226228
/*-----------------------------------------------------------*/

FreeRTOS/Source/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portasm.c

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -171,24 +171,29 @@ void vStartFirstTask( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
171171
}
172172
/*-----------------------------------------------------------*/
173173

174-
uint32_t ulSetInterruptMaskFromISR( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
174+
uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
175175
{
176176
__asm volatile
177177
(
178-
" mrs r0, PRIMASK \n"
179-
" cpsid i \n"
180-
" bx lr \n"
181-
::: "memory"
178+
" mrs r0, basepri \n" /* r0 = basepri. Return original basepri value. */
179+
" mov r1, %0 \n" /* r1 = configMAX_SYSCALL_INTERRUPT_PRIORITY. */
180+
" msr basepri, r1 \n" /* Disable interrupts upto configMAX_SYSCALL_INTERRUPT_PRIORITY. */
181+
" dsb \n"
182+
" isb \n"
183+
" bx lr \n" /* Return. */
184+
:: "i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) : "memory"
182185
);
183186
}
184187
/*-----------------------------------------------------------*/
185188

186-
void vClearInterruptMaskFromISR( __attribute__( ( unused ) ) uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
189+
void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */
187190
{
188191
__asm volatile
189192
(
190-
" msr PRIMASK, r0 \n"
191-
" bx lr \n"
193+
" msr basepri, r0 \n" /* basepri = ulMask. */
194+
" dsb \n"
195+
" isb \n"
196+
" bx lr \n" /* Return. */
192197
::: "memory"
193198
);
194199
}
@@ -221,9 +226,13 @@ void PendSV_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
221226
" ldr r1, [r2] \n" /* Read pxCurrentTCB. */
222227
" str r0, [r1] \n" /* Save the new top of stack in TCB. */
223228
" \n"
224-
" cpsid i \n"
229+
" mov r0, %0 \n" /* r0 = configMAX_SYSCALL_INTERRUPT_PRIORITY */
230+
" msr basepri, r0 \n" /* Disable interrupts upto configMAX_SYSCALL_INTERRUPT_PRIORITY. */
231+
" dsb \n"
232+
" isb \n"
225233
" bl vTaskSwitchContext \n"
226-
" cpsie i \n"
234+
" mov r0, #0 \n" /* r0 = 0. */
235+
" msr basepri, r0 \n" /* Enable interrupts. */
227236
" \n"
228237
" ldr r2, pxCurrentTCBConst \n" /* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */
229238
" ldr r1, [r2] \n" /* Read pxCurrentTCB. */
@@ -284,6 +293,7 @@ void PendSV_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
284293
"xRNRConst: .word 0xe000ed98 \n"
285294
"xRBARConst: .word 0xe000ed9c \n"
286295
#endif /* configENABLE_MPU */
296+
:: "i"( configMAX_SYSCALL_INTERRUPT_PRIORITY )
287297
);
288298
}
289299
/*-----------------------------------------------------------*/

FreeRTOS/Source/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portmacro.h

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,15 @@ typedef unsigned long UBaseType_t;
103103
/**
104104
* @brief Extern declarations.
105105
*/
106+
extern BaseType_t xPortIsInsideInterrupt( void );
107+
106108
extern void vPortYield( void ) /* PRIVILEGED_FUNCTION */;
107109

108110
extern void vPortEnterCritical( void ) /* PRIVILEGED_FUNCTION */;
109111
extern void vPortExitCritical( void ) /* PRIVILEGED_FUNCTION */;
110112

111-
extern uint32_t ulSetInterruptMaskFromISR( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
112-
extern void vClearInterruptMaskFromISR( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
113+
extern uint32_t ulSetInterruptMask( void ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
114+
extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) PRIVILEGED_FUNCTION */;
113115

114116
#if( configENABLE_TRUSTZONE == 1 )
115117
extern void vPortAllocateSecureContext( uint32_t ulSecureStackSize ); /* __attribute__ (( naked )) */
@@ -217,10 +219,10 @@ typedef struct MPU_SETTINGS
217219
/**
218220
* @brief Critical section management.
219221
*/
220-
#define portSET_INTERRUPT_MASK_FROM_ISR() ulSetInterruptMaskFromISR()
221-
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x) vClearInterruptMaskFromISR( x )
222-
#define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" )
223-
#define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" )
222+
#define portSET_INTERRUPT_MASK_FROM_ISR() ulSetInterruptMask()
223+
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x) vClearInterruptMask( x )
224+
#define portDISABLE_INTERRUPTS() ulSetInterruptMask()
225+
#define portENABLE_INTERRUPTS() vClearInterruptMask( 0 )
224226
#define portENTER_CRITICAL() vPortEnterCritical()
225227
#define portEXIT_CRITICAL() vPortExitCritical()
226228
/*-----------------------------------------------------------*/

FreeRTOS/Source/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portasm.s

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
PUBLIC vRestoreContextOfFirstTask
3939
PUBLIC vRaisePrivilege
4040
PUBLIC vStartFirstTask
41-
PUBLIC ulSetInterruptMaskFromISR
42-
PUBLIC vClearInterruptMaskFromISR
41+
PUBLIC ulSetInterruptMask
42+
PUBLIC vClearInterruptMask
4343
PUBLIC PendSV_Handler
4444
PUBLIC SVC_Handler
4545
PUBLIC vPortFreeSecureContext
@@ -181,13 +181,13 @@ vStartFirstTask:
181181
svc 2 /* System call to start the first task. portSVC_START_SCHEDULER = 2. */
182182
/*-----------------------------------------------------------*/
183183

184-
ulSetInterruptMaskFromISR:
184+
ulSetInterruptMask:
185185
mrs r0, PRIMASK
186186
cpsid i
187187
bx lr
188188
/*-----------------------------------------------------------*/
189189

190-
vClearInterruptMaskFromISR:
190+
vClearInterruptMask:
191191
msr PRIMASK, r0
192192
bx lr
193193
/*-----------------------------------------------------------*/

0 commit comments

Comments
 (0)