mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-12-06 21:25:00 -05:00
feat(freertos-smp): Reintroduce Light Weight Critical Sections
This commit is contained in:
parent
fbd37a219e
commit
f46aaa7a2b
3 changed files with 134 additions and 0 deletions
|
|
@ -2966,6 +2966,10 @@
|
|||
#error configUSE_PORT_OPTIMISED_TASK_SELECTION is not supported in SMP FreeRTOS
|
||||
#endif
|
||||
|
||||
#ifndef configLIGHTWEIGHT_CRITICAL_SECTION
|
||||
#define configLIGHTWEIGHT_CRITICAL_SECTION 0
|
||||
#endif
|
||||
|
||||
#ifndef configINITIAL_TICK_COUNT
|
||||
#define configINITIAL_TICK_COUNT 0
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -3933,6 +3933,22 @@ void vTaskInternalSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNC
|
|||
void vTaskExitCriticalFromISR( UBaseType_t uxSavedInterruptStatus );
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This function is only intended for use when disabling or enabling preemption of a task.
|
||||
* This function takes only the kernel ISR lock, not the task lock.
|
||||
*/
|
||||
#if ( configLIGHTWEIGHT_CRITICAL_SECTION == 1 )
|
||||
void vKernelLightWeightEnterCritical( void );
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This function is only intended for use when disabling or enabling preemption of a task.
|
||||
* This function releases only the kernel ISR lock, not the task lock.
|
||||
*/
|
||||
#if ( configLIGHTWEIGHT_CRITICAL_SECTION == 1 )
|
||||
void vKernelLightWeightExitCritical( void );
|
||||
#endif
|
||||
|
||||
#if ( portUSING_MPU_WRAPPERS == 1 )
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue