FreeRTOS-Kernel/FreeRTOS/Test/CBMC/proofs/Task/TaskResumeAll
Carl Lundin d0d633a524
Reintroduce quarantined CBMC test (#516)
This CBMC test would go over the memory limit of most hosts, causing the
kernel to kill the process. With larger memory capabilities, this can be
re-enabled.
2021-04-07 12:26:03 -07:00
..
Configurations.json Reintroduce quarantined CBMC test (#516) 2021-04-07 12:26:03 -07: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
TaskResumeAll_harness.c 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 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

This proof demonstrates the memory safety of the TaskResumeAll function. We assume that task lists are initialized and filled with a few list items. We also assume that some global variables are set to a nondeterministic value, except for uxSchedulerSuspended which cannot be 0 and xPendedTicks which is either 1 (to unwind a loop in a reasonable amount of time) or 0.

Configurations available:

  • default: The default configuration.
  • useTickHook1: The default configuration with configUSE_TICK_HOOK=1

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:

  • vApplicationTickHook
  • vPortEnterCritical
  • vPortExitCritical
  • vPortGenerateSimulatedInterrupt