FreeRTOS-Kernel/FreeRTOS/Test/CBMC/proofs/Task/TaskStartScheduler
chinglee-iot d3575643b8
Update for kernel idle task unit test (#1096)
* Update unit test to cover idle task name longer than configMAX_TASK_NAME_LEN
* Update community supported demo submodule pointer
* Update kernel submodule pointer
* Update CBMC test

---------

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>
2023-10-12 12:53:52 +08:00
..
cbmc-viewer.json Add CBMC viewer configuration files (#683) 2021-09-13 21:23:35 -04:00
Makefile.json Update for kernel idle task unit test (#1096) 2023-10-12 12:53:52 +08:00
README.md Copying CBMC proofs from aws/amazon-freertos repo ./tools/cbmc to this repo ./FreeRTOS/Test/CBMC as is. 2020-03-31 14:21:53 -07:00
tasks_test_access_functions.h Use CI-CD-Github-Actions for spelling and formatting, add in the bot formatting action, update the CI-CD workflow files. Fix incorrect spelling and formatting on files. (#1083) 2023-09-06 12:35:37 -07:00
TaskStartScheduler_harness.c Use CI-CD-Github-Actions for spelling and formatting, add in the bot formatting action, update the CI-CD workflow files. Fix incorrect spelling and formatting on files. (#1083) 2023-09-06 12:35:37 -07:00

This proof demonstrates the memory safety of the TaskStartScheduler function. We assume that buffers for pxIdleTaskTCB and pxTimerTaskTCB (and their associated stacks pxIdleTaskStack and pxTimerTaskStack) have been previously allocated. The arguments passed by reference to vApplicationGetIdleTaskMemory and vApplicationGetTimerTaskMemory are assigned to these pointers since both functions expect statically-allocated buffers to be passed.

This proof is a work-in-progress. Proof assumptions are described in the harness. The proof also assumes the following functions are memory safe and have no side effects relevant to the memory safety of this function:

  • pxPortInitialiseStack
  • vConfigureTimerForRunTimeStats
  • vPortEnterCritical
  • vPortExitCritical
  • xPortStartScheduler