mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-10-18 18:57:46 -04:00
Bring in the patches from FreeRTOS dir to FreeRTOS-Plus (#306)
* MISRA v5 * Update patches in FreeRTOS-Plus to match those in FreeRTOS
This commit is contained in:
parent
6cc5310f38
commit
a8290734d8
4 changed files with 63 additions and 46 deletions
|
@ -45,16 +45,16 @@ diff --git a/FreeRTOS/Source/tasks.c b/FreeRTOS/Source/tasks.c
|
||||||
index ff657733..8b57d198 100644
|
index ff657733..8b57d198 100644
|
||||||
--- a/FreeRTOS/Source/tasks.c
|
--- a/FreeRTOS/Source/tasks.c
|
||||||
+++ b/FreeRTOS/Source/tasks.c
|
+++ b/FreeRTOS/Source/tasks.c
|
||||||
@@ -331,7 +331,7 @@ typedef tskTCB TCB_t;
|
@@ -335,7 +335,7 @@ typedef tskTCB TCB_t;
|
||||||
|
|
||||||
/*lint -save -e956 A manual analysis and inspection has been used to determine
|
/*lint -save -e956 A manual analysis and inspection has been used to determine
|
||||||
which static variables must be declared volatile. */
|
* which static variables must be declared volatile. */
|
||||||
-PRIVILEGED_DATA TCB_t * volatile pxCurrentTCB = NULL;
|
-PRIVILEGED_DATA TCB_t * volatile pxCurrentTCB = NULL;
|
||||||
+PRIVILEGED_DATA TCB_t * pxCurrentTCB = NULL;
|
+PRIVILEGED_DATA TCB_t * pxCurrentTCB = NULL;
|
||||||
|
|
||||||
/* Lists for ready and blocked tasks. --------------------
|
/* Lists for ready and blocked tasks. --------------------
|
||||||
xDelayedTaskList1 and xDelayedTaskList2 could be move to function scople but
|
* xDelayedTaskList1 and xDelayedTaskList2 could be move to function scople but
|
||||||
@@ -340,8 +340,8 @@ the static qualifier. */
|
@@ -344,8 +344,8 @@ PRIVILEGED_DATA TCB_t * volatile pxCurrentTCB = NULL;
|
||||||
PRIVILEGED_DATA static List_t pxReadyTasksLists[ configMAX_PRIORITIES ]; /*< Prioritised ready tasks. */
|
PRIVILEGED_DATA static List_t pxReadyTasksLists[ configMAX_PRIORITIES ]; /*< Prioritised ready tasks. */
|
||||||
PRIVILEGED_DATA static List_t xDelayedTaskList1; /*< Delayed tasks. */
|
PRIVILEGED_DATA static List_t xDelayedTaskList1; /*< Delayed tasks. */
|
||||||
PRIVILEGED_DATA static List_t xDelayedTaskList2; /*< Delayed tasks (two lists are used - one for delays that have overflowed the current tick count. */
|
PRIVILEGED_DATA static List_t xDelayedTaskList2; /*< Delayed tasks (two lists are used - one for delays that have overflowed the current tick count. */
|
||||||
|
@ -65,10 +65,7 @@ index ff657733..8b57d198 100644
|
||||||
PRIVILEGED_DATA static List_t xPendingReadyList; /*< Tasks that have been readied while the scheduler was suspended. They will be moved to the ready list when the scheduler is resumed. */
|
PRIVILEGED_DATA static List_t xPendingReadyList; /*< Tasks that have been readied while the scheduler was suspended. They will be moved to the ready list when the scheduler is resumed. */
|
||||||
|
|
||||||
#if ( INCLUDE_vTaskDelete == 1 )
|
#if ( INCLUDE_vTaskDelete == 1 )
|
||||||
@@ -368,10 +368,10 @@ PRIVILEGED_DATA static volatile UBaseType_t uxCurrentNumberOfTasks = ( UBaseTyp
|
@@ -372,7 +372,7 @@ PRIVILEGED_DATA static volatile UBaseType_t uxCurrentNumberOfTasks = ( UBaseType
|
||||||
|
|
||||||
/* Other file private variables. --------------------------------*/
|
|
||||||
PRIVILEGED_DATA static volatile UBaseType_t uxCurrentNumberOfTasks = ( UBaseType_t ) 0U;
|
|
||||||
PRIVILEGED_DATA static volatile TickType_t xTickCount = ( TickType_t ) configINITIAL_TICK_COUNT;
|
PRIVILEGED_DATA static volatile TickType_t xTickCount = ( TickType_t ) configINITIAL_TICK_COUNT;
|
||||||
PRIVILEGED_DATA static volatile UBaseType_t uxTopReadyPriority = tskIDLE_PRIORITY;
|
PRIVILEGED_DATA static volatile UBaseType_t uxTopReadyPriority = tskIDLE_PRIORITY;
|
||||||
PRIVILEGED_DATA static volatile BaseType_t xSchedulerRunning = pdFALSE;
|
PRIVILEGED_DATA static volatile BaseType_t xSchedulerRunning = pdFALSE;
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
diff --git a/FreeRTOS/Source/queue.c b/FreeRTOS/Source/queue.c
|
diff --git a/FreeRTOS/Source/queue.c b/FreeRTOS/Source/queue.c
|
||||||
index df2b9c8c..c2265c26 100644
|
index edd08b26e..8fa137c9b 100644
|
||||||
--- a/FreeRTOS/Source/queue.c
|
--- a/FreeRTOS/Source/queue.c
|
||||||
+++ b/FreeRTOS/Source/queue.c
|
+++ b/FreeRTOS/Source/queue.c
|
||||||
@@ -105,7 +105,7 @@ static BaseType_t prvIsQueueFull( const Queue_t *pxQueue ) PRIVILEGED_FUNCTION;
|
@@ -191,7 +191,7 @@ static BaseType_t prvIsQueueFull( const Queue_t * pxQueue ) PRIVILEGED_FUNCTION;
|
||||||
* Copies an item into the queue, either at the front of the queue or the
|
* Copies an item into the queue, either at the front of the queue or the
|
||||||
* back of the queue.
|
* back of the queue.
|
||||||
*/
|
*/
|
||||||
-static BaseType_t prvCopyDataToQueue( Queue_t * const pxQueue, const void *pvItemToQueue, const BaseType_t xPosition ) PRIVILEGED_FUNCTION;
|
-static BaseType_t prvCopyDataToQueue( Queue_t * const pxQueue,
|
||||||
+BaseType_t prvCopyDataToQueue( Queue_t * const pxQueue, const void *pvItemToQueue, const BaseType_t xPosition ) PRIVILEGED_FUNCTION;
|
+BaseType_t prvCopyDataToQueue( Queue_t * const pxQueue,
|
||||||
|
const void * pvItemToQueue,
|
||||||
|
const BaseType_t xPosition ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/*
|
@@ -2120,7 +2120,7 @@ void vQueueDelete( QueueHandle_t xQueue )
|
||||||
* Copies an item out of a queue.
|
|
||||||
@@ -1985,7 +1985,7 @@ Queue_t * const pxQueue = xQueue;
|
|
||||||
#endif /* configUSE_MUTEXES */
|
#endif /* configUSE_MUTEXES */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
-static BaseType_t prvCopyDataToQueue( Queue_t * const pxQueue, const void *pvItemToQueue, const BaseType_t xPosition )
|
-static BaseType_t prvCopyDataToQueue( Queue_t * const pxQueue,
|
||||||
+BaseType_t prvCopyDataToQueue( Queue_t * const pxQueue, const void *pvItemToQueue, const BaseType_t xPosition )
|
+BaseType_t prvCopyDataToQueue( Queue_t * const pxQueue,
|
||||||
|
const void * pvItemToQueue,
|
||||||
|
const BaseType_t xPosition )
|
||||||
{
|
{
|
||||||
BaseType_t xReturn = pdFALSE;
|
|
||||||
UBaseType_t uxMessagesWaiting;
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ index 17a6964e..24a40c29 100644
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -2887,7 +2887,7 @@ Queue_t * const pxQueue = xQueue;
|
@@ -2957,7 +2957,7 @@ BaseType_t xQueueIsQueueFullFromISR( const QueueHandle_t xQueue )
|
||||||
|
|
||||||
#if ( configUSE_QUEUE_SETS == 1 )
|
#if ( configUSE_QUEUE_SETS == 1 )
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
diff --git a/FreeRTOS/Source/queue.c b/FreeRTOS/Source/queue.c
|
||||||
|
index edd08b26e..259c609f4 100644
|
||||||
|
--- a/FreeRTOS/Source/queue.c
|
||||||
|
+++ b/FreeRTOS/Source/queue.c
|
||||||
|
@@ -394,8 +394,13 @@ BaseType_t xQueueGenericReset( QueueHandle_t xQueue,
|
||||||
|
* zero in the case the queue is used as a semaphore. */
|
||||||
|
xQueueSizeInBytes = ( size_t ) ( uxQueueLength * uxItemSize ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */
|
||||||
|
|
||||||
|
- /* Check for multiplication overflow. */
|
||||||
|
- configASSERT( ( uxItemSize == 0 ) || ( uxQueueLength == ( xQueueSizeInBytes / uxItemSize ) ) );
|
||||||
|
+ /*
|
||||||
|
+ * Multiplication overflow check is commented out in CBMC test as it involves an
|
||||||
|
+ * expensive division operation and consumes longer compute time against a wide
|
||||||
|
+ * range of input combination in CBMC proof.
|
||||||
|
+ *
|
||||||
|
+ * configASSERT( ( uxItemSize == 0 ) || ( uxQueueLength == ( xQueueSizeInBytes / uxItemSize ) ) );
|
||||||
|
+ */
|
||||||
|
|
||||||
|
/* Allocate the queue and storage area. Justification for MISRA
|
||||||
|
* deviation as follows: pvPortMalloc() always ensures returned memory
|
Loading…
Add table
Add a link
Reference in a new issue