mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-09-10 08:07:46 -04:00
Merge branch 'main' into blocking_buffer
This commit is contained in:
commit
8663dd740f
3 changed files with 12 additions and 10 deletions
|
@ -138,7 +138,7 @@ definitions. */
|
|||
* for the function is as per the other ports:
|
||||
* StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters );
|
||||
*
|
||||
* As per the standard RISC-V ABI pxTopcOfStack is passed in in a0, pxCode in
|
||||
* As per the standard RISC-V ABI pxTopOfStack is passed in in a0, pxCode in
|
||||
* a1, and pvParameters in a2. The new top of stack is passed out in a0.
|
||||
*
|
||||
* RISC-V maps registers to ABI names as follows (X1 to X31 integer registers
|
||||
|
@ -158,7 +158,7 @@ definitions. */
|
|||
* x18-27 s2-11 Saved registers Callee
|
||||
* x28-31 t3-6 Temporaries Caller
|
||||
*
|
||||
* The RISC-V context is saved t FreeRTOS tasks in the following stack frame,
|
||||
* The RISC-V context is saved to FreeRTOS tasks in the following stack frame,
|
||||
* where the global and thread pointers are currently assumed to be constant so
|
||||
* are not saved:
|
||||
*
|
||||
|
|
|
@ -147,7 +147,7 @@ portUPDATE_MTIMER_COMPARE_REGISTER MACRO
|
|||
* for the function is as per the other ports:
|
||||
* StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters );
|
||||
*
|
||||
* As per the standard RISC-V ABI pxTopcOfStack is passed in in a0, pxCode in
|
||||
* As per the standard RISC-V ABI pxTopOfStack is passed in in a0, pxCode in
|
||||
* a1, and pvParameters in a2. The new top of stack is passed out in a0.
|
||||
*
|
||||
* RISC-V maps registers to ABI names as follows (X1 to X31 integer registers
|
||||
|
@ -167,7 +167,7 @@ portUPDATE_MTIMER_COMPARE_REGISTER MACRO
|
|||
* x18-27 s2-11 Saved registers Callee
|
||||
* x28-31 t3-6 Temporaries Caller
|
||||
*
|
||||
* The RISC-V context is saved t FreeRTOS tasks in the following stack frame,
|
||||
* The RISC-V context is saved to FreeRTOS tasks in the following stack frame,
|
||||
* where the global and thread pointers are currently assumed to be constant so
|
||||
* are not saved:
|
||||
*
|
||||
|
|
14
tasks.c
14
tasks.c
|
@ -985,6 +985,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
|
|||
UBaseType_t uxCurrentPriority = uxTopReadyPriority;
|
||||
BaseType_t xTaskScheduled = pdFALSE;
|
||||
BaseType_t xDecrementTopPriority = pdTRUE;
|
||||
TCB_t * pxTCB = NULL;
|
||||
|
||||
#if ( configUSE_CORE_AFFINITY == 1 )
|
||||
const TCB_t * pxPreviousTCB = NULL;
|
||||
|
@ -1043,7 +1044,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
|
|||
/* MISRA Ref 11.5.3 [Void pointer assignment] */
|
||||
/* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */
|
||||
/* coverity[misra_c_2012_rule_11_5_violation] */
|
||||
TCB_t * pxTCB = ( TCB_t * ) listGET_LIST_ITEM_OWNER( pxIterator );
|
||||
pxTCB = ( TCB_t * ) listGET_LIST_ITEM_OWNER( pxIterator );
|
||||
|
||||
#if ( configRUN_MULTIPLE_PRIORITIES == 0 )
|
||||
{
|
||||
|
@ -3830,9 +3831,6 @@ void vTaskSuspendAll( void )
|
|||
|
||||
if( xSchedulerRunning != pdFALSE )
|
||||
{
|
||||
/* This must never be called from inside a critical section. */
|
||||
configASSERT( portGET_CRITICAL_NESTING_COUNT() == 0 );
|
||||
|
||||
/* Writes to uxSchedulerSuspended must be protected by both the task AND ISR locks.
|
||||
* We must disable interrupts before we grab the locks in the event that this task is
|
||||
* interrupted and switches context before incrementing uxSchedulerSuspended.
|
||||
|
@ -3840,6 +3838,9 @@ void vTaskSuspendAll( void )
|
|||
* uxSchedulerSuspended since that will prevent context switches. */
|
||||
ulState = portSET_INTERRUPT_MASK();
|
||||
|
||||
/* This must never be called from inside a critical section. */
|
||||
configASSERT( portGET_CRITICAL_NESTING_COUNT() == 0 );
|
||||
|
||||
/* portSOFRWARE_BARRIER() is only implemented for emulated/simulated ports that
|
||||
* do not otherwise exhibit real time behaviour. */
|
||||
portSOFTWARE_BARRIER();
|
||||
|
@ -4181,6 +4182,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery )
|
|||
const char pcNameToQuery[] )
|
||||
{
|
||||
TCB_t * pxReturn = NULL;
|
||||
TCB_t * pxTCB = NULL;
|
||||
UBaseType_t x;
|
||||
char cNextChar;
|
||||
BaseType_t xBreakLoop;
|
||||
|
@ -4196,7 +4198,7 @@ char * pcTaskGetName( TaskHandle_t xTaskToQuery )
|
|||
/* MISRA Ref 11.5.3 [Void pointer assignment] */
|
||||
/* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-115 */
|
||||
/* coverity[misra_c_2012_rule_11_5_violation] */
|
||||
TCB_t * pxTCB = listGET_LIST_ITEM_OWNER( pxIterator );
|
||||
pxTCB = listGET_LIST_ITEM_OWNER( pxIterator );
|
||||
|
||||
/* Check each character in the name looking for a match or
|
||||
* mismatch. */
|
||||
|
@ -6255,10 +6257,10 @@ static void prvCheckTasksWaitingTermination( void )
|
|||
List_t * pxList,
|
||||
eTaskState eState )
|
||||
{
|
||||
configLIST_VOLATILE TCB_t * pxTCB;
|
||||
UBaseType_t uxTask = 0;
|
||||
const ListItem_t * pxEndMarker = listGET_END_MARKER( pxList );
|
||||
ListItem_t * pxIterator;
|
||||
TCB_t * pxTCB = NULL;
|
||||
|
||||
if( listCURRENT_LIST_LENGTH( pxList ) > ( UBaseType_t ) 0 )
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue