mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-07-05 03:47:15 -04:00
Compare commits
11 commits
7b73d35554
...
d00fdd8313
Author | SHA1 | Date | |
---|---|---|---|
|
d00fdd8313 | ||
|
8eb906d08d | ||
|
6faa6e2463 | ||
|
2f2b7e500a | ||
|
2f58dd59c3 | ||
|
3176808c81 | ||
|
fd5037e7cc | ||
|
7502d940d9 | ||
|
87094b4dc8 | ||
|
ad7e48a7d5 | ||
|
a6d6d1220f |
|
@ -333,7 +333,6 @@ typedef enum
|
|||
portGET_SPINLOCK( xCoreID, ( portSPINLOCK_TYPE * ) &( ( pxDataGroup )->xISRSpinlock ) ); \
|
||||
/* Increment the critical nesting count */ \
|
||||
portINCREMENT_CRITICAL_NESTING_COUNT( xCoreID ); \
|
||||
/* Return the previous interrupt status */ \
|
||||
uxSavedInterruptStatus; \
|
||||
} )
|
||||
#endif /* #if ( portUSING_GRANULAR_LOCKS == 1 ) */
|
||||
|
@ -351,7 +350,6 @@ typedef enum
|
|||
do { \
|
||||
const BaseType_t xCoreID = ( BaseType_t ) portGET_CORE_ID(); \
|
||||
configASSERT( portGET_CRITICAL_NESTING_COUNT( xCoreID ) > 0U ); \
|
||||
/* Decrement the critical nesting count */ \
|
||||
portDECREMENT_CRITICAL_NESTING_COUNT( xCoreID ); \
|
||||
if( portGET_CRITICAL_NESTING_COUNT( xCoreID ) == 0 ) \
|
||||
{ \
|
||||
|
@ -384,9 +382,7 @@ typedef enum
|
|||
do { \
|
||||
const BaseType_t xCoreID = ( BaseType_t ) portGET_CORE_ID(); \
|
||||
configASSERT( portGET_CRITICAL_NESTING_COUNT( xCoreID ) > 0U ); \
|
||||
/* Decrement the critical nesting count */ \
|
||||
portDECREMENT_CRITICAL_NESTING_COUNT( xCoreID ); \
|
||||
/* Release the ISR spinlock */ \
|
||||
portRELEASE_SPINLOCK( xCoreID, ( portSPINLOCK_TYPE * ) &( pxDataGroup->xISRSpinlock ) ); \
|
||||
if( portGET_CRITICAL_NESTING_COUNT( xCoreID ) == 0 ) \
|
||||
{ \
|
||||
|
|
8
queue.c
8
queue.c
|
@ -339,14 +339,6 @@ static void prvInitialiseNewQueue( const UBaseType_t uxQueueLength,
|
|||
prvUnlockQueue( ( pxQueue ) ); \
|
||||
portRELEASE_SPINLOCK( portGET_CORE_ID(), &( pxQueue->xTaskSpinlock ) ); \
|
||||
vTaskPreemptionEnable( NULL ); \
|
||||
if( ( xYieldAPI ) == pdTRUE ) \
|
||||
{ \
|
||||
taskYIELD_WITHIN_API(); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
mtCOVERAGE_TEST_MARKER(); \
|
||||
} \
|
||||
} while( 0 )
|
||||
#else /* #if ( ( portUSING_GRANULAR_LOCKS == 1 ) && ( configNUMBER_OF_CORES > 1 ) ) */
|
||||
#define queueLOCK( pxQueue ) \
|
||||
|
|
16
tasks.c
16
tasks.c
|
@ -5406,13 +5406,11 @@ BaseType_t xTaskIncrementTick( void )
|
|||
* SMP port. */
|
||||
configASSERT( portGET_CRITICAL_NESTING_COUNT( xCoreID ) == 0 );
|
||||
|
||||
/* vTaskSwitchContext() must not be called with a task that has
|
||||
* preemption disabled. */
|
||||
#if ( configUSE_TASK_PREEMPTION_DISABLE == 1 )
|
||||
configASSERT( pxCurrentTCBs[ xCoreID ]->xPreemptionDisable == 0U );
|
||||
#endif
|
||||
|
||||
if( uxSchedulerSuspended != ( UBaseType_t ) 0U )
|
||||
if( uxSchedulerSuspended != ( UBaseType_t ) 0U
|
||||
#if ( configUSE_TASK_PREEMPTION_DISABLE == 1 )
|
||||
|| ( ( taskTASK_IS_RUNNING( pxCurrentTCBs[ xCoreID ] ) ) && ( pxCurrentTCBs[ xCoreID ]->xPreemptionDisable > 0U ) )
|
||||
#endif
|
||||
)
|
||||
{
|
||||
/* The scheduler is currently suspended or the task
|
||||
* has requested to not be preempted - do not allow
|
||||
|
@ -7500,11 +7498,11 @@ static void prvResetNextTaskUnblockTime( void )
|
|||
BaseType_t xYieldCurrentTask;
|
||||
|
||||
/* Get the xYieldPending stats inside the critical section. */
|
||||
#if ( portUSING_GRANULAR_LOCKS == 1 )
|
||||
#if ( configUSE_TASK_PREEMPTION_DISABLE == 1 )
|
||||
xYieldCurrentTask = xTaskUnlockCanYield();
|
||||
#else
|
||||
xYieldCurrentTask = xYieldPendings[ xCoreID ];
|
||||
#endif /* #if ( portUSING_GRANULAR_LOCKS == 1 ) */
|
||||
#endif /* configUSE_TASK_PREEMPTION_DISABLE */
|
||||
|
||||
kernelRELEASE_ISR_LOCK( xCoreID );
|
||||
kernelRELEASE_TASK_LOCK( xCoreID );
|
||||
|
|
Loading…
Reference in a new issue