Added specification for enabling and disabling interrupts.

This commit is contained in:
Tobias Reinhard 2022-11-04 15:49:24 -04:00
parent 66d71c5b47
commit 8897e3fe6e
3 changed files with 54 additions and 26 deletions

View file

@ -1323,7 +1323,7 @@ static void prvYieldForTask( TCB_t * pxTCB,
// We assume that macro `configMAX_TASK_NAME_LEN` evaluates to 16.
chars(pcName, 16, _) &*&
*pxCreatedTask |-> _ &*&
interruptsOn_p(_) &*&
interruptState_p(_) &*&
unprotectedGlobalVars();
@*/
//@ ensures true;
@ -1869,7 +1869,7 @@ static void prvInitialiseNewTask( TaskFunction_t pxTaskCode,
/*-----------------------------------------------------------*/
static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
/*@ requires interruptsOn_p(_) &*&
/*@ requires interruptState_p(_) &*&
unprotectedGlobalVars();
@*/
/*@ ensures true;
@ -5277,6 +5277,8 @@ static void prvResetNextTaskUnblockTime( void )
#if ( ( INCLUDE_xTaskGetCurrentTaskHandle == 1 ) || ( configUSE_MUTEXES == 1 ) )
TaskHandle_t xTaskGetCurrentTaskHandle( void )
//@ requires interruptState_p(?irpState);
//@ ensures interruptState_p(irpState) &*& false;
{
TaskHandle_t xReturn;
uint32_t ulState;
@ -5653,7 +5655,7 @@ void vTaskYieldWithinAPI( void )
#if ( portCRITICAL_NESTING_IN_TCB == 1 )
void vTaskEnterCritical( void )
//@ requires interruptsOn_p(_) &*& unprotectedGlobalVars();
//@ requires interruptState_p(_) &*& unprotectedGlobalVars();
//@ ensures false;
{
portDISABLE_INTERRUPTS();